QueryImplementingThingsWithNamedData
Описание
Этот сервис можно использовать для запроса вещей, в которых применен шаблон вещи или профиль вещи, для которой выполняется сервис. Имена свойств передаются как входные параметры (basicPropertyNames и propertyNames). Результатом является таблица данных, содержащая вещи, в которых применен шаблон вещи или профиль вещи, и значения свойств шаблона или профиля вещи, для которой выполняется запрос.
Входные данные
Имя параметра
Описание
Базовый тип
maxItems
Максимальное число возвращаемых элементов в наборе результатов. Значение по умолчанию: 500. Этот параметр применяется после применения всех остальных фильтров.
NUMBER
tags
Теги модели, связанные с источником этой записи.
TAGS
nameMask
Шаблон наименования для сущностей, реализующих шаблон вещи или профиль вещи.
STRING
query
Критерии запроса, используемые для фильтрации данных.
Фильтры могут быть записаны только для действующих свойств шаблона вещи или профиля вещи, в которой выполняется сервис.
Дополнительные сведения см. в разделе Параметр запроса для сервисов запросов
QUERY
basicPropertyNames
Таблица данных, содержащая список основных свойств, таких как isSystemObject, наименование, описание, homeMashup, аватар и теги.
Для таблицы данных ожидается структура данных EntityList.
INFOTABLE
propertyNames
Таблица данных, содержащая список конкретных свойств шаблона вещи или профиля вещи.
Для таблицы данных ожидается структура данных EntityList.
INFOTABLE
Вывод
Имя параметра
Описание
Базовый тип
result
Возвращает таблицу данных, содержащую список вещей, реализующих шаблон вещи или профиль вещи, и запрошенные свойства шаблона или профиля вещи и их значения.
INFOTABLE
Пример
В следующем примере у TestStream имеется структура данных с полями Property1, Property2 и Property3.
Сущность
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
Определенные
Н/Д
Н/Д
ThingShape2
Н/Д
Н/Д
Н/Д
ThingShape2
Н/Д
Н/Д
Определенные
Сущность
Родительский шаблон
Prop1
Prop2
Prop3
Prop4
Реализованный профиль
Действующие свойства
Template1
Определенные
Н/Д
Н/Д
Н/Д
ThingShape1
Prop1, ShapeProp1
Template2
Template1
Наследованные из Template1
Определенные
Н/Д
Н/Д
ThingShape2
Prop1,
Prop2,
ShapeProp1,
ShapeProp2
Template3
Template2
Наследованные из Template2
Наследованные из Template2
Определенные
Н/Д
Prop1,
Prop2,
Prop3,
ShapePropy1,
ShapeProp2
Template4
Template2
Наследованные из Template2
Наследованные из Template2
Н/Д
Определенные
ThingShape4
Prop1,
Prop2,
Prop4,
ShapeProp1,
ShapeProp2,
ShapeProp4
Сущность
Реализации
Теги модели
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
В следующем примере показан запрос для реализации вещей с данными с использованием поддерживаемых параметров. Этот вызов API возвращает таблицу данных, содержащую запрошенные базовые свойства и другие свойства из шаблона вещи или профиля вещи, которые соответствуют входным параметрам.
После выполнения следующего запроса результирующая таблица данных будет содержать наименование, описание, теги Prop1 и 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
});
После выполнения следующего запроса результирующая таблица данных будет содержать наименование, описание, теги и 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
});
Было ли это полезно?