QueryImplementingThingsWithNamedData
Descripción
Este servicio se puede utilizar para consultar las cosas que implementan la plantilla de cosa o la definición de cosa en la que se ejecuta el servicio. Los nombres de propiedad se transmiten como parámetros de entrada (basicPropertyNames y propertyNames). El resultado es una infotable en la que se incluyen las cosas que implementan la plantilla de cosa o la definición de cosa y los valores de propiedad de la plantilla de cosa o la definición de cosa en los que se ejecuta la consulta.
Entrada
Nombre del parámetro
Descripción
Tipo base
maxItems
Número máximo de elementos que se devolverán en el conjunto de resultados. El valor por defecto es 500. Este parámetro se aplica después de aplicar todos los otros filtros.
NUMBER
tags
Las etiquetas de modelo asociadas al origen de esta entrada.
TAGS
nameMask
El patrón de nombres para las entidades que implementan la plantilla de cosa o la definición de cosa.
STRING
query
Los criterios de consulta que se utilizan para filtrar los datos.
Los filtros solo se pueden escribir para las propiedades efectivas de la plantilla de cosa o la definición de cosa en la que se ejecuta el servicio.
Para obtener más información, consulte Parámetro de consulta para servicios de consulta
QUERY
basicPropertyNames
Una infotable en la que se incluye una lista de propiedades básicas, como isSystemObject, nombre, descripción, homeMashup, avatar y etiquetas.
La definición de datos esperada para la infotable es EntityList.
INFOTABLE
propertyNames
Una infotable en la que se incluye una lista de propiedades específicas de la plantilla de cosa o la definición de cosa.
La definición de datos esperada para la infotable es EntityList.
INFOTABLE
Salida
Nombre del parámetro
Descripción
Tipo base
result
Se devuelve una infotable en la que se incluye la lista de cosas que implementan la plantilla de cosa o la definición de cosa y las propiedades solicitadas de la plantilla de cosa o la definición de cosa y sus valores.
INFOTABLE
Ejemplo
En el siguiente ejemplo, TestStream tiene una definición de datos que tiene los campos Property1, Property2 y Property3.
Entidad
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
Definido
N/D
N/D
ThingShape2
N/D
N/D
N/D
ThingShape2
N/D
N/D
Definido
Entidad
Plantilla padre
Prop1
Prop2
Prop3
Prop4
Definición implementada
Propiedades de efectividad
Template1
Definido
N/D
N/D
N/D
ThingShape1
Prop1, ShapeProp1
Template2
Template1
Heredado de Template1
Definido
N/D
N/D
ThingShape2
Prop1,
Prop2,
ShapeProp1,
ShapeProp2
Template3
Template2
Heredado de Template2
Heredado de Template2
Definido
N/D
Prop1,
Prop2,
Prop3,
ShapePropy1,
ShapeProp2
Template4
Template2
Heredado de Template2
Heredado de Template2
N/D
Definido
ThingShape4
Prop1,
Prop2,
Prop4,
ShapeProp1,
ShapeProp2,
ShapeProp4
Entidad
Implementa
Etiquetas de modelo
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
En el siguiente ejemplo se muestra una consulta para implementar cosas con datos mediante sus parámetros soportados. Con esta llamada a la API, se devuelve una infotable en la que se incluyen las propiedades básicas solicitadas y otras propiedades de la plantilla de cosa o la definición de cosa que coinciden con los parámetros de entrada.
Después de ejecutar la siguiente consulta, la infotable resultante contendrá el nombre, la descripción, las etiquetas, Prop1 y 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
});
Después de ejecutar la siguiente consulta, la infotable resultante contendrá el nombre, la descripción, las etiquetas y 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
});
¿Fue esto útil?