Reti
Le reti di oggetti definiscono le relazioni tra gli oggetti. Un oggetto può essere padre, figlio o pari livello di un altro oggetto. Le reti di oggetti definiscono una gerarchia di oggetti. Quando è necessario esplorare una gerarchia di oggetti, utilizzando reti e interfacce REST è possibile chiedere a un oggetto qual è il relativo oggetto padre o quali sono gli elementi di pari livello. È possibile esplorare la rete tramite script in un servizio o in una sottoscrizione oppure mediante servizi REST. È disponibile un servizio REST che consente di recuperare un'intera rete o parte di essa e quindi visualizzare la rete in un mashup.
Funzioni di script lato server della rete
• GetChildren(name) - (Facoltativa) Restituisce un insieme di stringhe con i nomi dei nodi figlio. "name" è il nodo di cui ottenere i figli. Se non viene specificato un nome, l'elenco inizia dal nodo radice.
• GetParent(name) - Restituisce una stringa contenente il nome del nodo padre, una stringa vuota in caso di nodo di primo livello o null in caso di nodo (vuoto) radice. "name" è il nodo di cui ottenere il padre.
• GetChildrenForShape(parentName,shapeName) - Restituisce un insieme di nomi di oggetti.
• GetChildrenForTemplate(parentName,templateName) - Restituisce un insieme di nomi di oggetti.
Servizi di rete (script + mashup + API REST)
• GetNetworkConnections(maxDepth) - Restituisce una infotable con tutte le relazioni padre-figlio in una singola tabella. Se non viene definito maxDepth (facoltativo), vengono restituite tutte le relazioni padre-figlio.
• GetSubNetworkConnections(start,maxDepth) - Restituisce una infotable con tutte le relazioni padre-figlio in una singola tabella per un sottoinsieme della rete complessiva, a partire dal nome di un nodo specificato.
◦ start - Nodo da cui ha inizio la sottostruttura. Se non viene definito, ha inizio dal nodo radice.
◦ maxDepth - Se non viene definito, vengono restituite tutte le relazioni padre-figlio.
• GetNetworkAsNestedInfoTables(maxDepth) - Simile a GetNetworkConnections, ma utilizza infotable annidate. maxDepth è facoltativo. Se non è specificato, viene restituito tutto.
• GetSubNetworkAsNestedInfoTables(start,maxDepth) - Simile a GetSubNetworkConnections, ma utilizza infotable annidate.
◦ start - Nodo da cui ha inizio la sottostruttura. Se non viene definito, ha inizio dal nodo radice.
◦ maxDepth - Se non viene definito, vengono restituite tutte le relazioni padre-figlio.
• GetChildConnections(name) - Restituisce una infotable contenente solo i nodi figlio diretti. name è il nodo di cui ottenere i figli. Se non è specificato, ha inizio dal nodo radice.
• GetParentName(name) - Restituisce una stringa contenente il nome del nodo padre, una stringa vuota in caso di nodo di primo livello o null in caso di nodo (vuoto) radice. name è il nodo di cui ottenere il padre.
• IsInNetwork(name) - Restituisce un valore booleano. name è il nome del nodo da cercare.
• IsInSubNetwork(start,name) - Restituisce un valore booleano.
◦ start - Nodo da cui ha inizio la sottostruttura. Se non è specificato, ha inizio dal nodo radice.
◦ name - Nome del nodo da cercare.
• GetChildConnectionsForShape(parentName,shapeName) - Restituisce una infotable di figli filtrati in base al padre e alla thing shape.
• GetChildConnectionsForTemplate(parentName,templateName) - Restituisce una infotable di figli filtrati in base al padre e al modello di oggetto.
• GetChildren(name) - Restituisce un insieme di stringhe con i nomi dei nodi figlio.
◦ name - Nodo di cui ottenere i figli. Se non viene specificato un nome, l'elenco inizia dal nodo radice.
• GetParent(name) - Restituisce una stringa contenente il nome del nodo padre, una stringa vuota in caso di nodo di primo livello o null in caso di nodo (vuoto) radice.
◦ name - Nodo di cui ottenere il padre.
• GetChildrenForShape(parentName,shapeName) - Restituisce un insieme di nomi di oggetti.
• GetChildrenForTemplate(parentName,templateName) - Restituisce un insieme di nomi di oggetti.
Reti e visibilità
Un utente non può visualizzare gli oggetti in una rete per la quale non dispone del permesso di visibilità. Se un utente è dotato del permesso di visibilità solo per gli oggetti figlio, in una rete che contiene oggetti padre e figlio non vede il padre o i figli. Se è dotato del permesso di visibilità per l'oggetto padre, visualizza il padre e tutti i figli.