ThingWorx Modelldefinition in Composer > Modellierung > Code-Snippets > QueryImplementingThingsOptimizedWithTotalCount
QueryImplementingThingsOptimizedWithTotalCount
Beschreibung
Sie können diesen Dienst verwenden, um die Dinge abzufragen, die die Dingvorlage oder Dingform implementieren, auf der der Dienst ausgeführt wird. Das Ergebnis ist eine Infotable, die die Dinge enthält, die die Vorlage oder den Data Shape 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 der 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
withPermissions
Wenn dies "true" ist, werden Berechtigungsinformationen in das Ergebnis eingeschlossen.
BOOLEAN
basicPropertyNames
Eine Infotable, die eine Liste der grundlegenden Eigenschaften enthält, z.B. isSystemObject, Name, Beschreibung, homeMashup, Avatar und Tags.
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. Die angegebenen Eigenschaften müssen für die Dingvorlage oder Dingform definiert sein, auf der der Dienst ausgeführt wird.
Der erwartete Data Shape für die Infotable ist EntityList.
INFOTABLE
networkName
Der Netzwerkname, nach dem gefiltert werden soll. Die Abfrage gibt nur Ergebnisse für Dinge in diesem Netzwerk zurück.
networkParentNode
Der Name des obersten Knotens im Netzwerk, das in networkName angegeben ist. Die Abfrage gibt alle Kinder aus dem angegebenen Eltern-Knoten im Netzwerk zurück.
STRING
networkMaxDepth
Die maximale Tiefe für die Suche im Netzwerk. Die Abfrage gibt die vollständige Kinderhierarchie zurück, wenn dieser Wert auf 0 festgelegt ist. Dies ist die Standardeinstellung.
INTEGER
offset
Die Anzahl der Zeilen, die übersprungen werden müssen, bevor mit der Rückgabe von Zeilen aus der Abfrage begonnen wird. Wenn der Standardwert 0 festgelegt ist, gibt die Abfrage alle Zeilen zurück. Dies kann zum Paginieren der Ergebnisse verwendet werden.
NUMBER
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. Der Data Shape für die Infotable ist ImplementedThingsWithTotalCount.
INFOTABLE
Beispiel
Entität
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
Definiert
-
-
ThingShape2
-
Definiert
-
ThingShape2
-
-
Definiert
Entität
Eltern-Dingvorlage
Prop1
Prop2
Prop3
Prop4
Implementierte Dingform
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
Thing1
Template1
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm1"}
Val1-1
Thing2
Template2
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm1"}
Val2-1
Val2-2
Thing3
Template3
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm1"}
Val3-1
Val3-2
Val3-3
Thing4
Template4
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm2"}
Val4-1
Val4-2
Val4-4
In der folgenden Abfrage enthält die resultierende Infotable die angeforderten grundlegenden Eigenschaften (Name, Beschreibung, Tags, homeMashup), die angeforderten Eigenschaften für die Dingvorlage (Prop1) und den Namen des Dings.
Mit dem folgenden Code wird die Implementierung von Dingen mit Daten unter Verwendung aller unterstützten Parameter abgefragt.
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
// CreateInfoTableFromDataShape
var basicpropInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var basicProp1 = new Object();
basicProp1.name = "name";
basicProp1.description = undefined;
var basicProp2 = new Object();
basicProp2.name = "description";
basicProp2.description = undefined;
var basicProp3 = new Object();
basicProp3.name = "tags";
basicProp3.description = undefined;
var basicProp4 = new Object();
basicProp4.name = "homeMashup";
basicProp4.description = undefined;
basicpropInfoTable.AddRow(basicProp1);
basicpropInfoTable.AddRow(basicProp2);
basicpropInfoTable.AddRow(basicProp3);
basicpropInfoTable.AddRow(basicProp4);
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var prop1 = new Object();
prop1.name = "Property1";
prop1.description = undefined;
var prop2 = new Object();
prop2.name = "Property4";
prop2.description = undefined;
propertyNamesInfoTable.AddRow(prop1);
result = ThingTemplates["Template1"].QueryImplementingThingsOptimizedWithTotalCount({
maxItems: 50 ,
nameMask: "T*",
tags: "MT1:MT1-MTerm1",
query: "{\"filters\":{\"type\": \"LIKE\", \"fieldName\": \"Property1\", \"value\": \"Val*\" }}",
basicPropertyNames: basicpropInfoTable,
propertyNames: propertyNamesInfoTable,
networkName: 'Network1',
networkParentNode: 'TestThing1',
networkMaxDepth: 0,
offset: 0
});
War dies hilfreich?