Définition du modèle ThingWorx dans Composer > Modélisation > Extraits de code > QueryImplementingThingsOptimizedWithTotalCount
QueryImplementingThingsOptimizedWithTotalCount
Description
Vous pouvez utiliser ce service pour interroger les objets qui implémentent le modèle d'objet ou la forme d'objet sur lequel le service est exécuté. Vous obtenez une table d'informations contenant les objets qui implémentent le modèle ou la forme de données, ainsi que les valeurs de propriété du modèle d'objet ou de la forme d'objet sur lequel la requête est exécutée.
Entrée
Nom de paramètre
Description
Type de base
maxItems
Nombre maximal d'éléments à renvoyer dans le jeu de résultats. La valeur par défaut est 500. Ce paramètre est appliqué à la suite de tous les autres filtres.
NUMBER
tags
Tags de modèle associés à la source de cette entrée.
TAGS
nameMask
Modèle de nom des entités qui implémentent le modèle d'objet ou la forme d'objet.
STRING
query
Critères de requête utilisés pour filtrer les données.
Les filtres ne peuvent être écrits que pour les propriétés effectives du modèle d'objet ou de la forme d'objet sur lequel le service est exécuté.
Pour plus d'informations, consultez la rubrique Paramètre de requête pour les services de requête.
QUERY
withPermissions
Si la valeur est "vrai", les informations de permission sont incluses dans le résultat.
BOOLEAN
basicPropertyNames
Table d'informations qui contient une liste de propriétés de base, telles que isSystemObject, le nom, la description, homeMashup, l'avatar et les tags.
La forme de données attendue pour la table d'informations est EntityList.
INFOTABLE
propertyNames
Table d'informations qui contient une liste de propriétés spécifiques du modèle d'objet ou de la forme d'objet. Les propriétés spécifiées doivent être définies sur le modèle d'objet ou la forme d'objet sur lequel le service est exécuté.
La forme de données attendue pour la table d'informations est EntityList.
INFOTABLE
networkName
Nom du réseau sur lequel filtrer. La requête renverra uniquement les résultats obtenus à partir des objets présents sur ce réseau.
networkParentNode
Nom du noeud supérieur du réseau spécifié dans networkName. La requête renverra tous les enfants du noeud parent spécifié dans le réseau.
STRING
networkMaxDepth
Profondeur maximale de la recherche dans le réseau. La requête renvoie la hiérarchie complète des enfants si cette valeur est définie sur 0, qui est la valeur par défaut.
INTEGER
offset
Nombre de lignes à ignorer avant de commencer à renvoyer des lignes avec la requête. Si la valeur est 0 (valeur par défaut), la requête renvoie toutes les lignes. Vous pouvez l'utiliser pour paginer les résultats.
NUMBER
Sortie
Nom de paramètre
Description
Type de base
result
Renvoie une table d'informations contenant la liste des objets qui implémentent le modèle d'objet ou la forme d'objet, ainsi que les propriétés demandées du modèle d'objet ou de la forme d'objet et leurs valeurs. La forme de données de la table d'informations est ImplementedThingsWithTotalCount.
INFOTABLE
Exemple
Entité
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
Défini
N/A
N/A
ThingShape2
N/A
Défini
N/A
ThingShape2
N/A
N/A
Défini
Entité
Modèle d'objet parent
Prop1
Prop2
Prop3
Prop4
Forme d'objet implémentée
Propriétés effectives
Template1
Défini
N/A
N/A
N/A
ThingShape1
Prop1, ShapeProp1
Template2
Template1
Hérité de Template1
Défini
N/A
N/A
ThingShape2
Prop1,
Prop2,
ShapeProp1,
ShapeProp2
Template3
Template2
Hérité de Template2
Hérité de Template2
Défini
N/A
Prop1,
Prop2,
Prop3,
ShapePropy1,
ShapeProp2
Template4
Template2
Hérité de Template2
Hérité de Template2
N/A
Défini
ThingShape4
Prop1,
Prop2,
Prop4,
ShapeProp1,
ShapeProp2,
ShapeProp4
Entité
Implémente
Tags de modèle
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
Dans la requête suivante, la table d'informations résultante contient les propriétés de base demandées (nom, description, tags, homeMashup), les propriétés demandées sur le modèle d'objet (Prop1) et le nom de l'objet.
Le code suivant envoie une requête d'implémentation d'objets avec des données utilisant tous les paramètres pris en charge.
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
});
Est-ce que cela a été utile ?