Capitolo 4. Importazione ed esportazione

Condividere i progetti di Rocs

I progetti di Rocs possono essere importati ed esportati come archivi .tar.gz, che possono essere utilizzati per condividere progetti. Si possono importare o esportare progetti rispettivamente attraverso gli elementi di menu GrafoImporta grafo e GrafoEsporta grafo come....

Importazione ed esportazione di grafi

Rocs attualmente supporta l'importazione e l'esportazione dei seguenti formati di file:

  • File DOT, altrimenti noti come GraphViz

  • File GML

  • File in formato di grafi banale

  • Formato di linguaggio a marcatori Keyhole

Il formato di grafi banale

Il formato di grafi banale (TGF) è un semplice formato di file testuale per descrivere i grafi. Un file TGF consiste di un elenco di definizioni dei nodi che fanno corrispondere i loro identificativi a delle etichette, seguite da un elenco degli archi. In questo formato è possibile avere una sola etichetta per nodo e un valore per arco. Rocs interpreta i grafi importati come grafi non direzionali. I grafi esportati conterranno due archi per connessione se queste sono bidirezionali.

Specifica del formato
  • Il file inizia con una lista di nodi (un nodo per linea) seguito da una linea col solo carattere «#», a cui fa seguito una lista di archi (un arco per linea).

  • Un nodo consiste di un intero (identificatore) seguito da uno spazio, seguito da una stringa qualsiasi.

  • Un arco è costituito da due interi (gli identificativi) separati da uno spazio, seguiti da uno spazio, seguito da una stringa qualsiasi. Si presume che l'arco direzionale punti dal primo identificativo al secondo.

Esempio
1 nodo iniziale
2 trasmissione
3 termine
#
1 2 blu
2 1 rosso
2 3 verde

Linguaggio DOT / Formato di grafi Graphviz

Il linguaggio DOT è un linguaggio descrittivo in testo semplice che permette sia una rappresentazione leggibile dei grafi, sia un'elaborazione efficiente da parte di un programma di disposizione dei grafi. DOT è il formato di file predefinito per la serie di programmi di visualizzazione Graphviz, ma è usato anche da altri strumenti. Le estensioni più comuni dei file DOT sono .gv e .dot.

Funzionalità non supportate

Rocs può elaborare ogni file grafo che contenga grafi specificati secondo il linguaggio di specifica DOT[1]. Il supporto alle funzionalità del linguaggio è completo, salvo le seguenti eccezioni:

  • Sottografi: a causa della mancanza del concetto di sottografo in Rocs, i sottografi sono importati come insiemi di elementi e connessioni. In particolare, le connessioni da o verso sottografi non sono importate.

  • Attributi HTML e XML: gli attributi (come etichette) che contengono sintassi HTML o XML vengono letti senza modifica. In particolare, da questi attributi non viene letta nessuna specificazione di carattere o stile.

Esempio
digraph myGraph {
    a -> b -> c;
    b -> d;
}


[1] https://graphviz.org/doc/info/lang.html