Сети
Сети вещей определяют взаимосвязи между вещами. Одна вещь может быть родительской, дочерней или родственной для другой вещи. Сети вещей определяют иерархию вещей. С помощью сетей и через интерфейсы REST можно запрашивать вещь о том, кто является ее родителем или какая вещь является для нее родственной, когда необходимо пройти по иерархии вещей. Можно выполнить обход сети с помощью сценария в сервисе или подписке либо с помощью сервисов REST. Существует сервис REST, позволяющий частично или полностью загрузить всю сеть, а затем показать сеть в мэшапе.
Функции сценариев на стороне сетевого сервера
• GetChildren(name) - (необязательно) возвращает массив строк с наименованиями дочерних узлов. name = узел, для которого нужно получить дочерние. Если наименование отсутствует, формирование списка начнется с корневого узла.
• GetParent(name) - возвращает строку, содержащую наименование родительского узла, пустую строку, если это узел первого уровня, или значение null, если это корневой (пустой) узел. Параметр name - это наименование узла, для которого нужно получить родительский.
• GetChildrenForShape(parentName,shapeName) - возвращает массив наименований вещей.
• GetChildrenForTemplate(parentName,templateName) - возвращает массив наименований вещей.
Сетевые сервисы (сценарий + мэшап + REST API)
• GetNetworkConnections(maxDepth) - возвращает таблицы данных со всеми связями родитель-потомок в одной таблице. Если maxDepth не определено (необязательно), возвращает все взаимосвязи родитель-потомок.
• GetSubNetworkConnections(start,maxDepth) - возвращает таблицу данных со всеми взаимосвязями родитель-потомок в одной таблице для подмножества всей сети, начинающегося с конкретного наименования узла.
◦ start - узел, для которого нужно начать поддерево. Если не определен, начинается в корневом узле.
◦ maxDepth - если не определено, возвращает все взаимосвязи родитель-потомок.
• GetNetworkAsNestedInfoTables(maxDepth) - аналогично GetNetworkConnections, но использует вложенные таблицы данных. maxDepth является необязательным и возвращает все, если значение не предоставлено.
• GetSubNetworkAsNestedInfoTables(start,maxDepth) - аналогично GetSubNetworkConnections, но использует вложенные таблицы данных.
◦ start - узел, для которого нужно начать поддерево. Если не определен, начинается в корневом узле.
◦ maxDepth - если не определено, возвращает все взаимосвязи родитель-потомок.
• GetChildConnections(name) - возвращает таблицу данных только с прямыми дочерними узлами, где name - узел, для которого нужно получить дочерние. Если не указан, будет начинаться в корневом узле.
• GetParentName(name) - возвращает строку, содержащую наименование родительского узла, пустую строку, если это узел первого уровня, или значение null, если это корневой (пустой) узел, где name - это наименование узла, для которого нужно получить наименование родительского узла.
• IsInNetwork(name) - возвращает логическое значение, где name - наименование узла, который ищется.
• IsInSubNetwork(start,name) - возвращает логическое значение.
◦ start - узел, для которого нужно начать поддерево. Начинается в корневом узле, если не указан.
◦ name - наименование узла, для которого нужно выполнить поиск.
• GetChildConnectionsForShape(parentName,shapeName) - возвращает таблицу данных дочерних узлов после фильтрации по родителю и профилю вещи.
• GetChildConnectionsForTemplate(parentName,templateName) - возвращает таблицу данных дочерних узлов после фильтрации по родителю и шаблону вещи.
• GetChildren(name) - возвращает массив строк с наименованиями дочерних узлов.
◦ name - узел, для которого нужно получить дочерние. Если наименование отсутствует, формирование списка начнется с корневого узла.
• GetParent(name) - возвращает строку, содержащую наименование родительского узла, пустую строку, если это узел первого уровня, или значение null, если это корневой (пустой) узел.
◦ name - узел, для которого нужно получить родительский.
• GetChildrenForShape(parentName,shapeName) - возвращает массив наименований вещей.
• GetChildrenForTemplate(parentName,templateName) - возвращает массив наименований вещей.
Сети и видимость
Пользователь не видит в сети вещи, для которых у него нет разрешения на видимость. Если у пользователей имеется видимость для сети, содержащей родительские и дочерние вещи, и имеется видимость только для потомков, они не будут видеть родителей или потомков. Если у них есть видимость для родительской вещи, они будет видеть родителя и всех потомков, на которые у них имеется видимость.