スキーマの関連付け
スキーマ関連付けクエリでは、データ関連付けクエリで使用されるのと同じステートメント (ASSOCIATORS OF および REFERENCES OF) が使用されます。 ただし、データ関連付けクエリではクラス インスタンスが返され、スキーマ関連付けクエリでは、関連付けリレーションシップに参加できるクラスの名前が返されます。 たとえば、スキーマ クエリを使用して、ソース クラスを参照するスキーマで定義されているすべての関連付けクラスを検索します。
ASSOCIATORS OF ステートメントと REFERENCES OF ステートメントの構文は、スキーマ関連付けクエリの場合と、次の例外を除くデータ関連付けクエリの構文と同じです。
- ソース オブジェクトは、インスタンスではなくクラスです。
- SchemaOnly 追加のキーワードがあります。これは、クエリがデータではなくスキーマに適用されていることを識別します。
- ClassDefsOnly キーワードが無効です。
次の例は、スキーマ クエリの ASSOCIATORS OF ステートメントの完全な構文を示しています。 詳細な構文については、ASSOCIATORS OF ステートメントのを参照してください。
ASSOCIATORS OF {SourceClass} WHERE
AssocClass = AssocClassName
RequiredAssocQualifier = QualifierName
RequiredQualifier = QualifierName
ResultClass = ClassName
ResultRole = PropertyName
Role = PropertyName
SchemaOnly
次の例は、ソース クラスを参照する 2 つのクラスである Protocol クラスと Driver クラスを返すクエリを示しています。
ASSOCIATORS OF {Adapter} WHERE SchemaOnly
次のクエリでは、AssocClass キーワードによって制限されているため、Driver クラスのみが返されます。
ASSOCIATORS OF {Adapter} WHERE AssocClass = AdapterDriver SchemaOnly
スキーマ クエリの REFERENCES OF ステートメントの完全な構文は次のとおりです。 詳細な構文については、REFERENCES OF ステートメント を参照してください。
REFERENCES OF {SourceClass} WHERE
ResultClass = ClassName
Role = PropertyName
RequiredQualifier = QualifierName
SchemaOnly
手記
スキーマ関連付けクエリは、重複するオブジェクトを返す場合があります。
たとえば、次のクエリでは、root\cimv2 名前空間のクラスを列挙するときに、クラス CIM_ComputerSystem が複数回返されます。
ASSOCIATORS OF {Win32_ComputerSystem} WHERE SchemaOnly