# Import ja eksport

## &rocs;i projektide vahetamine

&rocs;i projekte saab importida ja eksportida arhiveeritud `.tar.gz`-failidena. Nende arhiivide abil saab projekte teistega vahetada. Importida ja eksportida saab vastavalt menüükäskudega Graafidokument Impordi graaf ja Graafidokument Ekspordi graaf.

## Graafidokumentide import ja eksport

&rocs; toetab praegu importimisel ja eksportimisel järgmisi failivorminguid:

- DOT-failid, tuntud ka kui Graphviz-failid

- GML-failid

- TGF (Trivial Graph Format) failid

- KML (Keyhole Markup Language) vorming

### Trivial Graph failivorming

Trivial Graph Format (TGF) on lihtne graafe kirjeldav tekstipõhine failivorming. TGF-fail koosneb tipudefinitsioonide loendist, mis seovad tippude ID-d pealdistega ja millele järgneb seoste loend. Selles vormingus saab igal tipul olla ainult üks pealdis ja igal seosel ainult üks väärtus. &rocs; tõlgendab imporditud graafe orienteerimata graafidena. Eksporditud graafid sisaldavad ühenduse kohta kaks seost, kui ühendused on kahesuunalised.

#### Vormingu spetsifikatsioon

- Fail algab tippude loendiga (üks tipp rea kohta), millele järgneb rida, millel on ainult märk "#". Sellele järgneb seoste loend (üks seos igal real).

- Tipp koosneb täisarvust (identifikaator), millele järgneb tühik, millele järgneb suvaline string.

- Seos koosneb kahest tühikuga eraldatud täisarvust (identifikaatoritest), millele järgneb tühik, millele järgneb suvaline string. Eeldatakse, et suunaga seos kulgeb esimeselt identifikaatorilt teisele.

#### Näide

    1 algustipp
    2 saatja
    3 neel
    #
    1 2 sinine
    2 1 punane
    2 3 roheline

### DOT-keele / Graphvizi graafi failivorming

DOT-keel on lihttekstis graafi kirjeldamise keel, mis võimaldab nii graafide inimsilmale kergesti haaratavat esitamist kui ka tõhusat töötlemist graafipaigutusprogrammide poolt. DOT on Graphvizi graafide visualiseerimise komplekti vaikimisi failivorming, aga seda kasutavad ka paljud muud graafitööriistad. DOT-faili tavaline laiend on .gv või .dot.

#### Toetamata võimalused

&rocs; suudab parsida kõiki graafifaile, mis sisaldavad graafi, mis on loodud DOT-keele spetsifikatsiooni alusel http://www.graphviz.org/content/dot-language. Keele omadused on täielikult toetatud, ehkki kehtivad järgmised erandid:

- alamgraafik (subgraph): et &rocs; ei kasuta alamgraafiku kontseptsiooni, imporditakse alamgraafikud lihtsalt andmeelementide ja ühenduste kogumina. Eriti tuleb tähele panna, et ei impordita ühendusi alamgraafikust või alamgraafikusse.

- &HTML;-i ja &XML;-i atribuudid: atribuudid (näiteks pealdised), mis sisaldavad &HTML;-i või &XML;-i süntaksit, loetakse sisse muutmata kujul. Eriti tuleb tähele panna, et neist atribuutidest ei loeta välja fontide ja stiilide kohandamist.

#### Näide

    digraph minuGraaf {
        a -> b -> c;
        b -> d;
    }