スキーマ関連付け

スキーマ関連付けクエリでは、データ関連付けクエリで使用されるものと同じステートメントが使用されます。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