QueryImplementingThingsWithNamedData
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é. Les noms de propriété sont transmis en tant que paramètres d'entrée (basicPropertyNames et propertyNames). Vous obtenez une table d'informations contenant les objets qui implémentent le modèle d'objet ou la forme d'objet, 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
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.
La forme de données attendue pour la table d'informations est EntityList.
INFOTABLE
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.
INFOTABLE
Exemple
Dans l'exemple suivant, TestStream comporte une forme de données avec des champs Property1, Property2 et Property3.
Entité
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
Défini
N/A
N/A
ThingShape2
N/A
N/A
N/A
ThingShape2
N/A
N/A
Défini
Entité
Modèle parent
Prop1
Prop2
Prop3
Prop4
Forme 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
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
L'exemple suivant présente une requête d'implémentation d'objets avec des données utilisant les paramètres pris en charge. Cet appel d'API renvoie une table d'informations qui contient les propriétés de base demandées et d'autres propriétés du modèle d'objet ou de la forme d'objet qui correspond aux paramètres d'entrée.
Après l'exécution de la requête suivante, la table d'informations résultante contiendra le nom, la description, les tags, Prop1 et 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
});
Après l'exécution de la requête suivante, la table d'informations résultante contiendra le nom, la description, les tags et 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
});
Est-ce que cela a été utile ?