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

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

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"
	]
]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica