QueryImplementingThingsOptimizedWithTotalCount
Описание
Этот сервис можно использовать для запроса вещей, в которых применен шаблон вещи или профиль вещи, для которой выполняется сервис. Результатом является таблица данных, содержащая вещи, в которых применен шаблон или профиль вещи, и значения свойств шаблона или профиля вещи, для которых выполняется запрос.
Входные данные
Имя параметра
Описание
Базовый тип
maxItems
Максимальное число возвращаемых элементов в наборе результатов. Значение по умолчанию: 500. Этот параметр применяется после применения всех остальных фильтров.
NUMBER
tags
Теги модели, связанные с источником этой записи.
TAGS
nameMask
Шаблон наименования для сущностей, реализующих шаблон вещи или профиль вещи.
STRING
query
Критерии запроса, используемые для фильтрации данных.
Фильтры могут быть записаны только для действующих свойств шаблона вещи или профиля вещи, в которой выполняется сервис.
Дополнительные сведения см. в разделе Параметр запроса для сервисов запросов.
QUERY
withPermissions
Если задано значение true, информация о разрешениях включается в результат.
BOOLEAN
basicPropertyNames
Таблица данных, содержащая список основных свойств, таких как isSystemObject: наименование, описание, homeMashup, аватар и теги.
Для таблицы данных ожидается структура данных EntityList.
INFOTABLE
propertyNames
Таблица данных, содержащая список конкретных свойств шаблона вещи или профиля вещи. Указанные свойства должны быть определены в шаблоне вещи или профиле вещи, в которой выполняется сервис.
Для таблицы данных ожидается структура данных EntityList.
INFOTABLE
networkName
Имя сети, в которой будет выполнена фильтрация. Запрос возвратит только результаты, найденные в вещах этой сети.
networkParentNode
Наименование узла верхнего уровня в сети, указанное в networkName. Запрос вернет все дочерние элементы для указанного родительского узла в этой сети.
STRING
networkMaxDepth
Максимальная глубина поиска в сети. Запрос возвращает полную иерархию потомков, если для этого значения задано значение 0, которое является значением по умолчанию.
INTEGER
offset
Число строк, которые необходимо пропустить перед началом возвращения строк из запроса. Если задано значение по умолчанию 0, запрос возвратит все строки. Это можно использовать для постраничной разбивки результатов.
NUMBER
Выходные данные
Имя параметра
Описание
Базовый тип
result
Возвращает таблицу данных, которая содержит список вещей, реализующих шаблон вещи или профиль вещи, и запрошенные свойства шаблона или профиля вещи и их значения. Структура данных для таблицы данных: ImplementedThingsWithTotalCount.
INFOTABLE
Пример
Сущность
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
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
В следующем запросе результирующая таблица данных содержит запрошенные базовые свойства (наименование, описание, теги, homeMashup), запрошенные свойства шаблона вещи (Prop1) и наименование вещи.
Следующий код будет запрашивать реализацию вещей с данными с использованием всех поддерживаемых параметров.
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
});
Было ли это полезно?