スキーマ関連付け
スキーマ関連付けクエリでは、データ関連付けクエリで使用されるものと同じステートメントが使用されます。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
次の例は、Protocol クラスと Driver クラスを返すクエリを示しています。この 2 つのクラスはソース クラスを参照します。
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