Redes
Las redes de cosas permiten definir las relaciones entre cosas. Una cosa puede ser padre, hijo o hermano de otra cosa. Las redes de cosa definen una jerarquía de cosa. Mediante el uso de redes e interfaces de REST, se puede solicitar a una cosa que indique su padre o sus hermanos, cuando se necesite recorrer una jerarquía de cosas. Es posible recorrer la red vía script en un servicio o suscripción o a través de servicios REST. Hay un servicio de REST que permite recuperar toda una red o parte de ella y, a continuación, mostrar la red en un mashup.
Funciones de script del servidor de red
• GetChildren(name): (Opcional) se devuelve una matriz de cadenas con los nombres de los nodos hijo, name = nodo para el que se deben obtener los hijos. Si no se proporciona un nombre, la lista comenzará en el nodo raíz.
• GetParent(name): se devuelve una cadena en la que se incluyen el nombre de nodo padre, una cadena vacía si es el primer nodo del nivel o nulo si es el nodo raíz (vacío), name = nodo para el que se debe obtener el padre.
• GetChildrenForShape(parentName,shapeName): se devuelve una matriz de nombres de cosa.
• GetChildrenForTemplate(parentName,templateName): se devuelve una matriz de nombres de cosa.
Servicios de red (script + mashup + API de REST)
• GetNetworkConnections(maxDepth): se devuelve una infotable con todas las relaciones padre-hijo en una sola tabla. Si maxDepth no se ha definido (opcional), se devuelven todas las relaciones padre-hijo.
• GetSubNetworkConnections(start,maxDepth): se devuelve una infotable con todas las relaciones padre-hijo en una sola tabla, pero para un subconjunto de la red general, comenzando en un nombre de nodo especificado.
◦ start: el nodo para el que se debe iniciar el subárbol. Si no se define, empieza en el nodo raíz.
◦ maxDepth: si no se define, se devuelven todas las relaciones padre-hijo.
• GetChildConnections(name): se devuelve una infotable con solo los nodos hijo directos, donde name es el nodo para el que se deben obtener los hijos. Se iniciará en el nodo raíz, si no se proporciona.
• GetParentName(name): se devuelve una cadena en la que se incluyen el nombre de nodo padre, una cadena vacía si es el nodo del primer nivel o nulo si es el nodo raíz (vacío), donde name es el nodo para el que se debe obtener el padre.
• IsInNetwork(name): se devuelve un valor booleano, donde name es el nombre del nodo que desea buscar.
• IsInSubNetwork(start,name): se devuelve un valor booleano.
◦ start: el nodo para el que se debe iniciar el subárbol. Se inicia en el nodo raíz, si no se proporciona.
◦ name: el nombre del nodo que se debe buscar.
• GetChildConnectionsForShape(parentName,shapeName): se devuelve una infotable de hijos filtrados por padre y definición de cosa.
• GetChildConnectionsForTemplate(parentName,templateName): se devuelve una infotable de hijos filtrados por padre y plantilla de cosa.
• GetChildren(name): se devuelve una matriz de cadenas con los nombres de los nodos hijo.
◦ name: el nodo para el que se deben obtener los hijos. Si no se proporciona un nombre, la lista comenzará en el nodo raíz.
• GetParent(name): se devuelve una cadena en la que se incluyen el nombre de nodo padre, una cadena vacía si es el nodo del primer nivel o nulo si es el nodo raíz (vacío).
◦ name: el nodo para el que se debe obtener el padre.
• GetChildrenForShape(parentName,shapeName): se devuelve una matriz de nombres de cosa.
• GetChildrenForTemplate(parentName,templateName): se devuelve una matriz de nombres de cosa.
• AddConnection(from, to, connectionType): permite añadir una conexión a una red. En caso de una conexión padre, from puede estar en blanco ("") o undefined. connectionType puede ser una relación entre conexiones. Por ejemplo, Contiene, Hijo, etc.
Redes y visibilidad
Un usuario no puede ver cosas en una red para la que no tiene permiso de visibilidad. Si un usuario tiene visibilidad en una red en la que se incluyen cosas padre e hijo, y tiene visibilidad solo para hijos, no verá el padre ni los hijos. Si tiene visibilidad para la cosa padre, verá el padre y los hijos para los que tenga visibilidad.