Graph Modelling Language
Il Graph Modelling Language (GML) è un linguaggio adoperato per descrivere grafi in modo semplice mediante file di "testo semplice" (ASCII). È noto anche come Graph Meta Language.
Caratteristiche
[modifica | modifica wikitesto]GML ha l'obiettivo di fornire un formato comune di scambio tra vari programmi, in alternativa (o in abbinamento) ai molteplici formati nativi che sono utilizzabili solo da uno o pochi programmi.
Il linguaggio descrive ogni elemento del grafo come lista di proprietà e di altri elementi. Utilizza quindi una struttura gerarchica, un albero. Per esempio, l'elemento grafo (graph) contiene la descrizione di tutti i vertici (node) e archi (edge).
GML è progettato per essere flessibile, consentendo di omettere tutti gli elementi non necessari. È anche generico, nel senso che può essere utilizzato per descrivere una molteplicità di strutture dati.
Esempio
[modifica | modifica wikitesto]Un esempio di semplice grafo descritto in GML:
graph [ comment "This is a sample graph" directed 1 id n42 label "Hello, I am a graph" node [ id 1 label "node 1" thisIsASampleAttribute 42 ] node [ id 2 label "node 2" thisIsASampleAttribute 43 ] node [ id 3 label "node 3" thisIsASampleAttribute 44 ] edge [ source 1 target 2 label "Edge from node 1 to node 2" ] edge [ source 2 target 3 label "Edge from node 2 to node 3" ] edge [ source 3 target 1 label "Edge from node 3 to node 1" ] ]