Schema Associations

Schema association queries use the same statements as are used in data association queries: ASSOCIATORS OF and REFERENCES OF. However, with data association queries, class instances are returned, and with schema association queries, names of classes that can participate in association relationships are returned. For example, use a schema query to find all of the association classes defined in the schema that reference a source class.

The syntax for the ASSOCIATORS OF and REFERENCES OF statements is the same for schema association queries as it is for data association queries with the following exceptions:

  • The source object is a class rather than an instance.
  • There is an additional keyword, SchemaOnly, which identifies the query as applying to a schema rather than to data.
  • The ClassDefsOnly keyword is not valid.

The following example shows the complete syntax of the ASSOCIATORS OF statement for a schema query. For detailed syntax, see ASSOCIATORS OF Statement.

ASSOCIATORS OF {SourceClass} WHERE 
    AssocClass = AssocClassName
    RequiredAssocQualifier = QualifierName
    RequiredQualifier = QualifierName
    ResultClass = ClassName
    ResultRole = PropertyName
    Role = PropertyName
    SchemaOnly

The following example shows a query that returns the Protocol and Driver classes, the two classes that refer to the source class.

ASSOCIATORS OF {Adapter} WHERE SchemaOnly

The following query returns only the Driver class because of the restriction placed by the AssocClass keyword.

ASSOCIATORS OF {Adapter} WHERE AssocClass = AdapterDriver SchemaOnly

The complete syntax of the REFERENCES OF statement for a schema query is as follows. For detailed syntax, see REFERENCES OF Statement.

REFERENCES OF {SourceClass} WHERE
    ResultClass = ClassName
    Role = PropertyName
    RequiredQualifier = QualifierName
    SchemaOnly

Note

Schema association queries may return duplicate objects.

 

For example, the following query will return the class CIM_ComputerSystem several times when enumerating classes in the root\cimv2 namespace.

ASSOCIATORS OF {Win32_ComputerSystem} WHERE SchemaOnly