Sintassi per RDF: RDF/XML

ottobre 13, 2008

La sintassi utilizzata da RDF per codificare il modello a grafi è basata su XML ed è chiamata RDF/XML.
Vediamone subito un esempio. La sintassi RDF corrispondente al grafo

Esempio grafo RDF

Esempio grafo RDF per la frase "Questo blog è scritto da Simone Dezaiacomo"

è la seguente:

1. <?xml version="1.0"?>
2. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
3.             xmlns:dc="http://purl.org/dc/elements/1.1/">
4.   <rdf:Description rdf:about="https://semanticweb30.wordpress.com">
5.       <dc:creator>Simone Dezaiacomo</dc:creator>
6.   </rdf:Description>
7. </rdf:RDF>

Vediamone il significato riga per riga.

Riga 1:
è l’XML declaration, indica che il contenuto che segue è in formato XML e in quale versione.
Riga 2:
rdf:RDF, inidica che il contenuto XML che segue rappresenta RDF.

xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#&#8221; , è una XML Namespace (xmlns) declaration, che specifica che tutti i tag con prefisso rdf: sono parte del namespace identificato dalla URIref riportata di seguito all’uguale.
Riga 3:
xmlns:dc=”http://purl.org/dc/elements/1.1/&#8221;, rappresenta un’altra XML Namespace declaration, questa volta per il prefisso dc:.

Queste prime 3 righe sono quindi necessarie per indicare che il contenuto è RDF/XML e per identificare i namespace che vengono usati.

Riga 4:
rdf:Description indica che da qui inizia appunto la descrizione della risorsa, che serve per identificare il soggetto della frase usando l’attributo rdf:about per specificare l’URIref del soggetto.

Riga 5:
Il tag <dc:creator></dc:creator> (in ci dc:creator è un QName) rappresenta il predicato della frase, al cui interno si trova l’oggetto (il valore literal “Simone Dezaiacomo“) che rappresenta il valore della proprietà creator.
Questo elemento è annidato all’elemento di descrizione della risorsa (riga 4), quindi indica che la proprietà descritta in <dc:creator>…</dc:creator> deve esere applicata alla risorsa identificata nell’attributo rdf:about della descrizione.

Righe 6 e 7:
Sono le chiusure dei rispettivi tag.

Per frasi multiple relative allo stesso soggetto il ragionamento sarà lo stesso, inserendo un blocco <rdf:Description>…</rdf:Description> per ogni frase da rappresentare.
E’ anche possibile rappresentare le frasi multiple in maniera abbreviata, annidandole allo stesso elemento rdf:Description; questo è corretto in quanto si riferiscono allo stesso soggetto identificato dal valore di rdf:about.
In questo modo il grafo seguente

Grafo RDF frasi multiple sullo stesso soggetto

Grafo RDF con frasi multiple

verrebbe scritto come:

1. <?xml version="1.0"?>
2. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
3.             xmlns:dc="http://purl.org/dc/elements/1.1/">
4.   <rdf:Description rdf:about="https://semanticweb30.wordpress.com">
5.       <dc:creator>Simone Dezaiacomo</dc:creator>
6.       <dc:language>IT</dc:language>
7.       <dc:contributor rdf:resource="http://www.example.org/exblogger/
               1123"/>
8.   </rdf:Description>
9. </rdf:RDF>
 Leggi il seguito di questo post »
Annunci