ThingWorx Modelldefinition in Composer > Modellierung > Code-Snippets > QueryImplementingThingsWithNamedData
QueryImplementingThingsWithNamedData
Beschreibung
Sie können diesen Dienst verwenden, um die Dinge abzufragen, die die Dingvorlage oder Dingform implementieren, auf der der Dienst ausgeführt wird. Die Eigenschaftsnamen werden als Eingabeparameter übergeben (basicPropertyNames und propertyNames). Das Ergebnis ist eine Infotable, die die Dinge enthält, die die Dingvorlage oder Dingform implementieren, sowie die Eigenschaftswerte der Dingvorlage oder Dingform, für die die Abfrage ausgeführt wird.
Eingabe
Parametername
Beschreibung
Basistyp
maxItems
Die maximale Anzahl der im Ergebnissatz zurückzugebenden Elemente. Der Standardwert ist 500. Dieser Parameter wird angewendet, nachdem alle anderen Filter angewendet wurden.
NUMBER
tags
Die Modell-Tags, die der Quelle dieses Eintrags zugeordnet sind.
TAGS
nameMask
Das Namensmuster für die Entitäten, die die Dingvorlage oder Dingform implementieren.
STRING
query
Die Abfragekriterien, die zum Filtern von Daten verwendet werden.
Filter können nur für die effektiven Eigenschaften der Dingvorlage oder Dingform geschrieben werden, auf der der Dienst ausgeführt wird.
Weitere Informationen finden Sie unter Abfrageparameter für Abfragedienste.
QUERY
basicPropertyNames
Eine Infotable, die eine Liste der grundlegenden Eigenschaften wie isSystemObject, Name, Beschreibung, homeMashup, Avatar und Tags enthält.
Der erwartete Data Shape für die Infotable ist EntityList.
INFOTABLE
propertyNames
Eine Infotable, die eine Liste bestimmter Eigenschaften der Dingvorlage oder Dingform enthält.
Der erwartete Data Shape für die Infotable ist EntityList.
INFOTABLE
Ausgabe
Parametername
Beschreibung
Basistyp
result
Gibt eine Infotable zurück, die die Liste der Dinge enthält, die die Dingvorlage oder Dingform implementieren, und die angeforderten Eigenschaften der Dingvorlage oder Dingform und ihre Werte.
INFOTABLE
Beispiel
Im folgenden Beispiel hat TestStream einen Data Shape mit den Feldern Property1, Property2 und Property3.
Entität
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
Definiert
-
-
ThingShape2
-
-
-
ThingShape2
-
-
Definiert
Entität
Eltern-Vorlage
Prop1
Prop2
Prop3
Prop4
Implementierte Form
Effektive Eigenschaften
Template1
Definiert
-
-
-
ThingShape1
Prop1, ShapeProp1
Template2
Template1
Geerbt von Template1
Definiert
-
-
ThingShape2
Prop1,
Prop2,
ShapeProp1,
ShapeProp2
Template3
Template2
Geerbt von Template2
Geerbt von Template2
Definiert
-
Prop1,
Prop2,
Prop3,
ShapePropy1,
ShapeProp2
Template4
Template2
Geerbt von Template2
Geerbt von Template2
-
Definiert
ThingShape4
Prop1,
Prop2,
Prop4,
ShapeProp1,
ShapeProp2,
ShapeProp4
Entität
Implementiert
Modell-Tags
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
Das folgende Beispiel zeigt eine Abfrage zum Implementieren von Dingen mit Daten unter Verwendung der unterstützten Parameter. Dieser API-Aufruf gibt eine Infotable zurück, die die angeforderten grundlegenden Eigenschaften und andere Eigenschaften aus der Dingvorlage oder Dingform enthält, die den Eingabeparametern entsprechen.
Nachdem Sie die folgende Abfrage ausgeführt haben, enthält die resultierende Infotable Name, Beschreibung, Tags, Prop1 und 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
});
Nachdem Sie die folgende Abfrage ausgeführt haben, enthält die resultierende Infotable Name, Beschreibung, Tags und 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
});
War dies hilfreich?