Composer 中的 ThingWorx 模型定義 > 建模 > 程式碼片段 > QueryImplementingThingsWithNamedData
QueryImplementingThingsWithNamedData
描述
您可以使用此服務來查詢實行對其執行服務之物範本或物形式的物件。內容名稱會作為輸入參數 (basicPropertyNamespropertyNames) 傳遞。結果是資料負載,其中包含實行物範本或物形式的物件,以及對其執行查詢之物範本或物形式的內容值。
輸入
參數名稱
描述
基礎類型
maxItems
要在結果集中傳回的最大項目數。預設值為 500。此參數會在套用其他所有篩選器之後套用。
NUMBER
tags
與此項目的來源相關聯的模型標籤。
TAGS
nameMask
實行物範本或物形式之實體的名稱模式。
STRING
query
用來篩選資料的查詢條件。
只能為對其執行服務之物範本或物形式的有效內容編寫篩選器。
如需詳細資訊,請參閱查詢服務的查詢參數
QUERY
basicPropertyNames
包含基本內容清單的資料負載,例如,isSystemObject、名稱、描述、homeMashup、頭像和標籤。
資料負載的預期資料形式為 EntityList
INFOTABLE
propertyNames
包含物範本或物形式之特定內容清單的資料負載。
資料負載的預期資料形式為 EntityList
INFOTABLE
輸出
參數名稱
描述
基礎類型
result
傳回資料負載,其中包含實行物範本或物形式的物件清單,以及物範本或物形式的請求內容及其值。
INFOTABLE
範例
在下列範例中,TestStream 具有包含 Property1Property2Property3 欄位的資料形式。
實體
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
已定義
NA
NA
ThingShape2
NA
NA
NA
ThingShape2
NA
NA
已定義
實體
父範本
Prop1
Prop2
Prop3
Prop4
已實行的形式
有效內容
Template1
已定義
NA
NA
NA
ThingShape1
Prop1, ShapeProp1
Template2
Template1
繼承自 Template1
已定義
NA
NA
ThingShape2
Prop1,
Prop2,
ShapeProp1,
ShapeProp2
Template3
Template2
繼承自 Template2
繼承自 Template2
已定義
NA
Prop1,
Prop2,
Prop3,
ShapePropy1,
ShapeProp2
Template4
Template2
繼承自 Template2
繼承自 Template2
NA
已定義
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
SVa3l-2
Thing4
Template4
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm2"}
Val4-1
Val4-2
Val4-4
SVal4-1
SVal3-2
SVal4-4
下列範例顯示使用支援參數查詢具有資料的實行物件。此 API 呼叫會傳回資料負載,其中包含與輸入參數相符之物範本或物形式中的請求基本內容及其他內容。
執行下列查詢之後,產生的資料負載將包含名稱、描述、標籤、Prop1ShapeProp4
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
});
執行下列查詢之後,產生的資料負載將包含名稱、描述、標籤與 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
});
這是否有幫助?