# Importazione ed esportazione

## Condividere i progetti di &rocs;

I progetti di &rocs; possono essere importati ed esportati come archivi `.tar.gz`, che si possono usare per condividere progetti. Si possono importare o esportare progetti rispettivamente attraverso i menu Grafo Importa grafo e Grafo Esporta 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 (TGF)

- Formato di linguaggio a marcatori Keyhole

### Il formato di grafi banale (TGF)

Il formato di grafi banale (Trivial Graph Format, 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 le connessioni sono bidirezionali.

#### Specificazione del formato

- Il file comincia con un elenco di nodi (uno per riga), seguito da una riga con il solo carattere `#`, seguito da un elenco di archi (uno per riga).

- Un nodo è costituito da un intero (l'identificativo), 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 assume 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 rappresentazione leggibile dei grafi, sia una 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 contenente un grafo specificato secondo il linguaggio DOT

http://www.graphviz.org/content/dot-language

. Il supporto delle varie funzionalità del linguaggio è completo, con 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 mioGrafo {
        a -> b -> c;
        b -> d;
    }