This example demonstrates the use of RDF Gateway to perform federated queries across static and dynamic data. The static data is housed in a RDF Gateway table and is a cache of relatively static CIM data. The dynamic data is CIM data retrieved on demand from WMI via a scripted RDF Gateway dataservice.
A federated query is effectively a query against the union of the sources (as opposed to just the union of the results of the query run against each source). This means that part of the solution may exist in in one source, part in another, and the solution will be found.
All of RDF Gateway's commands that include a USING clause (e.g. SELECT, INSERT, DELETE) support multiple sources. A data source may be a disk-based table, an in-memory table, or a data service connection to an external source of data. RDF Gateway ships with data services to connect to external files (RDF, XML, HTML, text), relational databases, POP3 & SMTP mail servers, the file system, and Adobe XMP metadata. Additional dataservices can be written to connect to just about any source of data - either as a DLL supporting the open dataservice API, or as a web service.
Setup for this example:
In this example, we will query for all machines that are running a particular application and that have more than a certain amount of RAM. Which applications are running is dynamic data while the amount of installed RAM is static data. A query like this might be run as part of a report in an Asset Management System to determine which machines need memory upgrades.
Source Files