QueryImplementingThingsWithNamedData
説明
このサービスは、サービス実行対象の Thing Template または Thing Shape を実装している Thing をクエリーするときに使用できます。プロパティ名は入力パラメータ (basicPropertyNames および propertyNames) として渡されます。結果は、Thing Template または Thing Shape を実装している Thing と、クエリーが実行された Thing Template または Thing Shape のプロパティ値が含まれているインフォテーブルです。
入力
パラメータ名
説明
ベースタイプ
maxItems
結果セットで返すアイテムの最大数。デフォルト値は 500 です。このパラメータは、その他すべてのフィルタが適用された後で適用されます。
NUMBER
tags
このエントリのソースに関連付けられているモデルタグ。
TAGS
nameMask
Thing Template または Thing Shape を実装しているエンティティの名前パターン。
STRING
query
データのフィルタに使用するクエリー基準。
フィルタは、サービスの実行対象の Thing Template または Thing Shape の有効なプロパティに対してのみ記述できます。
詳細については、クエリーサービス用クエリーパラメータを参照してください。
QUERY
basicPropertyNames
isSystemObject、name、description、homeMashup、avatar、tags などの基本プロパティのリストが含まれているインフォテーブル。
インフォテーブルに必要なデータシェイプは EntityList です。
INFOTABLE
propertyNames
Thing Template または Thing Shape の特定のプロパティのリストが含まれているインフォテーブル。
インフォテーブルに必要なデータシェイプは EntityList です。
INFOTABLE
出力
パラメータ名
説明
ベースタイプ
result
Thing Template または Thing Shape を実装している Thing のリストと、Thing Template または Thing Shape のリクエストされたプロパティとその値が含まれているインフォテーブルを返します。
INFOTABLE
次の例では、TestStream には Property1Property2、および Property3 フィールドから成るデータシェイプがあります。
エンティティ
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
定義済み
該当なし
該当なし
ThingShape2
該当なし
該当なし
該当なし
ThingShape2
該当なし
該当なし
定義済み
エンティティ
親テンプレート
Prop1
Prop2
Prop3
Prop4
実装されたシェイプ
有効なプロパティ
Template1
定義済み
該当なし
該当なし
該当なし
ThingShape1
Prop1ShapeProp1
Template2
Template1
Template1 から継承
定義済み
該当なし
該当なし
ThingShape2
Prop1
Prop2
ShapeProp1
ShapeProp2
Template3
Template2
Template2 から継承
Template2 から継承
定義済み
該当なし
Prop1
Prop2
Prop3
ShapePropy1
ShapeProp2
Template4
Template2
Template2 から継承
Template2 から継承
該当なし
定義済み
ThingShape4
Prop1
Prop2
Prop4
ShapeProp1
ShapeProp2
ShapeProp4
エンティティ
実装
モデルタグ
Prop1
Prop2
Prop3
Prop4
ShapeProp1
ShapeProp2
ShapeProp4
Thing1
Template1
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm1"}
Val1-1
SVal1-1
Thing2
Template2
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm1"}
Val2-1
Val2-2
SVal2-1
SVal2-2
Thing3
Template3
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm1"}
Val3-1
Val3-2
Val3-3
SVal3-1
SVal3-2
Thing4
Template4
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm2"}
Val4-1
Val4-2
Val4-4
SVal4-1
SVal3-2
SVal4-4
次の例は、サポートされているパラメータを使用した、実装している Thing とデータのクエリーを示しています。この API 呼び出しは、入力パラメータと一致する、リクエストされた基本プロパティと、Thing Template または Thing Shape のその他のプロパティが含まれているインフォテーブルを返します。
次のクエリーを実行すると、結果のインフォテーブルには name、description、tags、Prop1、および ShapeProp4 が含まれます。
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
// CreateInfoTableFromDataShape
var basicpropInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var basicProp1 = new Object();
basicProp1.name = "name"; // STRING [Primary Key]
basicProp1.description = undefined; // STRING
var basicProp2 = new Object();
basicProp2.name = "description"; // STRING
basicProp2.description = undefined; // STRING
var basicProp3 = new Object();
basicProp3.name = "tags"; // STRING
basicProp3.description = undefined; // STRING
basicpropInfoTable.AddRow(basicProp1);
basicpropInfoTable.AddRow(basicProp2);
basicpropInfoTable.AddRow(basicProp3);
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var prop1 = new Object();
prop1.name = "Prop1"; // STRING [Primary Key]
prop1.description = undefined; // STRING
var prop2 = new Object();
prop2.name = "ShapeProp4"; // STRING [Primary Key]
prop2.description = undefined; // STRING
propertyNamesInfoTable.AddRow(prop1);
propertyNamesInfoTable.AddRow(prop2);
result = ThingTemplates["Template4"].QueryImplementingThingsWithNamedData({
maxItems: 50 /* NUMBER {"defaultValue":500} */,
nameMask: "T*" /* STRING */,
tags: "MT1:MT1-MTerm1",
query: "{\"filters\":{\"type\": \"LIKE\", \"fieldName\": \"Prop1\", \"value\": \"Val*\" }}",
basicPropertyNames: basicpropInfoTable,
propertyNames: propertyNamesInfoTable
});
次のクエリーを実行すると、結果のインフォテーブルには name、description、tags、および ShapeProp1 が含まれます。
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
// CreateInfoTableFromDataShape
var basicpropInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var basicProp1 = new Object();
basicProp1.name = "name"; // STRING [Primary Key]
basicProp1.description = undefined; // STRING
var basicProp2 = new Object();
basicProp2.name = "description"; // STRING
basicProp2.description = undefined; // STRING
var basicProp3 = new Object();
basicProp3.name = "tags"; // STRING
basicProp3.description = undefined; // STRING
basicpropInfoTable.AddRow(basicProp1);
basicpropInfoTable.AddRow(basicProp2);
basicpropInfoTable.AddRow(basicProp3);
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var prop1 = new Object();
prop1.name = "ShapeProp1"; // STRING [Primary Key]
prop1.description = undefined; // STRING
propertyNamesInfoTable.AddRow(prop1);
result = ThingShapes["ThingShape1"].QueryImplementingThingsWithNamedData({
maxItems: 50 /* NUMBER {"defaultValue":500} */,
nameMask: "T*" /* STRING */,
tags: "MT1:MT1-MTerm1",
query: "{\"filters\":{\"type\": \"LIKE\", \"fieldName\": \"ShapeProp1\", \"value\": \"S*al*\" }}",
basicPropertyNames: basicpropInfoTable,
propertyNames: propertyNamesInfoTable
});
これは役に立ちましたか?