Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... ·...

224
Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Introduzione XML: un formato standard per la rappresentazione di dati Da RDF(S) a OWL Linguaggi a regole per il Semantic Web Fonte: World Wide Web Consortium Andrea Perego Corso Web 2.0 – Modulo B

Transcript of Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... ·...

Page 1: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLLinguaggi a regole per il Semantic Web

Fonte: World Wide Web Consortium

Andrea Perego Corso Web 2.0 – Modulo B

Page 2: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Indice

1 Introduzione

2 Web 2.0

3 Semantic WebIntroduzioneXML: un formato standard per la rappresentazione di dati

Il linguaggio XMLDefinire strutture dati con l’XML: DTD e XML SchemaXML Namespace: diversi vocabolari nello stesso documento XMLXPath: selezionare porzioni di documenti XMLXSLT: trasformare documenti XML

Da RDF(S) a OWLRDFSPARQLRDF SchemaOWL

Regole e Semantic Web

4 Semantic Web e Web 2.0

Andrea Perego Corso Web 2.0 – Modulo B

Page 3: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Indice

1 Introduzione

2 Web 2.0

3 Semantic WebIntroduzioneXML: un formato standard per la rappresentazione di dati

Il linguaggio XMLDefinire strutture dati con l’XML: DTD e XML SchemaXML Namespace: diversi vocabolari nello stesso documento XMLXPath: selezionare porzioni di documenti XMLXSLT: trasformare documenti XML

Da RDF(S) a OWLRDFSPARQLRDF SchemaOWL

Regole e Semantic Web

4 Semantic Web e Web 2.0

Andrea Perego Corso Web 2.0 – Modulo B

Page 4: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Cos’è il Semantic Web

The Semantic Web is not a separate Web but anextension of the current one, in which information is givenwell-defined meaning, better enabling computers andpeople to work in cooperation. The first steps in weavingthe Semantic Web into the structure of the existing Webare already under way. In the near future, thesedevelopments will usher in significant new functionality asmachines become much better able to process and“understand” the data that they merely display atpresent.1

1Tim Berners-Lee, James Hendler, Ora Lassila. The Semantic Web. Scientific American, May 2001

Andrea Perego Corso Web 2.0 – Modulo B

Page 5: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Caratteristiche

Il Semantic Web nasce dalla volontà di creare un insieme distrumenti standard per una descrizione delle risorse che siaprocessabile dalle macchine, così da automatizzare il processodi reperimento e scelta di informazioni e servizi

Lo scopo è la costruzione di un framework di servizi che puòessere integrato all’interno del Web attuale

Come la maggior parte degli standard adottati nel Web, ibuilding block del Semantic Web sono definiti dalle specifichetecniche del World Wide Web Consortium

Andrea Perego Corso Web 2.0 – Modulo B

Page 6: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Cosa vedremo

Linguaggio XML e tecnologie correlate

RDF, SPARQL, RDFS e OWL quali strumenti per ladescrizione di risorse

I linguaggi a regole come strumento per l’estensione dellefunzionalità fornite da RDF, RDFS e OWL

Andrea Perego Corso Web 2.0 – Modulo B

Page 7: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Indice

1 Introduzione

2 Web 2.0

3 Semantic WebIntroduzioneXML: un formato standard per la rappresentazione di dati

Il linguaggio XMLDefinire strutture dati con l’XML: DTD e XML SchemaXML Namespace: diversi vocabolari nello stesso documento XMLXPath: selezionare porzioni di documenti XMLXSLT: trasformare documenti XML

Da RDF(S) a OWLRDFSPARQLRDF SchemaOWL

Regole e Semantic Web

4 Semantic Web e Web 2.0

Andrea Perego Corso Web 2.0 – Modulo B

Page 8: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Cos’è l’XML I

L’XML (Extensible Markup Language)[Bray et al., 2008, Bray et al., 2006c] nasce nel 1996 con loscopo di fornire un formato standard per la rappresentazione diinformazioni all’interno del Web

L’idea è di applicare a livello applicativo lo stesso principio diInternet: le applicazioni Web possono essere sviluppate conlinguaggi diversi e utilizzare strutture dati incompatibili, madevono poter essere in grado di comunicare tra loro escambiare informazioni utilizzando un linguaggio standard

Il motivo per cui l’XML è considerato una delle componentibase del Semantic Web è che l’interoperabilità dei dati è ilrequisito essenziale perché il Semantic Web possa esistere

Andrea Perego Corso Web 2.0 – Modulo B

Page 9: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Cos’è l’XML II

Non è quindi un caso che l’XML costituisca la sintassistandard per buona parte delle altre tecnologie del SemanticWeb (ad es., RDF(S) e OWL)

Attualmente l’XML è ampiamente utilizzato in ambito Web(ma non solo) come formato standard per importare edesportare dati e, in misura minore, è stato adottato anche perla rappresentazione dei dati impiegata da applicazioni software

L’XML è stato inoltre utilizzato per definire il formato nativodi tecnologie Web sviluppato negli ultimi anni (ad es., le Webfeed)

Andrea Perego Corso Web 2.0 – Modulo B

Page 10: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Cos’è l’XML III

Le versioni dell’XML ora disponibili sono la 1.0[Bray et al., 2008] e la 1.1 [Bray et al., 2006c]

La versione 1.1 prevede estensioni alla sintassi dell’XML 1.0relative, sostanzialmente, all’uso di caratteri Unicode

Per una descrizione dettagliata delle differenze tra XML 1.0 e1.1 si rimanda a [Bray et al., 2006c]:http://www.w3.org/TR/xml11/#sec-xml11

Andrea Perego Corso Web 2.0 – Modulo B

Page 11: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Estensioni dell’XML I

In una fase successiva alla pubblicazione delle specifichedell’XML come W3C Recommendation (1998) sono statisviluppati altri linguaggi per permettere la definizione emanipolazione di documenti XML

Anche in questo caso, lo scopo è fornire tecnologie standard einteroperabili per l’uso di documenti XML

Andrea Perego Corso Web 2.0 – Modulo B

Page 12: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Estensioni dell’XML II

Alcuni esempi sono:

XML Schema Un linguaggo che usa la stessa sintassi dell’XMLper definire documenti XML

XPath Un linguaggio che permette di denotarespecifiche porzioni di un documento XMLindicando un percorso attraverso le componentistrutturali del documento stesso

XQuery Un linguaggio che permette di interrogaredocumenti XML

XSL(T) Un linguaggio che permette di convertiredocumenti XML in altri formati (ad es., HTML)

Andrea Perego Corso Web 2.0 – Modulo B

Page 13: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Sintassi I

Come tutti i linguaggi derivati dall’SGML, l’XML prevede trecomponenti sintattiche principali: elementi, attributi deglielementi e character data

Gli elementi definiscono le caratteristiche strutturali di undocumento XML: in sostanza determinano la struttura dautilizzare per rappresentare e interpretare un insieme di dati

Gli attributi denotano caratteristiche degli elementi utili per lacorretta interpretazione del loro contenuto

Con character data si intendono stringhe di caratteri, dilunghezza variabile, che costituiscono il valore degli attributi ei dati rappresentati dagli elementi

Andrea Perego Corso Web 2.0 – Modulo B

Page 14: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Sintassi II

Un elemento può avere 0 o più attributi, e contenere dati, altrielementi, oppure può essere vuoto (empty)

Elemento con un attributo e contenente character data:

<elemento a t t r i b u t o=" v a l o r e ">d a t i</ e lemento>

Elemento vuoto con un attributo:

<elemento a t t r i b u t o=" v a l o r e " />

Elemento con un attributo e contenente un altro elemento:

1 <elemento1 a t t r i b u t o=" v a l o r e ">2 <elemento2>d a t i</ e lemento2>3 </ elemento1>

Andrea Perego Corso Web 2.0 – Modulo B

Page 15: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Struttura di un documento XML

Un documento XML prevede un insieme di elementi nidificatirappresentabile come un albero, i cui nodi sono costituiti daelementi e attributi, mentre le foglie sono rappresentate daicharacter data

Questa struttura deve essere preceduta dalla XML declaration,che indica la versione del linguaggio XML utilizzata più,eventualmente, la codifica di caratteri impiegata:

<? xml v e r s i o n=" 1.0 " encod ing=" ut f−8"?>

Andrea Perego Corso Web 2.0 – Modulo B

Page 16: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di documento XML. . .

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <r s s v e r s i o n=" 2 .0 ">3 <channe l>4 < t i t l e>Pu b l i c a t i o n s @ DaWSec</ t i t l e>5 <l i n k>h t t p : //www. dicom . u n i n s u b r i a . i t /dawsec /? se c=pubs</ l i n k>6 <l a s tBu i l dDa t e>Mon , 08 Sep 2008 10 : 0 6 : 3 0 +0200</ l a s tBu i l dD a t e>7 <i tem>8 < t i t l e>Barbara Carminat i , E l ena F e r r a r i , Andrea Perego . S e c u r i t y

and Pr i v a c y i n S o c i a l Networks (2008) . I n : Ency c l oped i a o fI n f o rma t i o n Sc i enc e and Technology , 2nd Ed i t i o n . IG IPub l i s h i n g , pp . 3369−3376 , 2008.</ t i t l e>

9 <ca t ego r y>Book ch ap t e r s</ ca t ego r y>10 <l i n k>h t t p : //www. dicom . u n i n s u b r i a . i t / dawsec /pubs/ IST3369 . pdf</ l i n k>11 </ i tem>12 </ channe l>13 </ r s s>

Andrea Perego Corso Web 2.0 – Modulo B

Page 17: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

. . . e la sua rappresentazione ad albero

2.0

Pub. . . http:. . . Mon, 08. . .

Barbara. . . Book. . . http:. . .

rss

@versionchannel

title link lastBuildDate item

title category link

Andrea Perego Corso Web 2.0 – Modulo B

Page 18: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Definire strutture dati con l’XML

È importante notare che l’XML non definisce un insieme dielementi e attributi da utilizzare in documenti XML, ma solouna sintassi

A questo principio fanno eccezione alcuni attributi di caratteregenerale, definiti per una questione di compatibilità (ad es.,xml:lang e xml:base)

Comunque, l’idea è che chiunque, in base alle sue esigenze,può definire un insieme di elementi e attributi a rappresentare idati di uno specifico dominio applicativo

A tal scopo esistono due diverse tecnologie: Document TypeDefinition (DTD) e XML Schema (XSD)

Andrea Perego Corso Web 2.0 – Modulo B

Page 19: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Document Type Definition (DTD)

Il DTD è un linguaggio, diverso dall’XML, che permette didefinire un insieme di elementi e attributi, assieme alle lorocaratteristiche

Il DTD non è stato sviluppato funzionalmente all’XML, ma è illinguaggio che viene utilizzato per la definizione di linguaggicompatibili con l’SGML (di cui l’XML è un sottoinsieme)

Andrea Perego Corso Web 2.0 – Modulo B

Page 20: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di DTD (RSS 2.0) I

1 <!ELEMENT r s s ( channe l )>2 <!ATTLIST r s s v e r s i o n CDATA #FIXED " 2 .0 ">3 <!ELEMENT channe l ( ( i t em+) | ( t i t l e , l i n k , d e s c r i p t i o n , ( l anguage |

c o p y r i g h t | manag ingEd i tor | webMaster | pubDate | l a s tBu i l dD a t e |c a t ego r y | g en e r a t o r | docs | c l oud | t t l | image | t e x t I n p u t |s k i pHou r s | sk ipDays ) ∗) )>

4 <!ELEMENT i t em ( ( t i t l e | d e s c r i p t i o n )+, l i n k ? , ( author | c a t ego r y |comments | e n c l o s u r e | gu id | pubDate | sou r c e ) ∗)>

5 <!ELEMENT author (#PCDATA)>6 <!ELEMENT ca t ego r y (#PCDATA)>7 <!ATTLIST ca t ego r y domain CDATA #IMPLIED>8 <!ELEMENT c l oud (#PCDATA)>9 <!ATTLIST c l oud domain CDATA #IMPLIED po r t CDATA #IMPLIED path CDATA

#IMPLIED r e g i s t e r P r o c e d u r e CDATA #IMPLIED p r o t o c o l CDATA #IMPLIED>10 <!ELEMENT comments (#PCDATA)>11 <!ELEMENT c o p y r i g h t (#PCDATA)>12 <!ELEMENT d e s c r i p t i o n (#PCDATA)>13 <!ELEMENT docs (#PCDATA)>14 <!ELEMENT e n c l o s u r e (#PCDATA)>15 <!ATTLIST e n c l o s u r e u r l CDATA #REQUIRED l e ng t h CDATA #REQUIRED type

CDATA #REQUIRED>16 <!ELEMENT g en e r a t o r (#PCDATA)>17 <!ELEMENT gu id (#PCDATA)>18 <!ATTLIST gu id i sPermaLink ( t r u e | f a l s e ) " t r u e ">19 <!ELEMENT he i gh t (#PCDATA)>

Andrea Perego Corso Web 2.0 – Modulo B

Page 21: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di DTD (RSS 2.0) II

20 <!ELEMENT image ( u r l , t i t l e , l i n k , ( w idth | h e i g h t | d e s c r i p t i o n ) ∗)>21 <!ELEMENT l anguage (#PCDATA)>22 <!ELEMENT l a s t Bu i l dDa t e (#PCDATA)>23 <!ELEMENT l i n k (#PCDATA)>24 <!ELEMENT manag ingEd i tor (#PCDATA)>25 <!ELEMENT name (#PCDATA)>26 <!ELEMENT pubDate (#PCDATA)>27 <!ELEMENT sk ipDays (#PCDATA)>28 <!ELEMENT sk i pHou r s (#PCDATA)>29 <!ELEMENT sou r c e (#PCDATA)>30 <!ATTLIST sou r c e u r l CDATA #REQUIRED>31 <!ELEMENT t e x t I n p u t ( t i t l e , d e s c r i p t i o n , name , l i n k )>32 <!ELEMENT t i t l e (#PCDATA)>33 <!ELEMENT t t l (#PCDATA)>34 <!ELEMENT u r l (#PCDATA)>35 <!ELEMENT webMaster (#PCDATA)>36 <!ELEMENT width (#PCDATA)>

Andrea Perego Corso Web 2.0 – Modulo B

Page 22: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Document Type Declaration

L’URI del DTD che definisce elementi e attributi usati in undocumento XML deve essere specificato nella document typedeclaration, specificata subito dopo la XML declaration:

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE mydoc SYSTEM " h t t p : //www. example . o rg /mydoc . dtd ">3 <mydoc>4 . . .5 </mydoc>

Un DTD può essere contenuto direttamente nella documenttype declaration:

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE mydoc [3 . . .4 ]>5 <mydoc>6 . . .7 </mydoc>

Andrea Perego Corso Web 2.0 – Modulo B

Page 23: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Entity Reference I

Il DTD permette anche la definizione di un costruttoparticolare, denominato entity reference

Una entity reference, per come è utilizzata all’interno di undocumento XML, è assimilabile a una costante, ed è quindicaratterizzata da un nome e da un valore (che può essere unastringa, o anche codice XML)

È utile per vari motivi: ad es., nel caso la stessa stringa debbaessere ripetuta più volte all’interno del documento o percodificare stringhe che non possono essere modificate quandoutilizzate nel documento

Andrea Perego Corso Web 2.0 – Modulo B

Page 24: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Entity Reference II

Un entity reference è definita da una dichiarazione (entityreference declaration), che ha la seguente forma:

<!ENTITY nome " v a l o r e ">

Tale definizione può essere associata a un documento XMLcon gli stessi metodi illustrati per il DTD

Per far riferimento a esso all’interno di un documento si usa lasintassi: &nome;

Andrea Perego Corso Web 2.0 – Modulo B

Page 25: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di definizione e uso di entity reference

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE mydoc [3 <!ENTITY t i t l e " P ub l i c a t i o n s ␣@␣DaWSec">4 ]>5 <r s s v e r s i o n=" 2 .0 ">6 <channe l>7 < t i t l e>&t i t l e ;</ t i t l e>8 <l i n k>h t t p : //www. dicom . u n i n s u b r i a . i t /dawsec /? se c=pubs</ l i n k>9 <l a s tBu i l dDa t e>Mon , 08 Sep 2008 10 : 0 6 : 3 0 +0200</ l a s tBu i l dD a t e>10 <i tem>11 < t i t l e>Barbara Carminat i , E l ena F e r r a r i , Andrea Perego . S e c u r i t y

and Pr i v a c y i n S o c i a l Networks (2008) . I n : Ency c l oped i a o fI n f o rma t i o n Sc i enc e and Technology , 2nd Ed i t i o n . IG IPub l i s h i n g , pp . 3369−3376 , 2008.</ t i t l e>

12 <ca t ego r y>Book ch ap t e r s</ ca t ego r y>13 <l i n k>h t t p : //www. dicom . u n i n s u b r i a . i t / dawsec /pubs/ IST3369 . pdf</ l i n k>14 </ i tem>15 </ channe l>16 </ r s s>

Andrea Perego Corso Web 2.0 – Modulo B

Page 26: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Character Entity Reference I

Esiste un particolare tipo di entity reference che sonopredefinite in XML: i character entity reference

Sono usati esclusivamente per denotare singoli caratteriutilizzando il codice numerico che li identifica all’interno dellacodifica Unicode

La loro sintassi:

CharRef : := ’&#’ [0−9]+ ’ ; ’ | ’&#x ’ [0−9a−fA−F]+ ’ ; ’

dove [0-9]+ denota un numero decimale, mentre [0-9a-fA-F]+un numero esadecimale

Ad es.: &#38; e &#x26; corrispondono entrambi alcarattere &

Andrea Perego Corso Web 2.0 – Modulo B

Page 27: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Character Entity Reference II

L’XML prevede una denominazione simbolica, e non numerica,per alcuni caratteri (i.e., quelli che hanno un valore sintatticospecifico):

&amp; corrisponde a &&lt; corrisponde a <&gt; corrisponde a >&apos; corrisponde a ’&quot; corrisponde a ”

Il vantaggio dei character entity reference è che è possibileincludere in un documento XML caratteri non appartenentiall’insieme ASCII utilizzando solo caratteri ASCII

Andrea Perego Corso Web 2.0 – Modulo B

Page 28: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Character Entity Reference III

A parte i vantaggi di codificare in ASCII (relativamente alladimensione finale del file) dato che tutte le codifiche deicaratteri esistenti sono soprainsiemi dell’ASCII, questogarantisce che i caratteri contenuti in un documento sianorappresentati sempre correttamente

Andrea Perego Corso Web 2.0 – Modulo B

Page 29: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XML Schema (XSD) I

In una fase successiva alla pubblicazione delle specifichedell’XML fu deciso di sviluppare un nuovo linguaggio per ladefinizione di documenti XML, chiamato XML Schema (XSD)[Thompson et al., 2004, Biron and Malhotra, 2004], a suavolta basato sull’XML

Il motivo di questa scelta si basa su alcune considerazioni

Ad es., i DTD non forniscono strumenti sufficientementeflessibili per la definizione di documenti XML. In particolare, idati contenuti in un documento XML possono esserecaratterizzati solo come testo

Andrea Perego Corso Web 2.0 – Modulo B

Page 30: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XML Schema (XSD) II

Se però l’XML deve essere utilizzato come formato standardper la rappresentazione di informazioni è necessario poterqualificare nel modo più preciso possibile il tipo di dato di uncerto valore (numero, data, valore booleano, etc.)

Inoltre i DTD utilizzano un linguaggio diverso dall’XML, equindi è necessario avere a disposizione specifiche applicazioniin grado di comprenderlo

Al contrario, se la definizione di un documento XML vieneeffettuata utilizzando un linguaggio basato sull’XML, èpossibile utilizzare le stesse applicazioni per processaredocumenti XML e verificare che rispettino la definizione che neè stata fatta

Andrea Perego Corso Web 2.0 – Modulo B

Page 31: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XML Schema (XSD) III

L’XSD si presenta quindi come uno strumento in grado didescrivere i dati con la stessa espressività di linguaggi comel’SQL, e garantisce l’interoperabilità di tali definizioniutilizzando la sintassi XML

Andrea Perego Corso Web 2.0 – Modulo B

Page 32: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XSD: componenti principali I

I costrutti di base forniti dall’XSD permettono di definire:elementiattributi

tipi di dato (datatype)

L’XSD mette a disposizione un insieme predefinito di tipi didato (built-in datatypes), che possono essere utilizzati perdefinire nuovi tipi di dato

I tipi di dato vengono utilizzati per denotare sia il contenutodegli elementi che i valori degli attributi

Andrea Perego Corso Web 2.0 – Modulo B

Page 33: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XSD: componenti principali II

Ecco alcuni degli elementi XSD utilizzati per definire unoschema XML:

element: definise un elemento

attribute: definisce un attributo

complexType: definisce la struttura di un elemento (qualisono i suoi elementi figli, gli attributi, etc.)

simpleType: definisce tipi di dato personalizzati a partire daquelli supportati di default dall’XSD

Andrea Perego Corso Web 2.0 – Modulo B

Page 34: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Tipo di dato definiti da XML Schema

Fonte: http://www.w3.org/TR/xmlschema-2/#built-in-datatypes [Biron and Malhotra, 2004]

Andrea Perego Corso Web 2.0 – Modulo B

Page 35: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di XML Schema (RSS 2.0) I

1 <? xml v e r s i o n=" 1 .0 " encod ing="UTF−8"?>2 <xs: schema xm ln s : x s=" h t t p : //www.w3 . org /2001/XMLSchema"

e l ementFormDefau l t=" u n q u a l i f i e d " v e r s i o n=" 2 . 0 . 2 . 1 6 ">3 <x s : e l emen t name=" r s s ">4 <xs:complexType>5 <x s : s e qu e nc e>6 <xs : e l emen t name=" channe l " type="RssChanne l"/>7 <xs : an y namespace="##othe r " p r oc e s sCon t en t s=" l a x " minOccurs="0"

maxOccurs="unbounded "/>8 </ x s : s e qu e n ce>9 <x s : a t t r i b u t e name=" v e r s i o n " type=" x s : d e c im a l " use=" r e q u i r e d "

f i x e d=" 2 .0 "/>10 <x s : a n yA t t r i b u t e namespace="##any"/>11 </ xs :complexType>12 </ x s : e l emen t>13 <xs :complexType name="Rss I tem">14 <x s : s eq u e nc e>15 <x s : c h o i c e maxOccurs="unbounded ">16 <xs : e l emen t name=" t i t l e " type=" x s : s t r i n g " minOccurs="0" />17 <xs : e l emen t name=" d e s c r i p t i o n " type=" x s : s t r i n g " minOccurs="0" />18 <xs : e l emen t name=" l i n k " type=" xs :anyURI " minOccurs="0" />19 <xs : e l emen t name=" author " type="Emai lAddress " minOccurs="0" />20 <xs : e l emen t name=" ca t ego r y " type="Category " minOccurs="0" />21 <xs : e l emen t name="comments" type=" xs :anyURI " minOccurs="0" />22 <xs : e l emen t name=" en c l o s u r e " type=" Enc l o su r e " minOccurs="0" />

Andrea Perego Corso Web 2.0 – Modulo B

Page 36: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di XML Schema (RSS 2.0) II

23 <xs : e l emen t name=" gu id " type="Guid " minOccurs="0" />24 <xs : e l emen t name="pubDate" type="Rfc822FormatDate"

minOccurs="0" />25 <xs : e l emen t name=" sou r c e " type="Source" minOccurs="0" />26 <xs : an y namespace="##othe r " p r oc e s sCon t en t s=" l a x " minOccurs="0"

maxOccurs="unbounded " />27 </ x s : c h o i c e>28 </ x s : s eq u e nc e>29 <x s : a n yA t t r i b u t e namespace="##any "/>30 </ xs :complexType>31 <xs :complexType name="RssChanne l">32 <x s : s eq u e nc e>33 <x s : c h o i c e maxOccurs="unbounded ">34 <xs : e l emen t name=" t i t l e " type=" x s : s t r i n g " />35 <xs : e l emen t name=" l i n k " type=" xs :anyURI " />36 <xs : e l emen t name=" d e s c r i p t i o n " type=" x s : s t r i n g " />37 <xs : e l emen t name=" language " type=" x s : l a n g u a g e " minOccurs="0" />38 <xs : e l emen t name=" co p y r i g h t " type=" x s : s t r i n g " minOccurs="0" />39 <xs : e l emen t name="manag ingEd i tor " type=" Emai lAddress "

minOccurs="0" />40 <xs : e l emen t name="webMaster " type="Emai lAddress " minOccurs="0"

/>41 <xs : e l emen t name="pubDate" type="Rfc822FormatDate"

minOccurs="0" />42 <xs : e l emen t name=" l a s tBu i l dDa t e " type="Rfc822FormatDate"

minOccurs="0" />

Andrea Perego Corso Web 2.0 – Modulo B

Page 37: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di XML Schema (RSS 2.0) III

43 <xs : e l emen t name=" ca t ego r y " type="Category " minOccurs="0" />44 <xs : e l emen t name=" g ene r a t o r " type=" x s : s t r i n g " minOccurs="0" />45 <xs : e l emen t name=" docs " type=" xs :anyURI " minOccurs="0" />46 <xs : e l emen t name=" c l oud " type="Cloud" minOccurs="0" />47 <xs : e l emen t name=" t t l " type=" x s : n o nNe g a t i v e I n t e g e r "

minOccurs="0" />48 <xs : e l emen t name=" image " type=" Image" minOccurs="0" />49 <xs : e l emen t name=" r a t i n g " type=" x s : s t r i n g " minOccurs="0" />50 <xs : e l emen t name=" t e x t I n p u t " type="Text Input " minOccurs="0" />51 <xs : e l emen t name=" sk i pHou r s " type=" Sk i pHou r sL i s t " minOccurs="0"

/>52 <xs : e l emen t name=" sk ipDays " type=" Sk i pDay sL i s t " minOccurs="0" />53 <xs : an y namespace="##othe r " p r oc e s sCon t en t s=" l a x " minOccurs="0"

maxOccurs="unbounded " />54 </ x s : c h o i c e>55 <xs : e l emen t name=" i tem" type="Rss I tem" minOccurs="1"

maxOccurs="unbounded " />56 <x s : an y namespace="##othe r " p r oc e s sCon t en t s=" l a x " minOccurs="0"

maxOccurs="unbounded " />57 </ x s : an y>58 </ x s : s eq u e nc e>59 <x s : a n yA t t r i b u t e namespace="##any "/>60 </ xs :complexType>61 <xs : s imp l eType name="SkipHour ">62 <x s : r e s t r i c t i o n base=" x s : n o nNe g a t i v e I n t e g e r ">63 <x s : m i n I n c l u s i v e v a l u e="0"/>

Andrea Perego Corso Web 2.0 – Modulo B

Page 38: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di XML Schema (RSS 2.0) IV

64 <x s :m a x I n c l u s i v e v a l u e="23"/>65 </ x s : r e s t r i c t i o n>66 </ x s : s imp l eType>67 <xs :complexType name=" Sk i pHou r s L i s t ">68 <x s : s eq u e nc e>69 <xs : e l emen t name=" hour " type="SkipHour " minOccurs="0"

maxOccurs="24"/>70 </ x s : s eq u e nc e>71 </ xs :complexType>72 <xs : s imp l eType name="SkipDay ">73 <x s : r e s t r i c t i o n base=" x s : s t r i n g ">74 <xs : enume ra t i o n va l u e="Monday"/>75 <xs : enume ra t i o n va l u e="Tuesday "/>76 <xs : enume ra t i o n va l u e="Wednesday "/>77 <xs : enume ra t i o n va l u e="Thursday"/>78 <xs : enume ra t i o n va l u e=" Fr i day "/>79 <xs : enume ra t i o n va l u e=" Saturday "/>80 <xs : enume ra t i o n va l u e="Sunday"/>81 </ x s : r e s t r i c t i o n>82 </ x s : s imp l eType>83 <xs :complexType name=" Sk i pDay sL i s t ">84 <x s : s eq u e nc e>85 <xs : e l emen t name="day " type="SkipDay " minOccurs="0" maxOccurs="7"

/>86 </ x s : s eq u e nc e>87 </ xs :complexType>

Andrea Perego Corso Web 2.0 – Modulo B

Page 39: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di XML Schema (RSS 2.0) V

88 <xs :complexType name="Category ">89 <x s : s imp l eCon t e n t>90 <x s : e x t e n s i o n base=" x s : s t r i n g ">91 <x s : a t t r i b u t e name="domain" type=" x s : s t r i n g " use=" o p t i o n a l "/>92 </ x s : e x t e n s i o n>93 </ x s : s imp l eCon t e n t>94 </ xs :complexType>95 <xs :complexType name=" Image ">96 <x s : a l l>97 <xs : e l emen t name=" u r l " type=" xs :anyURI " />98 <xs : e l emen t name=" t i t l e " type=" x s : s t r i n g " />99 <xs : e l emen t name=" l i n k " type=" xs :anyURI " />

100 <xs : e l emen t name="width " type=" ImageWidth" d e f a u l t="88"minOccurs="0" />

101 <xs : e l emen t name=" h e i g h t " type=" ImageHe ight" d e f a u l t="31"minOccurs="0" />

102 <xs : e l emen t name=" d e s c r i p t i o n " type=" x s : s t r i n g " minOccurs="0" />103 </ x s : a l l>104 </ xs :complexType>105 <xs : s imp l eType name=" ImageHe ight">106 <x s : r e s t r i c t i o n base=" x s : p o s i t i v e I n t e g e r ">107 <x s :m a x I n c l u s i v e v a l u e="400"/>108 </ x s : r e s t r i c t i o n>109 </ x s : s imp l eType>110 <xs : s imp l eType name=" ImageWidth ">111 <x s : r e s t r i c t i o n base=" x s : p o s i t i v e I n t e g e r ">

Andrea Perego Corso Web 2.0 – Modulo B

Page 40: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di XML Schema (RSS 2.0) VI

112 <x s :m a x I n c l u s i v e v a l u e="144"/>113 </ x s : r e s t r i c t i o n>114 </ x s : s imp l eType>115 <xs :complexType name="Cloud ">116 <x s : a t t r i b u t e name="domain" type=" x s : s t r i n g " use=" r e q u i r e d "/>117 <x s : a t t r i b u t e name=" po r t " type=" x s : p o s i t i v e I n t e g e r " use=" r e q u i r e d "/>118 <x s : a t t r i b u t e name=" path " type=" x s : s t r i n g " use=" r e q u i r e d "/>119 <x s : a t t r i b u t e name=" r e g i s t e r P r o c e d u r e " type=" x s : s t r i n g "

use=" r e q u i r e d "/>120 <x s : a t t r i b u t e name=" p r o t o c o l " type=" C l oudPro toco l " use=" r e q u i r e d "/>121 </ xs :complexType>122 <xs : s imp l eType name=" C l oudPro toco l ">123 <x s : r e s t r i c t i o n base=" x s : s t r i n g ">124 <xs : enume ra t i o n va l u e="xml−rpc "/>125 <xs : enume ra t i o n va l u e="http−post "/>126 <xs : enume ra t i o n va l u e=" soap "/>127 </ x s : r e s t r i c t i o n>128 </ x s : s imp l eType>129 <xs :complexType name="Text Input ">130 <x s : a l l>131 <xs : e l emen t name=" t i t l e " type=" x s : s t r i n g " />132 <xs : e l emen t name=" d e s c r i p t i o n " type=" x s : s t r i n g " />133 <xs : e l emen t name="name" type=" x s : s t r i n g " />134 <xs : e l emen t name=" l i n k " type=" xs :anyURI " />135 </ x s : a l l>136 </ xs :complexType>

Andrea Perego Corso Web 2.0 – Modulo B

Page 41: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di XML Schema (RSS 2.0) VII

137 <xs : s imp l eType name="Emai lAddress ">138 <x s : r e s t r i c t i o n base=" x s : s t r i n g ">139 <x s : p a t t e r n

va l u e=" ( [ a−zA−Z0−9_\−]) ( [ a−zA−Z0−9_\−\.]∗)@(\[( (25 [0 −5] |2 [0 −4] [0 −9] |1 [140 </ x s : r e s t r i c t i o n>141 </ x s : s imp l eType>142 <xs : s imp l eType name="Rfc822FormatDate">143 <x s : r e s t r i c t i o n base=" x s : s t r i n g ">144 <x s : p a t t e r n v a l u e=" ( ( (Mon) | ( Tue ) | (Wed) | ( Thu) | ( F r i ) | ( Sat ) | ( Sun ) ) , ␣

∗) ?\d\d?␣+(( Jan ) | ( Feb ) | ( Mar) | ( Apr ) | (May) | ( Jun ) | ( J u l ) | ( Aug) | ( Sep ) | ( Oct ) | ( Nov ) | (+\d\d(\ d\d ) ?␣+\d\ d : \d\d ( : \d\d ) ?␣+(([+\−]?\d\d\d\d ) | (UT) | (GMT) | ( EST) | (EDT) | (CST) | (CDT) | (MST) | (MDT) | ( PST

145 </ x s : r e s t r i c t i o n>146 </ x s : s imp l eType>147 <xs :complexType name="Source ">148 <x s : s imp l eCon t e n t>149 <x s : e x t e n s i o n base=" x s : s t r i n g ">150 <x s : a t t r i b u t e name=" u r l " type=" xs :anyURI "/>151 </ x s : e x t e n s i o n>152 </ x s : s imp l eCon t e n t>153 </ xs :complexType>154 <xs :complexType name=" Enc l o su r e ">155 <x s : s imp l eCon t e n t>156 <x s : e x t e n s i o n base=" x s : s t r i n g ">157 <x s : a t t r i b u t e name=" u r l " type=" xs :anyURI " use=" r e q u i r e d " />

Andrea Perego Corso Web 2.0 – Modulo B

Page 42: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di XML Schema (RSS 2.0) VIII

158 <x s : a t t r i b u t e name=" l e ng t h " type=" x s : n o nNeg a t i v e I n t e g e r "use=" r e q u i r e d " 7>

159 <x s : a t t r i b u t e name=" type " type=" x s : s t r i n g " use=" r e q u i r e d " />160 </ x s : e x t e n s i o n>161 </ x s : s imp l eCon t e n t>162 </ xs :complexType>163 <xs :complexType name="Guid ">164 <x s : s imp l eCon t e n t>165 <x s : e x t e n s i o n base=" x s : s t r i n g ">166 <x s : a t t r i b u t e name=" i sPermaLink " type=" x s : b o o l e a n "

use=" o p t i o n a l " d e f a u l t=" t r u e "/>167 </ x s : e x t e n s i o n>168 </ x s : s imp l eCon t e n t>169 </ xs :complexType>170 </ xs : schema>

Andrea Perego Corso Web 2.0 – Modulo B

Page 43: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XML Namespace I

A un documento XML è possibile associare un solo DTD: ciòsignifica che tutti gli elementi e attributi e utilizzati in undocumento fanno parte dello stesso vocabolario XML

Il problema è che diversi DTD possono definireelementi/attributi diversi, ma con lo stesso nome: in tal caso,non è possibile individuare a priori quale sia il DTD che includela definizione di tali elementi/attributi

L’XML Schema permette invece di utilizzare nello stessodocumento XML più vocabolari XML attraverso il meccanismodei namespace [Bray et al., 2006a, Bray et al., 2006b]

Andrea Perego Corso Web 2.0 – Modulo B

Page 44: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XML Namespace II

Un namespace permette di identificare univocamenteall’interno di un documento XML elementi/attributi con lostesso nome locale, associando loro un prefisso univoco, a suavolta associato a un URI/IRI

Tale URI/IRI, denominato namespace name, identificaunivocamente il vocabolario utilizzato

Un namespace name può eventualmente (ma nonnecessariamente) corrispondere all’URL di tale vocabolario(cioè, il namespace name potrebbe essere utilizzato perrecuperare il corrispondente schema XML via Internet)

Andrea Perego Corso Web 2.0 – Modulo B

Page 45: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Uso dei Namespace I

Elementi/attributi definiti in vocabolari con diverso namespacesono specificati attraverso un qualified name, ottenutoconcatenando il prefisso del namespace con il nome localedell’elemento/attributo, separati da “:” (ad es., html:table)

Il prefisso è omesso in caso di default namespace (vedremo piùtardi questa nozione)

Si deve dichiarare il prefisso degli attributi solo in caso il loronamespace sia diverso da quello dell’elemento che li contiene

L’expanded name di un elemento/attributo è invece unacoppia che contiene il namespace name e il nome locale di taleelemento/attributo

Andrea Perego Corso Web 2.0 – Modulo B

Page 46: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Uso dei Namespace II

I namespace name degli elementi/attributi usati in undocumento XML devono essere tutti dichiarati esplicitamente

Fanno eccezione i namespace corrispondenti ai prefissi xml(usato per attributi quali xml:lang e xml:base) e xmlns: ilprimo può non essere dichiarato; il secondo non deve esseredichiarato

Andrea Perego Corso Web 2.0 – Modulo B

Page 47: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Uso dei Namespace III

La dichiarazione di un namespace viene effettuata usandol’attributo xmlns

Deve essere effettuata prima di utilizzare elementi/attributiriferiti a tale namespace

Può essere specificata in qualunque elemento del documentoXML

L’elemento in cui è dichiarato un namespace name determinaanche la sua visibilità: cioè, un namespace name è visibile datutti gli elementi che sono figli dell’elemento in cui ilnamespace è stato dichiarato

Andrea Perego Corso Web 2.0 – Modulo B

Page 48: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Uso dei Namespace IV

Per associare un prefisso a un namespace name, ladichiarazione ha la seguente forma:

xm l n s : p r e f i x="namespace␣name"

Ad es.:

xm ln s :h tm l=" h t t p : //www.w3 . org /1999/ xhtml "

Tutti gli elementi/attributi che fanno riferimento a talenamespace dovranno essere specificati con il prefisso. Ad es.:

1 <? xml v e r s i o n=" 1 .0 "?>2 <htm l : h tm l xm ln s : h tm l=’ h t t p : //www.w3 . org /1999/ xhtml ’>3 <html :head> . . .</ html :head>4 <html :body> . . .</ html :body>5 </ htm l : h tm l>

Andrea Perego Corso Web 2.0 – Modulo B

Page 49: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Uso dei Namespace V

La scelta del prefisso di un namespace name dipende solodall’autore del documento XML

In altre parole, possono esistere documenti XML che utilizzanogli stessi namespace name, associati però a prefissi diversi

Fanno eccezione i prefissi xml e xmlns, che sono associati didefault a specifici namespace name:

xm l : h t t p : //www.w3 . org /XML/1998/ namespacexm ln s : h t t p : //www.w3 . org /2000/ xmlns/

Andrea Perego Corso Web 2.0 – Modulo B

Page 50: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Uso dei Namespace VI

È possibile omettere il prefisso nella dichiarazione delnamespace name

In tal caso si parla di default namespace (per il namespacename) e unprefixed name (per elementi/attributi)

Nell’esempio che segue, tutti gli elementi fanno riferimentoallo stesso default namespace:

1 <? xml v e r s i o n=" 1 .0 "?>2 <html xmlns=’ h t t p : //www.w3 . org /1999/ xhtml ’>3 <head> . . .</head>4 <body> . . .</body>5 </html>

NB: Non può esistere più di un default namespace nello stessodocumento XML

Andrea Perego Corso Web 2.0 – Modulo B

Page 51: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XPath I

Se l’XML permette di rappresentare informazioni attraversostrutture dati standardizzate, il passo successivo è quello dipoter accedere in modo selettivo a tali informazioni

Dato che elementi e attributi XML forniscono un contestointerpretativo ai dati, accedere alle informazioni contenute inun documento XML si risolve nella possibilità di effettuareinterrogazioni sul contenuto di elementi e attributi

Tale principio è analogo a quello adottato, ad es., nellinguaggio SQL, che permette di effettuare interrogazioni surelazioni e attributi di un database

Andrea Perego Corso Web 2.0 – Modulo B

Page 52: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XPath II

Il linguaggio XPath (XML Path Language)[Clark and DeRose, 1999] è stato sviluppato esattamente perpoter selezionare particolari porzioni di un documento XML

A tal scopo, e viene impiegato da altre tecnologie XML, comeXQuery e XSLT, che hanno bisogno di tale funzionalità

La sua utilità va comunque ben oltre: ad es., vienenormalmente impiegato per costruire mash-up di siti Web (unesempio sono i siti che recuperano informazioni sui voli lowcost di compagnie diverse)

Nel seguito forniremo una panoramica del linguaggio XPath.Per una completa descrizione delle sue funzionalità si rimandaa [Clark and DeRose, 1999]

Andrea Perego Corso Web 2.0 – Modulo B

Page 53: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Caratteristiche di XPath I

XPath prevede varie classi di espressioni, tra le quali ha unarilevanza primaria quella denotata con location path, uncostrutto che permette di selezionare elementi/attributi di undocumento XML facendo riferimento al DOM

Un location path impiega una sintassi che, nella sua formabase, ricorda quella usata per indicare un percorso all’internodel filesystem di un sistema Unix

In base a questa analogia, gli elementi e gli attributi deldocumento XML sono assimilabili a directory

Andrea Perego Corso Web 2.0 – Modulo B

Page 54: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Caratteristiche di XPath II

Un location path è quindi espresso elencando glielementi/attributi (i.e., i nodi del DOM) da attraversare perraggiungere il nodo di interesseCome in Unix,

il simbolo / è impiegato per separare i nomi dei nodi daattraversareil simbolo * denota qualsiasi nodoi simboli . e .. denotano, rispettivamente, il nodo corrente e ilsuo genitorein aggiunta, la stringa // denota un qualsiasi percorsiintermedio, di lunghezza indefinita, tra due nodi

Per gli elementi, si usa il loro nome (eventualmente completodi prefisso), mentre gli attributi sono indicati con il loro nome,preceduto da @

Andrea Perego Corso Web 2.0 – Modulo B

Page 55: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Caratteristiche di XPath III

XPath estende inoltre la sintassi dei percorsi Unix attraverso:

parole chiave (axis) che specificano la relazione esistente tranodi all’interno del DOM (ad es., child, descendant, parent,ancestor, attribute, namespace)

operatori di confronto (=, !=, <, <=, >, >=)

operatori booleani (and, or)

predicati sui nodi (ad es.,chapter[child::title=’Introduction’])

funzioni; ad es.,

la funzione text() seleziona il contenuto testuale di un nodo

position() seleziona la posizione di un nodo rispetto alleoccorrenze di elementi/attributi con lo stesso nome

Andrea Perego Corso Web 2.0 – Modulo B

Page 56: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Alcuni esempi di location path I

/ r s s / @ve r s i on / t e x t ( )

2.0

Pub. . . http:. . . Mon, 08. . .

Barbara. . . Book. . . http:. . .

rss

@versionchannel

title link lastBuildDate item

title category link

Andrea Perego Corso Web 2.0 – Modulo B

Page 57: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Alcuni esempi di location path II

/ r s s / channe l / t i t l e or / r s s / channe l / l i n k

2.0

Pub. . . http:. . . Mon, 08. . .

Barbara. . . Book. . . http:. . .

rss

@versionchannel

title link lastBuildDate item

title category link

Andrea Perego Corso Web 2.0 – Modulo B

Page 58: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Alcuni esempi di location path III

/ r s s / channe l /∗

2.0

Pub. . . http:. . . Mon, 08. . .

Barbara. . . Book. . . http:. . .

rss

@versionchannel

title link lastBuildDate item

title category link

Andrea Perego Corso Web 2.0 – Modulo B

Page 59: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Alcuni esempi di location path IV

// t i t l e

2.0

Pub. . . http:. . . Mon, 08. . .

Barbara. . . Book. . . http:. . .

rss

@versionchannel

title link lastBuildDate item

title category link

Andrea Perego Corso Web 2.0 – Modulo B

Page 60: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XSLT I

Con XSL (XML Stylesheet Language) si denota una famiglia dilinguaggi utilizzati per trasformare documenti XML in altriformati, e per definire come devono essere presentati

A parte l’XSL, utilizzato per definire la formattazione didocumenti XML, di questa famiglia fanno parte anche XPath,XQuery e XSLT, in quanto linguaggi che permettono diselezionare il contenuto di documenti XML e/o di trasformarloin altro formato, prima di applicare le regole di formattazionedefinite dall’XSL

Andrea Perego Corso Web 2.0 – Modulo B

Page 61: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XSLT II

L’XSLT (XSL Transformations) [Clark, 1999] è una delletecnologie più interessanti tra quelle disponibili per lamanipolazione di documenti XML

Esso permette di estrarre specifiche porzioni di un documentoXML e/o di trasformare il documento XML in altri formati,che possono essere o testuali o adottare una sintassi XML (ades., XHTML, RDF/XML, OWL)

Andrea Perego Corso Web 2.0 – Modulo B

Page 62: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

XSLT III

È possibile individuare tre principali classi di costrutti:espressioni XPath per la selezione di porzioni di un documentoXMLregole di trasformazione, espresse attraverso un linguaggio ditipo procedurale, che utilizza la sintassi XMLle template rule, che determinano quali trasformazioni devonoessere effettuate su nodi che condividono certe caratteristiche

Per applicare uno XSLT su un documento XML esistono duemetodi:

Associare direttamente l’XSLT includendo l’istruzionexml-stylesheet direttamente nel documentoUtilizzare un processore XSL, che prende come argomenti ildocumento XML e l’XSLT da applicare

Andrea Perego Corso Web 2.0 – Modulo B

Page 63: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di trasformazione XSLT I

Documento originario:

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <r s s v e r s i o n=" 2 .0 " xmlns=" h t t p : // cybe r . law . ha r v a r d . edu/ r s s / r s s . html ">3 <channe l>4 < t i t l e>Pu b l i c a t i o n s @ DaWSec</ t i t l e>5 <l i n k>h t t p : //www. dicom . u n i n s u b r i a . i t /dawsec /? se c=pubs</ l i n k>6 <l a s tBu i l dDa t e>Mon , 08 Sep 2008 10 : 0 6 : 3 0 +0200</ l a s tBu i l dD a t e>7 <i tem>8 < t i t l e>Barbara Carminat i , E l ena F e r r a r i , Andrea Perego . S e c u r i t y

and Pr i v a c y i n S o c i a l Networks (2008) . I n : Ency c l oped i a o fI n f o rma t i o n Sc i enc e and Technology , 2nd Ed i t i o n . IG IPub l i s h i n g , pp . 3369−3376 , 2008.</ t i t l e>

9 <ca t ego r y>Book ch ap t e r s</ ca t ego r y>10 <l i n k>h t t p : //www. dicom . u n i n s u b r i a . i t / dawsec /pubs/ IST3369 . pdf</ l i n k>11 </ i tem>12 </ channe l>13 </ r s s>

Andrea Perego Corso Web 2.0 – Modulo B

Page 64: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di trasformazione XSLT II

Cosa si “vede”?

Andrea Perego Corso Web 2.0 – Modulo B

Page 65: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di trasformazione XSLT III

XSLT da applicare:

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8" ?>2 <x s l : t r a n s f o rm xm l n s : x s l=" h t t p : //www.w3 . org /1999/XSL/Transform "

xm l n s : r s s=" h t t p : // cybe r . law . ha r v a r d . edu/ r s s / r s s . html "v e r s i o n=" 1 .0 ">

3 <x s l : o u t p u t method="xml" i n de n t=" yes " encod ing=" ut f−8"doctype−system=" h t t p : //www.w3 . org /TR/xhtml1 /DTD/xhtml1−s t r i c t . dtd "doctype−pu b l i c="−//W3C//DTD␣XHTML␣ 1 .0 ␣ S t r i c t //EN" />

4 <x s l : t e mp l a t e match="/ r s s : r s s / r s s : c h a n n e l ">5 <html xmlns=" h t t p : //www.w3 . org /1999/ xhtml ">6 <head>7 < t i t l e><x s l : v a l u e −o f s e l e c t=" r s s : t i t l e " /></ t i t l e>8 <s t y l e type=" t e x t / c s s ">9 body { font−f a m i l y : Lucida , sans−s e r i f ; ma rg i n : 0 ; }10 h1 {background−c o l o r : #4444aa ; c o l o r : # f f f f f f ; ma rg i n : 0 ;

padd i ng : 1em}11 #con t en t {ma rg i n : 40 px ; }12 #f o o t { border−t o p : s o l i d 1px #4444aa ; padd i ng : 0 40px ; font−s i z e :

. 8 em;}13 </ s t y l e>14 </head>15 <body>16 <h1><x s l : v a l u e −o f s e l e c t=" r s s : t i t l e " /></h1>17 <d i v i d=" con t en t ">18 <d l>

Andrea Perego Corso Web 2.0 – Modulo B

Page 66: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di trasformazione XSLT IV

19 <x s l : a p p l y−t emp l a t e s s e l e c t=" r s s : i t em " />20 </ d l>21 </ d i v>22 <d i v i d=" fo o t ">23 <p>Last upda t e : <x s l : v a l u e −o f s e l e c t=" r s s : l a s t B u i l d D a t e " /></p>24 <p>URL: <a h r e f="{ r s s : l i n k }"><x s l : v a l u e −o f s e l e c t=" r s s : l i n k "

/></a></p>25 </ d i v>26 </body>27 </html>28 </ x s l : t e mp l a t e>29 <x s l : t e mp l a t e match=" r s s : i t em ">30 <dt><s t r o ng><x s l : v a l u e −o f s e l e c t=" r s s : t i t l e " /></ s t r o ng></dt>31 <dd>32 <p>Catego r y : <x s l : v a l u e −o f s e l e c t=" r s s : c a t e g o r y " /></p>33 <p>URL: <a h r e f="{ r s s : l i n k }"><x s l : v a l u e −o f s e l e c t=" r s s : l i n k "

/></a></p>34 </dd>35 </ x s l : t e mp l a t e>36 </ x s l : t r a n s f o rm>

Andrea Perego Corso Web 2.0 – Modulo B

Page 67: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di trasformazione XSLT V

Codice XHTML risultante:

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE html PUBLIC "−//W3C//DTD␣XHTML␣ 1 .0 ␣ S t r i c t //EN"

" h t t p : //www.w3 . org /TR/xhtml1 /DTD/xhtml1−s t r i c t . dtd ">3 <html xmlns=" h t t p : //www.w3 . org /1999/ xhtml "

xm l n s : r s s=" h t t p : // cybe r . law . ha r v a r d . edu/ r s s / r s s . html ">4 <head>5 <meta http−equ i v="Content−Type" con t en t=" t e x t / html ; ␣ c h a r s e t=ut f−8"

/>6 < t i t l e>Pu b l i c a t i o n s @ DaWSec</ t i t l e>7 <s t y l e type=" t e x t / c s s ">8 body { font−f a m i l y : Lucida , sans−s e r i f ; ma rg i n : 40 px ; }9 </ s t y l e>10 </head>11 <body>12 <h1>Pub l i c a t i o n s @ DaWSec</h1>13 <d l>14 <dt xmlns="">15 <s t r o ng>Barbara Carminat i , E l ena F e r r a r i , Andrea Perego .

S e c u r i t y and Pr i v a c y i n S o c i a l Networks (2008) . I n :Ency c l oped i a o f I n f o rma t i o n Sc i enc e and Technology , 2ndEd i t i o n . IG I Pub l i s h i ng , pp . 3369−3376 , 2008.</ s t r o ng>

16 </dt>17 <dd xmlns="">18 <p>Catego r y : Book c ha p t e r s</p>

Andrea Perego Corso Web 2.0 – Modulo B

Page 68: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di trasformazione XSLT VI

19 <p>URL: <a h r e f=" . . . "> . . .</a></p>20 </dd>21 </ d l>22 <hr />23 <p>Last upda t e : Mon , 08 Sep 2008 10 : 0 6 : 3 0 +0200</p>24 <p>URL: <a h r e f=" . . . "> . . .</a></p>25 </body>26 </html>

Andrea Perego Corso Web 2.0 – Modulo B

Page 69: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di trasformazione XSLT VII

Cosa si vede?

Andrea Perego Corso Web 2.0 – Modulo B

Page 70: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di trasformazione XSLT VIII

Come associare direttamente l’XSLT al documento RSS:

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <? xml−s t y l e s h e e t type=" t e x t / x s l " h r e f=" ./ r s s 2 h tm l . x s l "?>3 <r s s v e r s i o n=" 2 .0 " xmlns=" h t t p : // cybe r . law . ha r v a r d . edu/ r s s / r s s . html ">4 <channe l>5 < t i t l e>Pu b l i c a t i o n s @ DaWSec</ t i t l e>6 <l i n k>h t t p : //www. dicom . u n i n s u b r i a . i t /dawsec /? se c=pubs</ l i n k>7 <l a s tBu i l dDa t e>Mon , 08 Sep 2008 10 : 0 6 : 3 0 +0200</ l a s tBu i l dD a t e>8 <i tem>9 < t i t l e>Barbara Carminat i , E l ena F e r r a r i , Andrea Perego . S e c u r i t y

and Pr i v a c y i n S o c i a l Networks (2008) . I n : Ency c l oped i a o fI n f o rma t i o n Sc i enc e and Technology , 2nd Ed i t i o n . IG IPub l i s h i n g , pp . 3369−3376 , 2008.</ t i t l e>

10 <ca t ego r y>Book ch ap t e r s</ ca t ego r y>11 <l i n k>h t t p : //www. dicom . u n i n s u b r i a . i t / dawsec /pubs/ IST3369 . pdf</ l i n k>12 </ i tem>13 </ channe l>14 </ r s s>

Andrea Perego Corso Web 2.0 – Modulo B

Page 71: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di trasformazione XSLT IX

Come usare un processore XSL:

1 <?php

3 $xml = new DOMDocument ;4 $xml−>load ( " . / r s s . xml" ) ;5 $ x s l = new DOMDocument ;6 $x s l−>load ( " . / r s s 2 h tm l . x s l " ) ;7 $proc = new XSLTProcessor ;8 $proc−>impo r t S t y l e She e t ( $ x s l ) ;9 echo $proc−>transformToXML ( $xml ) ;

11 ?>

Andrea Perego Corso Web 2.0 – Modulo B

Page 72: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Indice

1 Introduzione

2 Web 2.0

3 Semantic WebIntroduzioneXML: un formato standard per la rappresentazione di dati

Il linguaggio XMLDefinire strutture dati con l’XML: DTD e XML SchemaXML Namespace: diversi vocabolari nello stesso documento XMLXPath: selezionare porzioni di documenti XMLXSLT: trasformare documenti XML

Da RDF(S) a OWLRDFSPARQLRDF SchemaOWL

Regole e Semantic Web

4 Semantic Web e Web 2.0

Andrea Perego Corso Web 2.0 – Modulo B

Page 73: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Andando oltre l’XML I

L’XML e le tecnologie correlate forniscono strumenti standardper rappresentare e manipolare informazioni all’interno del Web

Quello che però XML non è in grado di fare (se non in manieralimitata) è collegare tali informazioni in una rete, grazie allaquale è possibile esplorare in maniera automatizzata le risorsedisponibili in modo da poter individuare quelle che soddisfanodai requisiti

In assenza di ciò, le informazioni disponibili sul Web sarebberosì rappresentate in modo uniforme, ma non sarebberoaccessibili se non conoscendo con esattezza la loro collocazione

Andrea Perego Corso Web 2.0 – Modulo B

Page 74: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Andando oltre l’XML II

Per affrontare questo problema, il W3C ha sviluppato neglianni una serie di tecnologie, che forniscono strumenti semprepiù espressivi ed efficaci per integrare e processare leinformazioni disponibili sul Web all’interno di un network dirisorse collegate tra loro

La tecnologia base è fornita da RDF(S), che permette diassociare descrizioni a risorse e di specificare relazioni trarisorse. Non è un caso che la sintassi RDF adotti un modello agrafo, in cui i nodi denotano le risorse, mentre gli archidenotano le relazioni esistenti tra loro

Andrea Perego Corso Web 2.0 – Modulo B

Page 75: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Andando oltre l’XML III

Per accedere e manipolare tali informazioni è stato sviluppatoun protocollo e linguaggio di interrogazione per RDF,denominato SPARQL, che è in grado non solo di estrarreinformazioni da grafi RDF, ma anche di costruire ulteriorinuovi grafi a partire da quelli esistenti

OWL è stato invece sviluppato per estendere l’espressività diRDF attraverso una più precisa definizione delle classi dirisorse e delle loro relazioni, e fornendo la possibilità dieffettuare inferenze su di esse

Andrea Perego Corso Web 2.0 – Modulo B

Page 76: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Andando oltre l’XML IV

Infine, una delle più recenti iniziative del W3C è l’aggiuntaall’architettura del Semantic Web di un ulteriore layer, il RIF,che permette l’impiego di sistemi a regole per manipolare leinformazioni codificate in RDF/OWL, e per supportare regoledi inferenza non esprimibili in OWL

Semplificando, il rapporto tra sistemi a regole e OWL èanalogo tra quello tra SPARQL e RDF

Andrea Perego Corso Web 2.0 – Modulo B

Page 77: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

RDF I

Come già detto, il linguaggio RDF permette di associaredescrizioni a risorse, e ad esprimere relazioni tra esse

A tal scopo, RDF adotta una sintassi astratta[Klyne and Carroll, 2004] secondo la quale ogni enunciato èuna tripla 〈soggetto, predicato , oggetto〉, dove soggetto eoggetto denotano due risorse, mentre predicato denota larelazione esistente tra esse

Per denotare univocamente soggetti, oggetti e predicati, aognuno di essi è associato come “nome” un URI/IRI (ci sonoperò alcune eccezioni, che vedremo)

Andrea Perego Corso Web 2.0 – Modulo B

Page 78: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

RDF II

In base a ciò, gli enunciati RDF possono essere modellati daun grafo etichettato e orientato, in cui i nodi denotano isoggetti e gli oggetti degli enunciati, mentre gli archi ipredicati (detti, in RDF, proprietà)

Nel seguito utilizzeremo il termine nodo per denotare,indifferentemente, soggetti e oggetti, e proprietà per indicare ipredicati (e quindi gli archi del grafo)

L’uso di URI/IRI per etichettare i nodi è il meccanismo chepermette di integrare in un unico grafo più grafi RDF

Andrea Perego Corso Web 2.0 – Modulo B

Page 79: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La open world assumption I

Un punto importante è che RDF si basa sulla open worldassumption, in base alla quale l’assenza di un enunciato nonimplica necessariamente la sua falsità

Ciò implicitamente significa che un grafo RDF non fornisce maiuna descrizione esaustiva di una risorsa, e che un grafo RDFnon può essere chiuso (a parte alcune eccezioni, che vedremo)

Tale principio costituisce la base teorica grazie a cui diversigrafi RDF possono essere integrati tra loro

Andrea Perego Corso Web 2.0 – Modulo B

Page 80: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La open world assumption II

In realtà, le implicazioni vanno ben oltre[Klyne and Carroll, 2004]:

To facilitate operation at Internet scale, RDF is an open-world

framework that allows anyone to make statements about any

resource.

In general, it is not assumed that complete information about any

resource is available. RDF does not prevent anyone from making

assertions that are nonsensical or inconsistent with other

statements, or the world as people see it. Designers of applications

that use RDF should be aware of this and may design their

applications to tolerate incomplete or inconsistent sources of

information.

Andrea Perego Corso Web 2.0 – Modulo B

Page 81: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La open world assumption III

Il punto fondamentale è che il Semantic Web non è pensatocome uno sistema di classificazione normativa del Web usatoda una autorità (sia essa una o più organizzazioni), ma comestrumento collaborativo, aperto a tutti gli utenti del Web

Questo implica che la presenza di enunciati contraddittori nonsia uno svantaggio, ma al contrario arricchisca la base diconoscenza raccogliendo diversi punti di vista sullo stessoinsieme di risorse

Andrea Perego Corso Web 2.0 – Modulo B

Page 82: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La open world assumption IV

In questo senso, la risoluzione di tali contraddizioni non deveessere necessariamente effettuata all’interno dei “layer” logicidel Semantic Web, ma piuttosto coinvolge il layer del trust,grazie al quale è possibile associare un peso agli enunciati,dipendentemente all’identità e/o alle caratteristiche di chi ne èl’autore

È, questo, uno degli aspetti che fa emergere la fecondità diun’integrazione tra Semantic Web e Web 2.0

Andrea Perego Corso Web 2.0 – Modulo B

Page 83: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di due grafi RDF. . .

http://www.example.org

http://www.example.org/foaf.rdf#alice

“2007-12-14”ˆxsd:date

http://xmlns.com/foaf/0.1/maker

http://purl.org/dc/terms/0.1/issued

http://www.example.org/foaf.rdf#alice

“Alice Smith”

http://www.example.org

http://xmlns.com/foaf/0.1/name

http://xmlns.com/foaf/0.1/made

Andrea Perego Corso Web 2.0 – Modulo B

Page 84: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

. . . e come possono essere integrati in un unico grafo

http://www.example.org

http://www.example.org/foaf.rdf#alice

“2007-12-14”ˆxsd:date

“Alice Smith”

http://xmlns.com/foaf/0.1/maker

http://purl.org/dc/terms/0.1/issued

http://xmlns.com/foaf/0.1/name

http://xmlns.com/foaf/0.1/made

Andrea Perego Corso Web 2.0 – Modulo B

Page 85: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un altro esempio di due grafi RDF. . .

http://www.example.org

http://www.example.org/foaf.rdf#alice

“2007-12-14”ˆxsd:date

http://xmlns.com/foaf/0.1/maker

http://purl.org/dc/terms/0.1/issued

http://www.example.org

http://www.example.org/foaf.rdf#alice

“Welcome to Example.org”

http://xmlns.com/foaf/0.1/maker

http://purl.org/dc/terms/0.1/title

Andrea Perego Corso Web 2.0 – Modulo B

Page 86: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

. . . e come possono essere integrati in un unico grafo

http://www.example.org

http://www.example.org/foaf.rdf#alice

“2007-12-14”ˆxsd:date

http://xmlns.com/foaf/0.1/maker

http://purl.org/dc/terms/0.1/issued

http://purl.org/dc/terms/0.1/title “Welcome to Example.org”@en

Andrea Perego Corso Web 2.0 – Modulo B

Page 87: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un ultimo esempio di due grafi RDF. . .

http://www.example.org

http://www.example.org/foaf.rdf#alice

“2007-12-14”ˆxsd:date

http://xmlns.com/foaf/0.1/maker

http://purl.org/dc/terms/0.1/issued

http://www.example.org

http://www.example.org/foaf.rdf#bob

http://xmlns.com/foaf/0.1/maker

“2007-12-14”ˆxsd:date

http://purl.org/dc/terms/0.1/issued

Andrea Perego Corso Web 2.0 – Modulo B

Page 88: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

. . . e come possono essere integrati in un unico grafo

http://www.example.org

http://www.example.org/foaf.rdf#alice

“2007-12-14”ˆxsd:date

http://xmlns.com/foaf/0.1/maker

http://purl.org/dc/terms/0.1/issued

http://xmlns.com/foaf/0.1/maker

http://www.example.org/foaf.rdf#bob

Andrea Perego Corso Web 2.0 – Modulo B

Page 89: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Nodi e proprietà in RDF

Le proprietà RDF sono tutte denotate da un URI/IRI reference,i.e., una URI/IRI che denota univocamente una risorsaEsistono invece tre tipologie esclusive di nodi RDF:

1 un URI/IRI reference2 letterali (literal), i.e., valori quali stringhe, numeri, date3 nodi vuoti (blank node), i.e., nodi che non sono associati

esplicitamente ad alcun valore (o, meglio, hanno valoreindefinito, corrispondente al quantificatore esistenziale ∃)

È importante notare che il soggetto di un enunciato RDF nonpuò essere un letterale

Andrea Perego Corso Web 2.0 – Modulo B

Page 90: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Letterali e tipi di dato in RDF I

I letterali RDF sono di due tipi:

Plain Una stringa non caratterizzata da alcunadichiarazione sul tipo di dato a cui appartiene.Vengono utilizzati principalmente perrappresentare contenuto testuale libero, epossono eventualmente essere associatiall’attributo xml:lang, che denota la lingua incui è scritto il testo

Typed Una stringa associata a una dichiarazione sultipo di dato a cui appartiene

L’RDF ha un unico tipo di dato predefinito, rdf:XMLLiteral,usato per includere codice XML in un grafo RDF

Andrea Perego Corso Web 2.0 – Modulo B

Page 91: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Letterali e tipi di dato in RDF II

Non ha invece un meccanismo per la definizione di tipi di dato,ma fa riferimento a quelli definiti da XML Schema[Biron and Malhotra, 2004], ad eccezione di alcuni, non adattiad essere utilizzati in RDF per varie ragioniIn particolare, non possono essere utilizzati:

xsd:durationxsd:QNamexsd:ENTITY e xsd:ENTITIESxsd:IDxsd:IDREF e xsd:IDREFSxsd:NOTATIONxsd:NMTOKENS

Per la motivazione, si veda [Klyne and Carroll, 2004]:http://www.w3.org/TR/rdf-mt/#DTYPEINTERP

Andrea Perego Corso Web 2.0 – Modulo B

Page 92: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di documento (grafo) RDF, con varie tipologie

di nodi

http://www.example.org

“2007-12-14”ˆxsd:date

“Alice Smith”

http://xmlns.com/foaf/0.1/maker

http://purl.org/dc/terms/0.1/issued

http://xmlns.com/foaf/0.1/name

http://purl.org/dc/terms/0.1/title “Welcome to Example.org”@en

Andrea Perego Corso Web 2.0 – Modulo B

Page 93: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La sintassi RDF/XML I

Sebbene l’RDF preveda una sintassi astratta che adotta unmodello a grafo, i grafi RDF sono normalmente serializzati inXML

In tal caso si parla di sintassi RDF/XML [Beckett, 2004]

È importante notare che l’XML non fornisce l’unica possibileserializzazione di un grafo XML; d’altra parte è quella adottatatipicamente per rappresentare un grafo RDF

Il motivo è chiaro, in base a quanto detto finora: dato chel’XML fornisce una sintassi standard per la rappresentazionedei dati nel Web, qualsiasi processore XML sarà in grado diprocessare un grafo RDF, anche se non riesce a catturarne lasemantica

Andrea Perego Corso Web 2.0 – Modulo B

Page 94: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La sintassi RDF/XML II

Un punto importante è inoltre che, utilizzando unaserializzazione XML, è possibile usare in RDF gli stessistrumenti forniti dall’XML, in particolare, l’XML Schema, inamespace e le entity reference

È però ugualmente importante notare che la sintassiRDF/XML è comunque legata alla semantica dell’RDF, e,come tale, pone dei vincoli su come deve essere usata

Andrea Perego Corso Web 2.0 – Modulo B

Page 95: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Sintassi alternative a RDF/XML I

Nonostante i suoi vantaggi, la sintassi RDF/XML ha unoproblema: è estremamente prolissa, e difficile da leggere

Per questo motivo sono state definite sintassi alternative per laserializzazione di un grafo RDF, tra cui possiamo citare N3(Notation 3)[Berners-Lee et al., 2008, Berners-Lee and Connolly, 2008] eTurtle (Terse RDF Triple Language)[Beckett and Berners-Lee, 2008], relativamente ai quali il W3Cha pubblicato le specifiche

Andrea Perego Corso Web 2.0 – Modulo B

Page 96: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Sintassi alternative a RDF/XML II

In realtà, molte delle serializzazioni alternative a RDF/XMLtentano anche di superare alcuni limiti dell’RDF

Ad es., N3 adotta un approccio diverso da quello dell’RDF perla reificazione di enunciati, e permette di esprimere regole (nevedremo degli esempi più avanti)

Al contrario, Turtle può essere considerato un sottoinsieme diN3, che include solo i costrutti esprimibili in RDF

Andrea Perego Corso Web 2.0 – Modulo B

Page 97: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di grafo RDF, serializzato in XML, che impiega

tipi di dato dell’XML Schema, namespace e entity reference

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE rd f :RDF [3 <!ENTITY r d f " h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#">4 <!ENTITY xsd " h t t p : //www.w3 . org /2001/XMLSchema#">5 <!ENTITY f o a f " h t t p : // xmlns . com/ f o a f /0 .1/ ">6 <!ENTITY dcterms " h t t p : // p u r l . o rg /dc/ terms /0.1/ ">7 ]>8 <rd f :RDF x m l n s : r d f="&r d f ; " xm l n s : f o a f="&f o a f ; "

xm l n s : d c t e rms="&dcterms ; ">9 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">10 < f o a f :m a k e r>11 < r d f : D e s c r i p t i o n>12 <foa f : name>A l i c e Smith</ foa f : name>13 </ r d f : D e s c r i p t i o n>14 < f o a f :m a k e r>15 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−14</ d c t e r m s : i s s u e d>16 </ r d f : D e s c r i p t i o n>17 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 98: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Sempre lo stesso grafo, serializzato in N3/Turtle

1 @p r e f i x xsd : <ht tp : //www.w3 . org /2001/XMLSchema#> .2 @p r e f i x f o a f : <h t tp : // xmlns . com/ f o a f /0.1/> .3 @p r e f i x dcte rms : <ht tp : // p u r l . o rg /dc/ terms /0.1/> .

5 <ht tp : //www. example . org> f o a f : maker [ f o a f : name " A l i c e ␣Smith " ] ;dc te rms : i s s u e d "2007−12−14"^xsd : date .

Andrea Perego Corso Web 2.0 – Modulo B

Page 99: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Soggetti, oggetti e predicati in RDF/XML I

In RDF/XML, soggetti, oggetti e predicati RDF sono espressida specifiche componenti sintattiche

I soggetti di un enunciato RDF sono espressi dardf:Description, a cui è associato l’attributo rdf:about, cheha come valore l’URI/IRI del soggetto

Un valore nullo per l’attributo rdf:about indica che il soggettoè il grafo stesso

Nel caso il soggetto sia un blank node, l’attributo rdf:aboutviene omesso

Andrea Perego Corso Web 2.0 – Modulo B

Page 100: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Soggetti, oggetti e predicati in RDF/XML II

Gli oggetti di un enunciato RDF possono essere anch’essiespressi attraverso rdf:Description, nel caso siano URI/IRI oblank node

Se sono letterali, sono invece associati alla proprietà che puntaa essi come contenuto testuale

Andrea Perego Corso Web 2.0 – Modulo B

Page 101: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Soggetti, oggetti e predicati in RDF/XML III

Le proprietà (cioè, i predicati) sono espresse utilizzando il loroqualified name XML, i.e., prefisso del namespace più nomelocale

La loro specifica tipica è quella di un elemento XML, figliodell’istanza di rdf:Description che denota il soggettodell’enunciato

Qualora l’oggetto a cui puntano sia un letterale, può essereloro associato l’attributo rdf:datatype, che ha come valorel’URI/IRI che denota uno specifico tipo di dato dell’XMLSchema

Andrea Perego Corso Web 2.0 – Modulo B

Page 102: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Come “abbreviare” la sintassi RDF/XML

Dagli esempi, si nota che la sintassi XML è piuttosto prolissa,per cui sono state definite regole per ridurre (anche selimitatamente) questa sua poco invidiabile caratteristica

Ne vediamo alcune. Per una rassegna completa, si rimanda a[Beckett, 2004]

Andrea Perego Corso Web 2.0 – Modulo B

Page 103: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Attributi invece di proprietà

Se l’oggetto a cui punta una proprietà è un plain literal, la proprietàpuò essere specificata come attributo dell’rdf:Description chedenota il soggetto dell’enunciatoAd esempio, l’enunciato:

< r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg "><d c e r m s : t i t l e>Welcome to Example . o rg !</ d c t e rm s : t i t l e>

</ r d f : D e s c r i p t i o n>

è equivalente a:

< r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg "d c e rm s : t i t l e="Welcome␣ to ␣Example . o rg ! " />

Andrea Perego Corso Web 2.0 – Modulo B

Page 104: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

L’attributo rdf:resource

Nel caso un oggetto sia URI/IRI, e non sia soggetto di alcunenunciato, può essere specificata come valore dell’attributordf:resource, associato alla proprietà che punta a essoAd esempio, l’enunciato:

< r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">< f o a f :m a k e r>

< r d f : D e s c r i p t i o nr d f : a b o u t=" h t t p : // a u t h o r i t y . example . o rg / f o a f . r d f#a l i c e " />

</ f o a f :m a k e r></ r d f : D e s c r i p t i o n>

è equivalente a:

< r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">< f o a f :m a k e r

r d f : r e s o u r c e=" h t t p : // a u t h o r i t y . example . o rg / f o a f . r d f#a l i c e " /></ r d f : D e s c r i p t i o n>

Andrea Perego Corso Web 2.0 – Modulo B

Page 105: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Omettere rdf:Description I

Nel caso un oggetto O sia un blank node, e sia soggetto di uno opiù enunciati, rdf:Description può essere omesso: in tal caso,all’attributo che punta a esso deve essere associato l’attributordf:parseType con il valore “Resource”, e le proprietà neglienunciati che hanno O come soggetto diventano figlie di taleproprietà

Andrea Perego Corso Web 2.0 – Modulo B

Page 106: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Omettere rdf:Description II

Ad esempio, gli enunciati:

< r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">< f o a f :m a k e r>

< r d f : D e s c r i p t i o n><foa f : name>A l i c e Smith</ foa f : name>

</ r d f : D e s c r i p t i o n></ f o a f :m a k e r>

</ r d f : D e s c r i p t i o n>

sono equivalenti a:

< r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">< f o a f :m a k e r r d f : p a r s eTy p e="Resource ">

<foa f : name>A l i c e Smith</ foa f : name></ f o a f :m a k e r>

</ r d f : D e s c r i p t i o n>

Andrea Perego Corso Web 2.0 – Modulo B

Page 107: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Come omettere occorrenze multiple della stessa proprietà I

Nel caso esista più di un occorrenza della stessa proprietàrelativamente a un dato soggetto S e a un dato insieme di oggettiO1, . . . ,On, è possibile specificare solo un volta tale proprietà, cheavrà come figli O1, . . . ,On. In tal caso, alla proprietà dovrà essereassociato l’attributo rdf:parseType con il valore “Collection”

Andrea Perego Corso Web 2.0 – Modulo B

Page 108: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Come omettere occorrenze multiple della stessa proprietà II

Ad esempio, gli enunciati:

< r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">< f o a f :m a k e r>

< r d f : D e s c r i p t i o n><foa f : name>A l i c e Smith</ foa f : name>

</ r d f : D e s c r i p t i o n></ f o a f :m a k e r>< f o a f :m a k e r>

< r d f : D e s c r i p t i o n><foa f : name>Bob White</ foa f : name>

</ r d f : D e s c r i p t i o n></ f o a f :m a k e r>

</ r d f : D e s c r i p t i o n>

Andrea Perego Corso Web 2.0 – Modulo B

Page 109: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Come omettere occorrenze multiple della stessa proprietà III

sono equivalenti a:

< r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">< f o a f :m a k e r r d f : p a r s eTy p e=" Co l l e c t i o n ">

< r d f : D e s c r i p t i o n><foa f : name>A l i c e Smith</ foa f : name>

</ r d f : D e s c r i p t i o n>< r d f : D e s c r i p t i o n>

<foa f : name>Bob White</ foa f : name></ r d f : D e s c r i p t i o n>

</ f o a f :m a k e r></ r d f : D e s c r i p t i o n>

Andrea Perego Corso Web 2.0 – Modulo B

Page 110: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

rdf:RDF e namespace

La “radice” di un documento RDF/XML è normalmentecostituita da rdf:RDF, che normalmente viene impiegato perla dichiarazione dei namespace utilizzati negli enunciati

In teoria rdf:RDF è necessario solo nel caso in cui ildocumento contenga più di un’occorrenza di rdf:Description

In tal caso, i namespace dovranno essere dichiarati inrdf:Description, o in uno dei figli, secondo le regole viste per inamespace XML

Questo vale anche per il namespace dell’RDF, che non èimplicito:http://www.w3.org/1999/02/22-rdf-syntax-ns#

Come per ogni documento XML, non devono essere dichiarati inamespace relativi ai prefissi xml e xmlns

Andrea Perego Corso Web 2.0 – Modulo B

Page 111: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

rdf:about, rdf:ID e rdf:nodeID

Finora abbiamo visto come associare una descrizione a unarisorsa utilizzando l’attributo rdf:about

Esistono tuttavia soluzioni alternative, da impiegare inparticolari contesti

In particolare, al posto di rdf:about, in particolari contestipossono essere utilizzati gli attributi rdf:ID e rdf:nodeID

Andrea Perego Corso Web 2.0 – Modulo B

Page 112: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

xml:base e rdf:ID I

In XML esiste la nozione di base URI, utilizzato per larisoluzione di URI/IRI relativi

Il base URI è specificato attraverso l’attributo xml:base[Marsh, 2001]

Qualora manchi tale specifica, il base URI corrispondeall’URI/IRI del documento XML

Andrea Perego Corso Web 2.0 – Modulo B

Page 113: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

xml:base e rdf:ID II

Questo principio è adottato anche in RDF/XML, e vieneimpiegato per abbreviare gli URI/IRI delle risorse descritte,quando le descrizioni si applicano a più porzioni di una datarisorsa, identificabili attraverso un fragment identifier (lacomponente degli URI/IRI preceduta da #)

Gli attributi che tengono in considerazione xml:base sono:rdf:about, rdf:resource, rdf:ID e rdf:datatype

La differenza tra questi attributi è che rdf:ID può avere comevalore solo un URI/IRI relativo, mentre le altre possono averecome valore un URI/IRI o assoluto o relativo

Andrea Perego Corso Web 2.0 – Modulo B

Page 114: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

xml:base e rdf:ID III

D’altro canto, rdf:ID garantisce che non possano esistere,nello stesso documento RDF/XML, più occorrenze dirdf:Description relative alla stessa risorsa

Nel caso di rdf:ID: se più di una delle risorse descrittecondivide lo stesso URI/IRI, eccetto il fragment identifier,questo viene assegnato come valore all’attributo xml:lang,mentre il fragment identifier specifico di ogni risorsa vieneassegnato come valore all’attributo rdf:ID, omettendo #

Andrea Perego Corso Web 2.0 – Modulo B

Page 115: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio dell’uso di rdf:ID

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE rd f :RDF [3 <!ENTITY r d f " h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#">4 <!ENTITY xsd " h t t p : //www.w3 . org /2001/XMLSchema#">5 <!ENTITY f o a f " h t t p : // xmlns . com/ f o a f /0 .1/ ">6 <!ENTITY dcterms " h t t p : // p u r l . o rg /dc/ terms /0.1/ ">7 ]>8 <rd f :RDF x m l n s : r d f="&r d f ; " xm l n s : f o a f="&f o a f ; "

xm l n s : d c t e rms="&dcterms ; " xm l : ba se=" h t t p : //www. example . o rg /">9 < r d f : D e s c r i p t i o n r d f : I D=" s p o r t ">10 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#a l i c e ">11 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−11−12</ d c t e r m s : i s s u e d>12 </ r d f : D e s c r i p t i o n>13 < r d f : D e s c r i p t i o n r d f : I D="news">14 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#bob">15 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−12−01</ d c t e r m s : i s s u e d>16 </ r d f : D e s c r i p t i o n>17 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 116: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

L’esempio precedente, usando rdf:about

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE rd f :RDF [3 <!ENTITY r d f " h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#">4 <!ENTITY xsd " h t t p : //www.w3 . org /2001/XMLSchema#">5 <!ENTITY f o a f " h t t p : // xmlns . com/ f o a f /0 .1/ ">6 <!ENTITY dcterms " h t t p : // p u r l . o rg /dc/ terms /0.1/ ">7 ]>8 <rd f :RDF x m l n s : r d f="&r d f ; " xm l n s : f o a f="&f o a f ; "

xm l n s : d c t e rms="&dcterms ; " xm l : ba se=" h t t p : //www. example . o rg /">9 < r d f : D e s c r i p t i o n r d f : a b o u t="#spo r t ">10 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#a l i c e ">11 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−11−12</ d c t e r m s : i s s u e d>12 </ r d f : D e s c r i p t i o n>13 < r d f : D e s c r i p t i o n r d f : a b o u t="#news">14 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#bob">15 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−12−01</ d c t e r m s : i s s u e d>16 </ r d f : D e s c r i p t i o n>17 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 117: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Blank node, rdf:nodeID e rdf:ID I

Abbiamo detto che un blank node è un soggetto/oggetto di ungrafo RDF che non è né un letterale, né è identificabile da unURI/IRI

Tuttavia più di un enunciato di un documento RDF/XMLfaccia riferimento allo stesso blank node

In tal caso, è utile evitare di ripetere in ogni enunciato taleblank node, e le proprietà di cui è soggetto

I motivi sono due:1 abbreviare la notazione2 esplicitare che tutti gli enunciati fanno riferimento allo stesso

blank node

Andrea Perego Corso Web 2.0 – Modulo B

Page 118: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Blank node, rdf:nodeID e rdf:ID II

La soluzione adottata in RDF/XML è di associare al blanknode, attraverso l’attributo rdf:nodeID, un identificatore,visibile solo all’interno del documento RDF/XML, a cui vienefatto riferimento in ogni enunciato attraverso l’attributo rdf:ID

L’uso di rdf:nodeID e rdf:ID è una delle eccezioni alla openworld assumption adottata in RDF

Andrea Perego Corso Web 2.0 – Modulo B

Page 119: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di blank node ripetuto

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE rd f :RDF [3 <!ENTITY r d f " h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#">4 <!ENTITY xsd " h t t p : //www.w3 . org /2001/XMLSchema#">5 <!ENTITY f o a f " h t t p : // xmlns . com/ f o a f /0 .1/ ">6 <!ENTITY dcterms " h t t p : // p u r l . o rg /dc/ terms /0.1/ ">7 ]>8 <rd f :RDF x m l n s : r d f="&r d f ; " xm l n s : f o a f="&f o a f ; "

xm l n s : d c t e rms="&dcterms ; ">9 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">10 < f o a f :m a k e r r d f : p a r s eT yp e="Resource ">11 <foa f : name>A l i c e Smith</ foa f : name>12 </ f o a f :m a k e r>13 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−14</ d c t e r m s : i s s u e d>14 </ r d f : D e s c r i p t i o n>15 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . net ">16 < f o a f :m a k e r r d f : p a r s eT yp e="Resource ">17 <foa f : name>A l i c e Smith</ foa f : name>18 </ f o a f :m a k e r>19 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−01−27</ d c t e r m s : i s s u e d>20 </ r d f : D e s c r i p t i o n>21 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 120: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

L’esempio precedente, usando rdf:nodeID

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE rd f :RDF [3 <!ENTITY r d f " h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#">4 <!ENTITY xsd " h t t p : //www.w3 . org /2001/XMLSchema#">5 <!ENTITY f o a f " h t t p : // xmlns . com/ f o a f /0 .1/ ">6 <!ENTITY dcterms " h t t p : // p u r l . o rg /dc/ terms /0.1/ ">7 ]>8 <rd f :RDF x m l n s : r d f="&r d f ; " xm l n s : f o a f="&f o a f ; "

xm l n s : d c t e rms="&dcterms ; ">9 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">10 < f o a f :m a k e r r d f : I D=" a l i c e ">11 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−14</ d c t e r m s : i s s u e d>12 </ r d f : D e s c r i p t i o n>13 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . net ">14 < f o a f :m a k e r r d f : I D=" a l i c e ">15 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−01−27</ d c t e r m s : i s s u e d>16 </ r d f : D e s c r i p t i o n>17 < r d f : D e s c r i p t i o n r d f : n o d e ID=" a l i c e ">18 <foa f : name>A l i c e Smith</ foa f : name>19 </ r d f : D e s c r i p t i o n>20 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 121: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Nodi tipizzati: rdf:type I

In RDF è possibile denotare una risorsa quale istanza di una opiù classi di risorse

In tal caso si parla di nodi tipizzati

A tal scopo viene impiegata la proprietà rdf:type, che ha comeoggetto la classe di cui il soggetto è istanza

In caso di nodi tipizzati, in RDF/XML è possibile utilizzare unasintassi abbreviata, in cui rdf:type viene omesso, e al posto dirdf:Description si usa il nome della classe

Nel caso vi siano occorrenze multiple di rdf:type (i.e., qualorala risorsa sia istanza di più classi), solo una di esse può essereomessa (quella che ha come oggetto la classe il cui nome èstato usato al posto di rdf:Description)

Andrea Perego Corso Web 2.0 – Modulo B

Page 122: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Nodi tipizzati: rdf:type II

In RDF esistono classi predefinite, usate per definire proprietà(rdf:Property) e gruppi di risorse (rdf:Bag, rdf:Seq,rdf:Alt): le vedremo più avanti

È però importante notare che l’RDF non permette di definireuna classe

A tal scopo è necessario usare RDF Schema

Andrea Perego Corso Web 2.0 – Modulo B

Page 123: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio dell’uso di rdf:type

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE rd f :RDF [3 <!ENTITY r d f " h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#">4 <!ENTITY xsd " h t t p : //www.w3 . org /2001/XMLSchema#">5 <!ENTITY f o a f " h t t p : // xmlns . com/ f o a f /0 .1/ ">6 <!ENTITY dcterms " h t t p : // p u r l . o rg /dc/ terms /0.1/ ">7 <!ENTITY ex " h t t p : //www. example . o rg / voc/#">8 ]>9 <rd f :RDF x m l n s : r d f="&r d f ; " xm l n s : f o a f="&f o a f ; "

xm l n s : d c t e rms="&dcterms ; " xm l n s : e x="&ex ; ">10 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">11 < f o a f :m a k e r r d f : I D=" a l i c e ">12 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−14</ d c t e r m s : i s s u e d>13 </ r d f : D e s c r i p t i o n>14 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . net ">15 < f o a f :m a k e r r d f : I D=" a l i c e ">16 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−01−27</ d c t e r m s : i s s u e d>17 </ r d f : D e s c r i p t i o n>18 < r d f : D e s c r i p t i o n r d f : n o d e ID=" a l i c e ">19 <r d f : t y p e r d f : r e s o u r c e="&ex ; Person " />20 <r d f : t y p e r d f : r e s o u r c e="&ex ; Author " />21 <foa f : name>A l i c e Smith</ foa f : name>22 </ r d f : D e s c r i p t i o n>23 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 124: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

L’esempio precedente, usando la sintassi abbreviata

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE rd f :RDF [3 <!ENTITY r d f " h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#">4 <!ENTITY xsd " h t t p : //www.w3 . org /2001/XMLSchema#">5 <!ENTITY f o a f " h t t p : // xmlns . com/ f o a f /0 .1/ ">6 <!ENTITY dcterms " h t t p : // p u r l . o rg /dc/ terms /0.1/ ">7 <!ENTITY ex " h t t p : //www. example . o rg / voc/#">8 ]>9 <rd f :RDF x m l n s : r d f="&r d f ; " xm l n s : f o a f="&f o a f ; "

xm l n s : d c t e rms="&dcterms ; " xm l n s : e x="&ex ; ">10 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">11 < f o a f :m a k e r r d f : I D=" a l i c e ">12 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−14</ d c t e r m s : i s s u e d>13 </ r d f : D e s c r i p t i o n>14 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . net ">15 < f o a f :m a k e r r d f : I D=" a l i c e ">16 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−01−27</ d c t e r m s : i s s u e d>17 </ r d f : D e s c r i p t i o n>18 <ex :Pe r son r d f : n o d e ID=" a l i c e ">19 <r d f : t y p e r d f : r e s o u r c e="&ex ; Author " />20 <foa f : name>A l i c e Smith</ foa f : name>21 </ r d f : D e s c r i p t i o n>22 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 125: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Come definire proprietà: rdf:Property

Se l’RDF non permette di definire classi, può invece essereusato per definire proprietà

A tal scopo, si assegna un nome alla proprietà, e la si dichiaraessere istanza di rdf:Property. Ad es.:< r d f : D e s c r i p t i o n r d f : I D="name">

<r d f : t y p e r d f : r e s o u r c e="&r d f ; P r ope r t y "></ r d f : D e s c r i p t i o n>

È importante notare che l’RDF non permette di definire altroche il nome di una proprietà. Per la definizione delle suecaratteristiche è necessario usare RDF Schema

Andrea Perego Corso Web 2.0 – Modulo B

Page 126: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Come descrivere gruppi di risorse

Sinora abbiamo visto enunciati in cui soggetti e oggetti sonocostituiti da singole risorse

Ma se dobbiamo descrivere gruppi di risorse?

A tal scopo l’RDF fornisce due classi di costrutti: contenitori ecollezioni

La differenza è che i contenitori sono aperti, mentre lecollezioni sono chiuse

In altre parole: è possibili aggiungere membri in un contenitoreattraverso enunciati esterni al contenitore stesso, mentre ciònon è permesso nelle collezioni

Le collezioni costituiscono un’altra eccezione alla open worldassumption adottata in RDF

Andrea Perego Corso Web 2.0 – Modulo B

Page 127: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Contenitori RDF

L’RDF prevede tre tipologie di contenitori per denotare gruppidi risorse o letterali: rdf:Bag, rdf:Seq, rdf:Alt

L’rdf:Bag denota un gruppo in cui l’ordine dei membri non èimportante; permette la presenza di membri duplicati

L’rdf:Seq denota un gruppo in cui l’ordine dei membri èimportante; permette la presenza di membri duplicati

L’rdf:Alt denota un gruppo di membri alternativi (i.e., inXOR)

I membri dei gruppi sono denotati dalla proprietà rdf:li

Andrea Perego Corso Web 2.0 – Modulo B

Page 128: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio dell’uso di rdf:Bag

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8" ?>2 <rd f :RDF x m l n s : r d f=" h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#"

xm ln s : s=" h t t p : // example . o rg / s t u de n t s / vocab#">3 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : // example . o rg / c o u r s e s /6 .001 ">4 <s : s t u d e n t s>5 <rd f :Bag>6 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s /Amy"/>7 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s /Mohamed"/>8 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s / Johann"/>9 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s /Mar ia"/>10 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s /Phuong "/>11 </ rd f :Bag>12 </ s : s t u d e n t s>13 </ r d f : D e s c r i p t i o n>14 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 129: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio dell’uso di rdf:Seq

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8" ?>2 <rd f :RDF x m l n s : r d f=" h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#"

xm ln s : s=" h t t p : // example . o rg / s t u de n t s / vocab#">3 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : // example . o rg / c o u r s e s /6 .001 ">4 <s : s t u d e n t s>5 <r d f : S e q>6 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s /Amy"/>7 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s / Johann"/>8 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s /Mar ia"/>9 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s /Mohamed"/>10 < r d f : l i r d f : r e s o u r c e=" h t t p : // example . o rg / s t u de n t s /Phuong "/>11 </ r d f : S e q>12 </ s : s t u d e n t s>13 </ r d f : D e s c r i p t i o n>14 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 130: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio dell’uso di rdf:Alt

1 <? xml v e r s i o n=" 1 .0 "?>2 <rd f :RDF x m l n s : r d f=" h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#"

xm ln s : s=" h t t p : // example . o rg / packages / vocab#">3 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : // example . o rg / packages /X11">4 <s : D i s t r i b u t i o n S i t e>5 <r d f : A l t>6 < r d f : l i r d f : r e s o u r c e=" f t p : // f t p . example . o rg "/>7 < r d f : l i r d f : r e s o u r c e=" f t p : // f t p1 . example . o rg "/>8 < r d f : l i r d f : r e s o u r c e=" f t p : // f t p2 . example . o rg "/>9 </ r d f : A l t>10 </ s : D i s t r i b u t i o n S i t e>11 </ r d f : D e s c r i p t i o n>12 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 131: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Collezioni RDF

Come si è detto, in RDF le collezioni permettono di definiregruppi chiusi di risorse o letterali

Una collezione è denotata da rdf:List, mentre per i suoimembri vengono usate le proprietà rdf:first (denota unmembro della collezione), rdf:rest (denota i rimanenti membridella collezione) e rdf:nil (chiude la collezione)

In RDF questi termini non vengono usati esplicitamente, ondeevitare una sintassi prolissa e prona agli errori (per cui non livedremo)

Si usa invece l’attributo rdf:parseType, con valore“Collection”, come visto precedentemente

Andrea Perego Corso Web 2.0 – Modulo B

Page 132: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Enunciati su enunciati?

Si è ripetuto più volte che gli enunciati RDF descrivono risorse

Tuttavia può spesso essere necessario fornire descrizioni dienunciati (ad es., chi ha espresso un dato enunciato, quando,etc.)

Il problema è che il modello a grafo adottato da RDF non lopermette, a meno che si esprima un enunciato che ha persoggetto e/o oggetto un grafo RDF

In tal caso, il grafo RDF è trattato come una risorsa

Andrea Perego Corso Web 2.0 – Modulo B

Page 133: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Come descrivere grafi RDF

Questo è esattamente quello che viene fatto quanto si utilizzardf:Description, associato a un attributo rdf:about convalore non specificato: secondo questa convenzione,rdf:Description descrive il documento RDF/XML in cui ècontenuta

L’alternativa, è specificare, in un altro documento RDF/XMLun’istanza di rdf:Description che ha come valore dell’attributordf:about l’URI/IRI del grafo RDF che si vuole descrivere

Andrea Perego Corso Web 2.0 – Modulo B

Page 134: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Uso di rdf:about=“”

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE rd f :RDF [3 <!ENTITY r d f " h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#">4 <!ENTITY xsd " h t t p : //www.w3 . org /2001/XMLSchema#">5 <!ENTITY f o a f " h t t p : // xmlns . com/ f o a f /0 .1/ ">6 <!ENTITY dcterms " h t t p : // p u r l . o rg /dc/ terms /0.1/ ">7 <!ENTITY ex " h t t p : //www. example . o rg / voc/#">8 ]>9 <rd f :RDF x m l n s : r d f="&r d f ; " xm l n s : f o a f="&f o a f ; "

xm l n s : d c t e rms="&dcterms ; " xm l n s : e x="&ex ; ">10 < r d f : D e s c r i p t i o n r d f : a b o u t="">11 < f o a f :m a k e r r d f : I D=" a l i c e ">12 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−12−01</ d c t e r m s : i s s u e d>13 </ r d f : D e s c r i p t i o n>14 <ex :Pe r son r d f : n o d e ID=" a l i c e ">15 <r d f : t y p e r d f : r e s o u r c e="&ex ; Author " />16 <foa f : name>A l i c e Smith</ foa f : name>17 </ r d f : D e s c r i p t i o n>18 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 135: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Una descrizione di un grafo RDF esterna al grafo stesso

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <!DOCTYPE rd f :RDF [3 <!ENTITY r d f " h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#">4 <!ENTITY xsd " h t t p : //www.w3 . org /2001/XMLSchema#">5 <!ENTITY f o a f " h t t p : // xmlns . com/ f o a f /0 .1/ ">6 <!ENTITY dcterms " h t t p : // p u r l . o rg /dc/ terms /0.1/ ">7 <!ENTITY ex " h t t p : //www. example . o rg / voc/#">8 ]>9 <rd f :RDF x m l n s : r d f="&r d f ; " xm l n s : f o a f="&f o a f ; "

xm l n s : d c t e rms="&dcterms ; " xm l n s : e x="&ex ; ">10 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg /meta . r d f ">11 < f o a f :m a k e r r d f : I D=" a l i c e ">12 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2008−12−01</ d c t e r m s : i s s u e d>13 </ r d f : D e s c r i p t i o n>14 <ex :Pe r son r d f : n o d e ID=" a l i c e ">15 <r d f : t y p e r d f : r e s o u r c e="&ex ; Author " />16 <foa f : name>A l i c e Smith</ foa f : name>17 </ r d f : D e s c r i p t i o n>18 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 136: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Reificazione in RDF I

Queste soluzioni vanno bene per descrivere un intero grafoRDF. Ma se se ne vuole descrivere solo una parte?

La soluzione adottata in RDF è la reificazione

Operativamente, la soluzione è la seguente:L’enunciato è denotato da un nodo, istanza della classerdf:Statement, predefinita in RDFSoggetto, oggetto e predicato sono espressi, rispettivamente,dalle proprietà rdf:subject, rdf:object e rdf:predicate, chehanno come soggetto l’istanza di rdf:StatementLa descrizione dell’enunciato viene specificata associandoall’istanza di rdf:Statement ulteriori proprietà

Andrea Perego Corso Web 2.0 – Modulo B

Page 137: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Reificazione in RDF II

Esiste un sintassi alternativa, meno prolissa, che consistenell’associare al predicato dell’enunciato da descriverel’attributo rdf:ID, e far riferimento a esso nell’istanza dirdf:Description che descrive l’enunciato

Andrea Perego Corso Web 2.0 – Modulo B

Page 138: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un enunciato RDF. . .

1 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">2 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#a l i c e ">3 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−14</ d c t e r m s : i s s u e d>4 </ r d f : D e s c r i p t i o n>

Vogliamo dire che tale enunciato è stato espresso da Carol, il 15dicembre 2007. . .

Andrea Perego Corso Web 2.0 – Modulo B

Page 139: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

. . . la sua reificazione usando rdf:Statement. . .

1 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">2 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#a l i c e ">3 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−14</ d c t e r m s : i s s u e d>4 </ r d f : D e s c r i p t i o n>5 <rd f : S t a t emen t r d f : a b o u t="#t r i p l e 1 ">6 <r d f : s u b j e c t r d f : r e s o u r c e=" h t t p : //www. example . o rg " />7 <r d f : p r e d i c a t e r d f : r e s o u r c e="&f o a f ; maker " />8 <r d f : o b j e c t r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#a l i c e " />9 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#c a r o l ">10 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−15</ d c t e r m s : i s s u e d>11 </ r d f : D e s c r i p t i o n>12 <rd f : S t a t emen t r d f : a b o u t="#t r i p l e 2 ">13 <r d f : s u b j e c t r d f : r e s o u r c e=" h t t p : //www. example . o rg " />14 <r d f : p r e d i c a t e r d f : r e s o u r c e="&dcterms ; i s s u e d " />15 <r d f : o b j e c t r d f : d a t a t y p e="&xsd ; date ">2007−12−14</ r d f : o b j e c t>16 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#c a r o l ">17 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−15</ d c t e r m s : i s s u e d>18 </ r d f : D e s c r i p t i o n>

Andrea Perego Corso Web 2.0 – Modulo B

Page 140: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

. . . e l’equivalente, con la sintassi abbreviata

1 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg ">2 < f o a f :m a k e r r d f : I D=" t r i p l e 1 "

r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#a l i c e ">3 <d c t e r m s : i s s u e d r d f : I D=" t r i p l e 2 "

r d f : d a t a t y p e="&xsd ; date ">2007−12−14</ d c t e r m s : i s s u e d>4 </ r d f : D e s c r i p t i o n>5 < r d f : D e s c r i p t i o n r d f : a b o u t="#t r i p l e 1 ">6 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#c a r o l ">7 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−15</ d c t e r m s : i s s u e d>8 </ r d f : D e s c r i p t i o n>9 < r d f : D e s c r i p t i o n r d f : a b o u t="#t r i p l e 2 ">10 < f o a f :m a k e r r d f : r e s o u r c e=" h t t p : //www. example . o rg / f o a f . r d f#c a r o l ">11 <d c t e r m s : i s s u e d r d f : d a t a t y p e="&xsd ; date ">2007−12−15</ d c t e r m s : i s s u e d>12 </ r d f : D e s c r i p t i o n>

Andrea Perego Corso Web 2.0 – Modulo B

Page 141: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Problemi della reificazione in RDF

La reificazione è una delle caratteristiche più controversedell’RDF

Un primo problema è che non è possibile specificare descrizionisu gruppi di enunciati: bisogna reificare ogni singolo enunciato

Secondo questo criterio, la reificazione di un’enunciato generacodice decisamente prolisso. Una situazione che peggioranotevolmente nel caso si voglia reificare la reificazione di unenunciato

Un secondo problema riguarda la semantica, che è poco chiara(si veda, al riguardo, [Klyne and Carroll, 2004])

Andrea Perego Corso Web 2.0 – Modulo B

Page 142: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Semantica della reificazione I

La reificazione richiede un processo di interpretazione checonsiste di due passi: il primo interpreta il nodo reificato(quello denotato da rdf:subject) come un riferimento aun’altra tripla, il secondo interpreta tale tripla in modo daindividuare la sua reificazione

Il legame tra l’enunciato e la sua reificazione viene denotatocon un costrutto esterno alla sintassi RDF

Ad es., nella sintassi abbreviata, rdf:ID è associato a un arcodel grafo, e non a un suo nodo, diventando così soggetto di unenunciato – la reificazione. Ciò è in conflitto con il modello agrafo usato in RDF

Andrea Perego Corso Web 2.0 – Modulo B

Page 143: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Semantica della reificazione II

La reificazione di un enunciato non implica l’enunciato, né èimplicata da esso

Multiple reificazioni dello stesso enunciato non possono essereintegrate

Andrea Perego Corso Web 2.0 – Modulo B

Page 144: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Soluzioni alternative

Per questi motivi, negli ultimi anni sono state studiatealternative, che, in linea generale, adottano il principio secondocui la reificazione deve essere espressa come un meccanismo dicitazione (quoting mechanism)

In sostanza, lo scopo è permettere la coesistenza di più grafiall’interno dello stesso documento RDF/XML (o, dettodiversamente, permettere di denotare sottografi di un grafoRDF)

Andrea Perego Corso Web 2.0 – Modulo B

Page 145: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Named graph e N3

Nell’ambito del W3C, questo problema viene affrontato dallaSemantic Web Activity denominata Named Graphs(http://www.w3.org/2004/03/trix/)

L’obiettivo è sostanzialmente permettere di assegnare un nomea un insieme di enunciati RDF (quindi, a un grafo RDF), inmodo da utilizzarlo successivamente per esprimere enunciati sudi esso

Esistono tuttavia alternative già disponibili e operanti, comequella adottata da N3, in cui l’appartenenza di un insieme dienunciati a un grafo viene denotata mettendo tali enunciati traparentesi graffe

Andrea Perego Corso Web 2.0 – Modulo B

Page 146: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La reificazione negli esempi precedenti espressa in N3

1 @p r e f i x xsd : <ht tp : //www.w3 . org /2001/XMLSchema#> .2 @p r e f i x f o a f : <h t tp : // xmlns . com/ f o a f /0.1/> .3 @p r e f i x p eop l e : <h t tp : //www. example . o rg / f o a f . r d f#> .

5 { <ht tp : //www. example . org> f o a f : maker peop l e : a l i c e ; dc te rms : i s s u e d"2007−12−14"^xsd : date . } f o a f : maker peop l e : c a r o l ; dc te rms : i s s u e d"2007−12−15"^xsd : date .

La reificazione può essere nidificata seguendo lo stesso principio:

1 @p r e f i x xsd : <ht tp : //www.w3 . org /2001/XMLSchema#> .2 @p r e f i x f o a f : <h t tp : // xmlns . com/ f o a f /0.1/> .3 @p r e f i x p eop l e : <h t tp : //www. example . o rg / f o a f . r d f#> .

5 { { <ht tp : //www. example . org> f o a f : maker peop l e : a l i c e ; dc te rms : i s s u e d"2007−12−14"^xsd : date . } f o a f : maker peop l e : c a r o l ; dc te rms : i s s u e d"2007−12−15"^xsd : date . } f o a f : maker peop l e : bob ; dcte rms : i s s u e d"2007−12−16"^xsd : date .

Andrea Perego Corso Web 2.0 – Modulo B

Page 147: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Simple Protocol and RDF Query Language (SPARQL)

Una volta a disposizione sorgenti dati RDF è necessario unmeccanismo per poter estrarre le informazioni di interesse

A tal scopo è stato definito un protocollo e un linguaggio diinterrogazione denominato SPARQL, che permette di inviare aun dato servizio interrogazioni relative a una o più sorgentidati RDF

Andrea Perego Corso Web 2.0 – Modulo B

Page 148: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Il protocollo SPARQL I

Il protocollo SPARQL [Clark et al., 2008] definisce contenuto estruttura dei messaggi inviati da un client a un servizio

A tal scopo, SPARQL utilizza l’architettura dei Web service, eviene descritto utilizzando WSDL 2.0 [Chinnici et al., 2007]

È importante notare che questa soluzione garantiscel’indipendenza tra l’interrogazione effettuata con SPARQL ecome i dati sono effettivamente rappresentati

Andrea Perego Corso Web 2.0 – Modulo B

Page 149: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Il protocollo SPARQL II

Ad es., i dati potrebbero essere archiviati in un databaserelazionale: quando il Web service riceve una interrogazioneSPARQL può convertire l’interrogazione in SQL, trasformare ilresult set in RDF, e inviarlo al client

Ciò significa che, oltre a permettere l’interrogazione di fontidati RDF, SPARQL può costituire un linguaggio diinterrogazione indipendente dal modello dei dati usato perrappresentare informazioni

Andrea Perego Corso Web 2.0 – Modulo B

Page 150: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Il linguaggio di interrogazione SPARQL I

Il linguaggio di interrogazione definito da SPARQL[Prud’hommeaux and Seaborne, 2008] adotta la sintassi diSQL, adattandola al modello di dati utilizzato in RDF

Vedremo brevemente le caratteristiche del linguaggio. Per unadescrizione dettagliata ri rimanda a[Prud’hommeaux and Seaborne, 2008]

Come in SQL, SPARQL usa la clausola SELECT per indicarele proprietà di interesse (attributi, in SQL)

In tal caso, come in SQL, il risultato dell’interrogazione vienerestituito in formato tabellare

Andrea Perego Corso Web 2.0 – Modulo B

Page 151: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Il linguaggio di interrogazione SPARQL II

In aggiunta, SPARQL definisce due clausole:

CONSTRUCT Permette di costruire un grafo RDF a partiredal result set: in questo caso, il risultatodell’interrogazione non è rappresentato in formatabellare, ma, appunto, come un grafo RDFserializzato

DESCRIBE Restituisce il grafo RDF corrispondenteall’insieme di enunciati relativi a una data risorsa

Andrea Perego Corso Web 2.0 – Modulo B

Page 152: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Il linguaggio di interrogazione SPARQL III

La sorgente dati RDF su cui effettuare l’interrogazione vienedenotata dalla clausola FROM (in questo caso esisteun’analogia tra sorgente dati RDF e la nozione ditabella/relazione in SQL)

Si è detto che SPARQL permette di interrogaresimultaneamente più sorgenti dati

Sintatticamente, ciò è espresso ripetendo la clausola FROMper ogni sorgente dati da considerare

È opportuno notare che non si tratta propriamente diun’operazione di join, come supportata da SQL

Semplicemente, le sorgenti dati RDF vengono integrate in ununico grafo

Andrea Perego Corso Web 2.0 – Modulo B

Page 153: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Una sorgente dati RDF con URI/IRI

http://www.example.org/people/

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <rd f :RDF x m l n s : r d f=" h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#"

x m l n s : f o a f=" h t t p : // xmlns . com/ f o a f /0 .1/ ">3 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg / peop l e/#a l i c e ">4 <foa f : name>A l i c e Smith</ foa f : name>5 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#bob">6 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#c a r o l ">7 </ r d f : D e s c r i p t i o n>8 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg / peop l e/#bob">9 <foa f : name>Bob White</ foa f : name>10 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#a l i c e ">11 </ r d f : D e s c r i p t i o n>12 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg / peop l e/#c a r o l ">13 <foa f : name>Ca ro l Brown</ foa f : name>14 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#a l i c e ">15 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#bob">16 </ r d f : D e s c r i p t i o n>17 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 154: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di interrogazione con la clausola SELECT

L’interrogazione:

1 PREFIX f o a f : <h t tp : // xmlns . com/ f o a f /0.1/>2 SELECT ?name ?knows3 FROM <ht tp : //www. example . o rg / peop l e/>4 WHERE { ?x f o a f : name ?name . ? x f o a f : knows ?y . ? y f o a f : name ?knows}

e il risultato

name knows

Alice Smith Bob WhiteAlice Smith Carol BrownBob White Alice SmithCarol Brown Alice SmithCarol Brown Bob White

Andrea Perego Corso Web 2.0 – Modulo B

Page 155: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Una interrogazione con la clausola CONSTRUCT

L’interrogazione:

1 PREFIX f o a f : <h t tp : // xmlns . com/ f o a f /0.1/>2 CONSTRUCT { ?x f o a f : knows ? y }3 FROM <ht tp : //www. example . o rg / peop l e/>4 WHERE { ?x f o a f : knows ?y}

e il risultato

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <rd f :RDF x m l n s : r d f=" h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#"

x m l n s : f o a f=" h t t p : // xmlns . com/ f o a f /0 .1/ ">3 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg / peop l e/#a l i c e ">4 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#bob">5 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#c a r o l ">6 </ r d f : D e s c r i p t i o n>7 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg / peop l e/#bob">8 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#a l i c e ">9 </ r d f : D e s c r i p t i o n>10 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg / peop l e/#c a r o l ">11 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#a l i c e ">12 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#bob">13 </ r d f : D e s c r i p t i o n>14 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 156: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Una interrogazione con la clausola DESCRIBE

L’interrogazione:

1 PREFIX f o a f : <h t tp : // xmlns . com/ f o a f /0.1/>2 PREFIX ex : <ht tp : //www. example . o rg / peop l e/#>3 DESCRIBE ex : a l i c e4 FROM <ht tp : //www. example . o rg / peop l e/>

e il risultato

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <rd f :RDF x m l n s : r d f=" h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#"

x m l n s : f o a f=" h t t p : // xmlns . com/ f o a f /0 .1/ ">3 < r d f : D e s c r i p t i o n r d f : a b o u t=" h t t p : //www. example . o rg / peop l e/#a l i c e ">4 <foa f : name>A l i c e Smith</ foa f : name>5 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#bob">6 <fo a f : k nows r d f : r e s o u r c e=" h t t p : //www. example . o rg / peop l e/#c a r o l ">7 </ r d f : D e s c r i p t i o n>8 </ rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 157: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

RDF Schema I

L’RDF Schema (detto anche RDF vocabulary descriptionlanguage) è un linguaggio che permette la definizione di classidi risorse e proprietà

Il rapporto tra RDF e RDF Schema (RDFS) è analogo a quelloesistente tra XML e XML Schema: RDFS usa la sintassi RDFper definire classi e proprietà RDF

A tal scopo, RDFS utilizza una serie di termini, associati a unnamespace differente dal quello dell’RDF, per cui normalmentesi usa il prefisso rdfs:http://www.w3.org/2000/01/rdf-schema#

In aggiunta, l’RDF impiega anche termini definiti già nelvocabolario RDF, quali rdf:XMLLiteral, rdf:type,rdf:Property, rdf:Bag, rdf:Seq, rdf:Alt, rdf:Statement

Andrea Perego Corso Web 2.0 – Modulo B

Page 158: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La nozione di classe in RDF(S)

In RDFS, le risorse possono essere raggruppate in classi, di cuisono istanze, e che costituiscono l’estensione della classe (classextension)

Il fatto che una risorsa è istanza di una classe viene denotatoattraverso la proprietà rdf:type

Un punto importante è che, in RDFS, le classi stesse sono aloro volta risorse, denotate come istanze della classe rdfs:Class

Inoltre i tipi di dato sono rappresentati come classi

Andrea Perego Corso Web 2.0 – Modulo B

Page 159: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Classi e sottoclassi

L’RDFS permette anche di definire la relazione di sottoclasse,attraverso la proprietà rdfs:subClassOf

In tal caso, se la classe C è sottoclasse della classe D(denotato C ⊑ D), allora le istanze di C sono anche istanze diD

Una classe può essere sottoclasse di più classi

È importante notare che la relazione di sottoclasse riguardaesclusivamente il livello estensionale di una classe

In altre parole, denotando con C I e D I , rispettivamente, leistanze delle classi C e D, se C ⊑ D, allora C I ⊆ D I

La relazione di sottoclasse è transitiva:C ⊑ D,D ⊑ E |= C ⊑ E

Andrea Perego Corso Web 2.0 – Modulo B

Page 160: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Tipi di classe principali

Nome Descrizione Sottoclasse di Istanza di

rdfs:Resource La classe che denota

tutte le risorse

rdfs:Class

rdfs:Class La classe delle risorse

che sono classi RDF

rdfs:Resource rdfs:Class

rdfs:Literal La classe dei letterali

RDF

rdfs:Resource rdfs:Class

rdfs:Datatype La classe dei tipi di dato rdfs:Resource rdfs:Class

rdf:XMLLiteral La classe dei letterali

XML

rdfs:Literal rdfs:Datatype

rdf:Property La classe delle proprietà

RDF

rdfs:Resource rdfs:Class

rdf:Statement La classe di enunciati

RDF

rdfs:Resource rdfs:Class

Andrea Perego Corso Web 2.0 – Modulo B

Page 161: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Tipi di classe per contenitori RDF

Nome Descrizione Sottoclasse di Istanza di

rdfs:Container La classe dei contenitori

RDF

rdfs:Resource rdfs:Class

rdf:Bag La classe dei contenitori

RDF di tipo “bag”

rdfs:Container rdfs:Class

rdf:Seq La classe dei contenitori

RDF di tipo “seq”

rdfs:Container rdfs:Class

rdf:Alt La classe dei contenitori

RDF di tipo “alt”

rdfs:Container rdfs:Class

rdfs:Container-

MembershipProperty

La classe delle proprie-

tà usate nei contenitori

RDF

rdf:Property rdfs:Class

Andrea Perego Corso Web 2.0 – Modulo B

Page 162: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Definizione di una classe I

In RDFS, la definizione di una classe (class description)prevede:

assegnazione di un nome, usando rdf:about, rdf:ID ordf:nodeID

dichiarazione della classe (o delle classi) RDF(S) di cui èistanza (attraverso rdf:type, o usando la sintassi abbreviata)

eventuale dichiarazione di sottoclasse attraversordfs:subClassOf

Andrea Perego Corso Web 2.0 – Modulo B

Page 163: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Definizione di una classe II

In aggiunta, possono essere usate le seguenti proprietà:rdfs:label: assegna alla classe un nome in linguaggio naturalerdfs:comment: fornisce una descrizione della classe inlinguaggio naturalerdfs:seeAlso: indica una risorsa che può fornire informazioniaggiuntive alla classerdfs:isDescribedBy: indica la risorsa che definisce la classe(ad es., un vocabolario RDF)

Ciò significa che, in RDF(S), non è possibile dichiarare qualisiano le proprietà caratteristiche di una classe (per questo ènecessario usare OWL)

Andrea Perego Corso Web 2.0 – Modulo B

Page 164: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Due esempi di class description

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <rd f :RDF x m l n s : r d f=" h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#"

x m l n s : r d f s=" h t t p : //www.w3 . org /2000/01/ rd f−schema#">3 <r d f s : C l a s s r d f : a b o u t="#Person ">4 < r d f s : l a b e l xm l : l a n g="en">pe r son</ r d f s : l a b e l>5 < r d f s : l a b e l xm l : l a n g=" i t ">per sona</ r d f s : l a b e l>6 <rd f s : comment xm l : l a n g="en">A pe r son .</ r d f s : l a b e l>7 <rd f s : comment xm l : l a n g=" i t ">Una per sona .</ r d f s : l a b e l>8 < r d f s : i s D e f i n e d B y r d f : r e s o u r c e=" h t t p : //www. example . o rg / voc#" />9 <r d f s : s e e A l s o r d f : r e s o u r c e=" h t t p : //www. example . o rg / voc . html#Person "

/>10 </ r d f s : C l a s s>11 <r d f s : C l a s s r d f : a b o u t="#Author ">12 < r d f s : s u b C l a s s O f r d f : r e s o u r c e="#Person " />13 < r d f s : l a b e l xm l : l a n g="en">author</ r d f s : l a b e l>14 < r d f s : l a b e l xm l : l a n g=" i t ">au to r e</ r d f s : l a b e l>15 <rd f s : comment xm l : l a n g="en">The pe r son who c r e a t e d a

r e s o u r c e .</ r d f s : l a b e l>16 <rd f s : comment xm l : l a n g=" i t ">La per sona che ha c r e a to una

r i s o r s a .</ r d f s : l a b e l>17 < r d f s : i s D e f i n e d B y r d f : r e s o u r c e=" h t t p : //www. example . o rg / voc#" />18 <r d f s : s e e A l s o r d f : r e s o u r c e=" h t t p : //www. example . o rg / voc . html#Author "

/>19 </ r d f s : C l a s s>20 <rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 165: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La nozione di proprietà in RDF(S)

La nozione base di proprietà è quella che abbiamo già visto:una proprietà denota l’esistenza di una relazione di un certotipo tra due risorse

Abbiamo visto che in RDF è possibile definire una proprietàquale istanza di rdf:Property, e assegnandole un nome

In aggiunta, l’RDFS, oltre a definire una sottoclasse dirdf:Property per i contenitori RDF, permette di specificarerelazioni di sottoproprietà, e di denotare il dominio e ilcodominio di una proprietà

Andrea Perego Corso Web 2.0 – Modulo B

Page 166: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Dominio e codominio di una proprietà

In RDFS viene adottata una terminologia analoga a quellausata nelle funzioni per denotare i possibili soggetti e oggettidi un enunciato che utilizza una determinata proprietà comepredicato

In particolare, l’insieme dei soggetti è denotato con il terminedominio (domain), mentre l’insieme degli oggetti concodominio (range)

Per analogia, una proprietà P può essere rappresentata comeuna funzione P : D → R, dove D denota il dominio di P ,mentre R il suo codominio

Dominio e codominio di una proprietà sono espressi,rispettivamente, dalle proprietà rdfs:domain e rdfs:range

Andrea Perego Corso Web 2.0 – Modulo B

Page 167: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Proprietà e sottoproprietà

La nozione di sottoproprietà è analoga a quella di sottoclasse,e viene espressa dalla proprietà rdfs:subPropertyOf

Denotando con P I e Q I , rispettivamente, le istanze delleproprietà P e Q, se P ⊑ Q, allora P I ⊆ Q I

Quindi, analogamente alla nozione di sottoclasse, la relazionedi sottoproprietà riguarda esclusivamente il livello estensionaledi una proprietà

Anche la relazione di sottoproprietà è transitiva

Infine una sottoproprietà eredita dominio e codominio dellasuperproprietà, a meno che essi non vengano dichiaratiesplicitamente

In tal caso, dominio e codominio della sottoproprietàdovrebbero essere sottoclassi di quelli della superproprietà

Andrea Perego Corso Web 2.0 – Modulo B

Page 168: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Definizione di una proprietà I

In RDFS, la definizione di una proprietà (property description)prevede:

assegnazione di un nome, usando rdf:about, rdf:ID ordf:nodeID

dichiarazione della classe RDF(S) di cui è istanza (attraversordf:type o usando la sintassi abbreviata)eventuale dichiarazione di sottoproprietà attraversordfs:subPropertyOfeventuale dichiarazione di dominio e codominio della proprietà,attraverso, rispettivamente, rdfs:domain e rdfs:range

Andrea Perego Corso Web 2.0 – Modulo B

Page 169: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Definizione di una proprietà II

In aggiunta, possono essere usate le proprietà rdfs:label,rdfs:comment, etc. già indicate precedente per la definizionedi una classe

È importante notare che in RDF(S) non è possibile denotareuna proprietà come simmetrica, transitiva, etc. Per questo ènecessario usare OWL

Andrea Perego Corso Web 2.0 – Modulo B

Page 170: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Tre esempi di property description

1 <? xml v e r s i o n=" 1 .0 " encod ing=" ut f−8"?>2 <rd f :RDF x m l n s : r d f=" h t t p : //www.w3 . org /1999/02/22− rd f−syntax−ns#"

x m l n s : r d f s=" h t t p : //www.w3 . org /2000/01/ rd f−schema#">3 <r d f s : C l a s s r d f : a b o u t="#Person ">4 . . .5 </ r d f s : C l a s s>6 <r d f s : P r o p e r t y r d f : a b o u t="#name">7 <r d f s : d om a i n r d f : r e s o u r c e="#Person " />8 < r d f s : r a n g e

r d f : r e s o u r c e=" h t t p : //www.w3 . org /2000/01/ rd f−schema#L i t e r a l " />9 </ r d f s : C l a s s>10 <r d f s : P r o p e r t y r d f : a b o u t="#knows">11 <r d f s : d om a i n r d f : r e s o u r c e="#Person " />12 < r d f s : r a n g e r d f : r e s o u r c e="#Person " />13 </ r d f s : C l a s s>14 <r d f s : P r o p e r t y r d f : a b o u t="#f r i e n dO f ">15 <rd f s : s u bP r o p e r t yO f r d f : r e s o u r c e="#knows" />16 </ r d f s : C l a s s>17 <rd f :RDF>

Andrea Perego Corso Web 2.0 – Modulo B

Page 171: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Web Ontology Language (OWL) I

RDF(S) fornisce meccanismi relativamente semplici per ladescrizione di risorse e per la definizione di classi e proprietà

OWL [Bechhofer et al., 2004] estende l’espressività di RDF(S)attraverso l’utilizzo di formalismi derivati dalle logichedescrittive [Baader et al., 2003]

Ciò viene ottenuto permettendo una più precisacaratterizzazione di classi, proprietà e delle loro istanze, cheviene poi utilizzata per effettuare inferenze

Andrea Perego Corso Web 2.0 – Modulo B

Page 172: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Web Ontology Language (OWL) II

In questo senso, OWL costruisce ontologie, mentre perRDF(S) si parla di vocabolari, in quanto definizione di uninsieme di termini

È importante sottolineare che OWL non è propriamenteun’estensione semantica di RDF(S), ma è una forma di logicadescrittiva (al riguardo, si veda [Horrocks et al., 2003]), chepuò essere serializzata in RDF/XML

Andrea Perego Corso Web 2.0 – Modulo B

Page 173: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

OWL Lite, DL e Full I

Per estendere l’RDF(S), OWL definisce un insieme di terminiin un vocabolario con namespace differente da quello diRDF(S): http://www.w3.org/2002/07/owl#

Dipendentemente da quali termini vengono utilizzati, e inquale modo, è possibile ottenere diversi livelli di espressività,che determinano anche la decidibilità di un insieme di enunciati

In base a ciò, le specifiche OWL definiscono tre “versioni” diOWL:

OWL Lite: decidibile (complessità di tipo esponenziale)OWL DL: decidibile (complessità di tipo esponenziale nondeterministico)OWL Full: indecidibile

Andrea Perego Corso Web 2.0 – Modulo B

Page 174: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

OWL Lite, DL e Full II

Tra le tre versioni di OWL vale la relazione:

OWL Lite ⊂ OWL DL ⊂ OWL Full (⊃ RDFS)

Il motivo per cui tali versioni sono definite esplicitamente dallespecifiche OWL è di fornire un riferimento per leimplementazioni di reasoner OWL

Allo stesso tempo, le tre versioni di OWL permettono discegliere la soluzione più adatta per rappresentare ontologie,dipendentemente dal rapporto tra espressività ed efficienza

La distinzione tra le tre versioni di OWL influenza anche lespecifiche del linguaggio, come, ad es., la definizione dispecifiche classi per denotare i vari tipi di proprietà2

2Per una descrizione dettagliata delle differenze tra le tre versioni di OWL si rimanda a:

http://www.w3.org/TR/owl-ref/#Sublanguage-def [Bechhofer et al., 2004]

Andrea Perego Corso Web 2.0 – Modulo B

Page 175: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

OWL e RDF(S) I

Un esempio significativo rispetto a quanto appena detto, èdato dalla definizione del termine owl:Class

Per quanto possibile, OWL riutilizza gli stessi termini impiegatiin RDFS

Tuttavia, nel caso delle definizioni di classi, rdfs:Class nonviene impiegato perché non tutte le classi RDFS sono classiOWL valide

Più precisamente, in RDF(S) una classe può essere a sua voltaun individuo, mentre in OWL Lite e OWL DL l’insieme delleclassi e degli individui sono disgiunti, mentre in OWL Fullquesto vincolo non si applica

Andrea Perego Corso Web 2.0 – Modulo B

Page 176: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

OWL e RDF(S) II

Conseguentemente, owl:Class è definito come sottoclasse dirdfs:Class

Per lo stesso motivo, OWL definisce una classe owl:Thing,che denota la classe di tutti gli individui, invece di riutilizzarerdfs:Resource

Il motivo, ancora, è che, in OWL Lite e OWL DL, un individuonon può essere allo stesso tempo una classe, a differenza diRDF(S) (e di OWL Full)

È infine importante notare che la reificazione, come definita inRDF(S), non può essere utilizzata in OWL Lite e OWL DL,dato che non è compatibile con le possibili serializzazioni di talilinguaggi, né soddisfa i vincoli di espressività posti da talilinguaggi

Andrea Perego Corso Web 2.0 – Modulo B

Page 177: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Classi OWL

Nome Istanza di Sottoclasse di

owl:Ontology rdfs:Class

owl:DataRange rdfs:Class

owl:Class rdfs:Class rdfs:Class

owl:Restriction rdfs:Class owl:Class

owl:Thing owl:Class

owl:Nothing owl:Class

owl:OntologyProperty rdfs:Class rdf:Property

owl:AnnotationProperty rdfs:Class rdf:Property

owl:ObjectProperty rdfs:Class rdf:Property

owl:DatatypeProperty rdfs:Class rdf:Property

owl:SymmetricProperty rdfs:Class owl:ObjectProperty

owl:TransitiveProperty rdfs:Class owl:ObjectProperty

owl:FunctionalProperty rdfs:Class rdf:Property

owl:InverseFunctionalProperty rdfs:Class owl:ObjectProperty

Andrea Perego Corso Web 2.0 – Modulo B

Page 178: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Proprietà OWL

Nome Dominio Codominio

owl:allValuesFrom owl:Restriction rdfs:Classowl:cardinality owl:Restriction xsd:nonNegativeIntegerowl:complementOf owl:Class owl:Classowl:differentFrom owl:Thing owl:Thingowl:disjointWith owl:Class owl:Classowl:equivalentClass owl:Class owl:Classowl:equivalentProperty rdf:Property rdf:Propertyowl:hasValue owl:Restrictionowl:intersectionOf owl:Class rdf:Listowl:inverseOf owl:ObjectProperty owl:ObjectPropertyowl:maxCardinality owl:Restriction xsd:nonNegativeIntegerowl:minCardinality owl:Restriction xsd:nonNegativeIntegerowl:oneOf owl:Class rdf:Listowl:onProperty owl:Restriction rdf:Propertyowl:sameAs owl:Thing owl:Thingowl:someValuesFrom owl:Restriction rdfs:Classowl:unionOf owl:Class rdf:List

Andrea Perego Corso Web 2.0 – Modulo B

Page 179: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Definizioni di classe

Oltre a quelli supportati da RDF(S), OWL fornisce tre meccanismiper le definizioni di classe:

Enumerazione

Restrizione sulle proprietà

Intersezione, unione e complemento

In tutti questi casi, una classe OWL è definita come istanza diowl:Class

Andrea Perego Corso Web 2.0 – Modulo B

Page 180: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Classi definite attraverso enumerazione

Tali classi sono definite attraverso l’enumerazione esaustivadelle loro istanze

Non è analogo all’uso dei contenitori RDF: un contenitore nondefinisce una classe, ma solo un gruppo di risorse

A tal scopo viene impiegata la proprietà owl:oneOf

È importante notare che si tratta di un definizione estensionaledella classe

Al contrario, tutti gli altri meccanismi definiscono una classeintensionalmente

Andrea Perego Corso Web 2.0 – Modulo B

Page 181: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di classe definita per enumerazione

1 <o w l : C l a s s>2 <owl :oneOf r d f : p a r s eTy p e=" Co l l e c t i o n ">3 <owl :Th ing r d f : a b o u t="#Eu ra s i a "/>4 <owl :Th ing r d f : a b o u t="#A f r i c a "/>5 <owl :Th ing r d f : a b o u t="#NorthAmer ica "/>6 <owl :Th ing r d f : a b o u t="#SouthAmer ica "/>7 <owl :Th ing r d f : a b o u t="#Au s t r a l i a "/>8 <owl :Th ing r d f : a b o u t="#An t a r c t i c a "/>9 </ owl :oneOf>10 </ o w l : C l a s s>

Andrea Perego Corso Web 2.0 – Modulo B

Page 182: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Classi definite attraverso restrizioni su proprietà

Le restrizioni su proprietà permettono di definire una classe neitermini delle proprietà che li caratterizzanoLe restrizioni sono espresse attraverso due possibili vincoli:

vincoli sui valori che una proprietà può assumerevincoli di cardinalità di un proprietà, i.e., quante occorrenze diuna data proprietà sono ammissibili/necessarie

In entrambi i casi, le restrizioni su proprietà vengono espresseattraverso un’istanza della classe OWL owl:Restriction,associata alla proprietà owl:onProperty, più la proprietàutilizzata per denotare il vincolo sui valori o di cardinalità

Andrea Perego Corso Web 2.0 – Modulo B

Page 183: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Vincoli sui valori delle proprietà

owl:allValuesFrom: Ha per oggetto o un intervallo di valori ouna definizione di classe, e richiede che tutte le occorrenze diuna data proprietà, associate a istanze della classe, abbianovalori tra quelli indicati nell’oggetto. Corrisponde alquantificatore universale ∀

owl:someValuesFrom: Ha per oggetto o un intervallo divalori o una definizione di classe, e richiede che almeno unadelle occorrenze di una data proprietà, associate a istanze dellaclasse, abbia valori tra quelli indicati nell’oggetto. Corrispondeal quantificatore esistenziale ∃

owl:hasValue: Ha per oggetto o un valore o un individuo, erichiede che almeno una delle occorrenze di una data proprietà,associate a istanze della classe, abbiano valori semanticamenteuguali a quello indicato nell’oggetto

Andrea Perego Corso Web 2.0 – Modulo B

Page 184: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di classi definite attraverso vincoli sui valori

delle proprietà

La classe degli “umani”:

1 <o w l : R e s t r i c t i o n>2 <ow l : o nP r op e r t y r d f : r e s o u r c e="#hasParent " />3 <ow l : a l lV a l u e sF r om r d f : r e s o u r c e="#Human" />4 </ o w l : R e s t r i c t i o n>

La classe dei “figli di dottori”:

1 <o w l : R e s t r i c t i o n>2 <ow l : o nP r op e r t y r d f : r e s o u r c e="#hasParent " />3 <ow l : someVa luesF rom r d f : r e s o u r c e="#Phy s i c i a n " />4 </ o w l : R e s t r i c t i o n>

La classe dei “figli di Alice”:

1 <o w l : R e s t r i c t i o n>2 <ow l : o nP r op e r t y r d f : r e s o u r c e="#hasParent " />3 <ow l : h a sV a l u e r d f : r e s o u r c e="#A l i c e " />4 </ o w l : R e s t r i c t i o n>

Andrea Perego Corso Web 2.0 – Modulo B

Page 185: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Vincoli di cardinalità delle proprietà

owl:maxCardinality Denota il numero massimo di occorrenze di unaproprietà

owl:minCardinality Denota il numero minimo di occorrenze di unaproprietà

owl:cardinality Denota il numero esatto di occorrenze di unaproprietà

Andrea Perego Corso Web 2.0 – Modulo B

Page 186: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di classi definite attraverso vincoli di cardinalità

delle proprietà

1 <o w l : R e s t r i c t i o n>2 <ow l : o nP r op e r t y r d f : r e s o u r c e="#hasParent " />3 <ow l : m a x C a r d i n a l i t y

r d f : d a t a t y p e="&xsd ; no nNeg a t i v e I n t e g e r ">2</ ow l : m a xC a r d i n a l i t y>4 </ o w l : R e s t r i c t i o n>

6 <o w l : R e s t r i c t i o n>7 <ow l : o nP r op e r t y r d f : r e s o u r c e="#hasParent " />8 <ow l :m i nC a r d i n a l i t y

r d f : d a t a t y p e="&xsd ; no nNeg a t i v e I n t e g e r ">2</ ow l :m i nC a r d i n a l i t y>9 </ o w l : R e s t r i c t i o n>

11 <o w l : R e s t r i c t i o n>12 <ow l : o nP r op e r t y r d f : r e s o u r c e="#hasParent " />13 <o w l : c a r d i n a l i t y

r d f : d a t a t y p e="&xsd ; no nNeg a t i v e I n t e g e r ">2</ o w l : c a r d i n a l i t y>14 </ o w l : R e s t r i c t i o n>

Andrea Perego Corso Web 2.0 – Modulo B

Page 187: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Classi definite attraverso intersezione, unione e complemento

Intersezione, unione e complemento permettono di definireclassi combinando altre definizioni di classe attraversocongiunzione, disgiunzione e negazione

L’uso delle terminologia propria degli operatori insiemisticideriva dal fatto che la combinazione delle classi vieneeffettuata a livello estensionale

Più precisamente, se C I e D I denotano, rispettivamente, leistanze delle classi C e D avremo:

Intersezione C ⊓ D equivale a C I ∩ D I

Unione C ⊔ D equivale a C I ∪ D I

Complemento ¬C equivale a C I

Andrea Perego Corso Web 2.0 – Modulo B

Page 188: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di classe definita attraverso intersezione

1 <o w l : C l a s s>2 <o w l : i n t e r s e c t i o n O f r d f : p a r s eTy pe=" Co l l e c t i o n ">3 <ow l : C l a s s>4 <owl :oneOf r d f : p a r s eTyp e=" C o l l e c t i o n ">5 <owl :Th ing r d f : a b o u t="#Tosca" />6 <owl :Th ing r d f : a b o u t="#Salome" />7 </ owl :oneOf>8 </ ow l : C l a s s>9 <ow l : C l a s s>10 <owl :oneOf r d f : p a r s eTyp e=" C o l l e c t i o n ">11 <owl :Th ing r d f : a b o u t="#Turandot" />12 <owl :Th ing r d f : a b o u t="#Tosca" />13 </ owl :oneOf>14 </ ow l : C l a s s>15 </ o w l : i n t e r s e c t i o n O f>16 </ o w l : C l a s s>

Andrea Perego Corso Web 2.0 – Modulo B

Page 189: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di classe definita attraverso unione

1 <o w l : C l a s s>2 <ow l : un i onO f r d f : p a r s eT yp e=" Co l l e c t i o n ">3 <ow l : C l a s s>4 <owl :oneOf r d f : p a r s eTyp e=" C o l l e c t i o n ">5 <owl :Th ing r d f : a b o u t="#Tosca" />6 <owl :Th ing r d f : a b o u t="#Salome" />7 </ owl :oneOf>8 </ ow l : C l a s s>9 <ow l : C l a s s>10 <owl :oneOf r d f : p a r s eTyp e=" C o l l e c t i o n ">11 <owl :Th ing r d f : a b o u t="#Turandot" />12 <owl :Th ing r d f : a b o u t="#Tosca" />13 </ owl :oneOf>14 </ ow l : C l a s s>15 </ ow l : un i onO f>16 </ o w l : C l a s s>

Andrea Perego Corso Web 2.0 – Modulo B

Page 190: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di classe definita attraverso complemento

La classe di “ciò che non è carne”:

1 <o w l : C l a s s>2 <owl:complementOf>3 <ow l : C l a s s r d f : a b o u t="#Meat"/>4 </ owl:complementOf>5 </ o w l : C l a s s>

Andrea Perego Corso Web 2.0 – Modulo B

Page 191: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Assiomi di classe

Gli assiomi di classe sono impiegati per denotare caratteristichenecessarie e/o sufficienti di una classe

A parte rdfs:subClassOf, OWL utilizza le proprietàowl:equivalentClass e owl:disjointWith

Come per rdfs:subClassOf, queste proprietà denotanorelazioni tra classi da un punto di vista esclusivamenteestensionale:

owl:equivalentClass C ≡ D equivale a C I= D I

owl:disjointWith C ⊓ D =⊥ equivale a C I ∩ D I= ∅

Andrea Perego Corso Web 2.0 – Modulo B

Page 192: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Annotation property I

Oltre ai costrutti finora visti, la definizione di una classe puòincludere un insieme di proprietà che forniscono ulterioriinformazioni sulla classe, senza definirla

Tali proprietà sono chiamate annotation property, e denotatedalla classe owl:AnnotationProperty

In OWL fanno parte delle annotation property quelle già vistein RDFS, cioè, rdfs:label, rdfs:comment, rdfs:seeAlso erdfs:isDefinedBy

In aggiunta, viene definita la proprietà owl:versionInfo, perfornire informazioni sulla versione della classe

Andrea Perego Corso Web 2.0 – Modulo B

Page 193: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Annotation property II

Il motivo per cui viene definita una classe specifica per questeproprietà è che, in OWL Lite e OWL DL, una annotationproperty non può essere, allo stesso tempo, una objectproperty e/o una datatype property

In OWL Full non esiste questo vincolo

Andrea Perego Corso Web 2.0 – Modulo B

Page 194: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Definizione di proprietà

OWL estende la definizione di proprietà dell’RDF(S)permettendo di specificare:

relazioni esistenti con altre proprietà (owl:equivalentPropertye owl:inverseOf)vincoli di cardinalità propri di una proprietà in quanto tale, enon in quanto usata da istanze di una classe(owl:FunctionalProperty e owl:InverseFunctionalProperty)caratteristiche logiche (owl:SymmetricProperty eowl:TransitiveProperty)

In aggiunta, OWL definisce due sottoclassi di rdf:Property chedenotano se il codominio della proprietà è un individuo o unvalore, ossia owl:ObjectProperty e owl:DatatypeProperty

Le annotation property possono essere impiegate come nelledefinizioni di classi

Andrea Perego Corso Web 2.0 – Modulo B

Page 195: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Alcuni esempi di definizione di proprietà I

1 <ow l :Da t a t y peP r o pe r t y r d f : a b o u t="#name">2 < r d f s : d oma i n r d f : r e s o u r c e="#Person " />3 < r d f s : r a n g e r d f : r e s o u r c e="&r d f s ; L i t e r a l " />4 </ ow l :Da t a t y peP ro pe r t y>

6 <ow l :Symmet r i cP rope r t y r d f : a b o u t="#knows">7 < r d f s : d oma i n r d f : r e s o u r c e="#Person " />8 < r d f s : r a n g e r d f : r e s o u r c e="#Person " />9 <ow l : e q u i v a l e n t P r o p e r t y r d f : r e s o u r c e="&f o a f ; knows" />10 </ ow l :Symmet r i cP rope r t y>

12 <ow l :Ob j e c t P r o p e r t y r d f : a b o u t="#f r i e n dO f ">13 <r d f s : s u bP ro p e r t yO f r d f : r e s o u r c e="#knows" />14 <ow l : e q u i v a l e n t P r o p e r t y r d f : r e s o u r c e="&r e l ; f r i e n dO f " />15 </ ow l :Symmet r i cP rope r t y>

17 <ow l : T r a n s i t i v eP r o p e r t y r d f : a b o u t="#co l l e a g ueO f ">18 <r d f s : s u bP ro p e r t yO f r d f : r e s o u r c e="#knows" />19 <ow l : e q u i v a l e n t P r o p e r t y r d f : r e s o u r c e="&r e l ; c o l l e a gu eO f " />20 </ ow l : T r a n s i t i v eP r o p e r t y>

22 <ow l :Ob j e c t P r o p e r t y r d f : a b o u t="#parentOf ">23 <ow l : i n v e r s eO f r d f : r e s o u r c e="#ch i l dO f " />24 <r d f s : s u bP ro p e r t yO f r d f : r e s o u r c e="#knows" />25 <ow l : e q u i v a l e n t P r o p e r t y r d f : r e s o u r c e="&r e l ; pa rentOf " />

Andrea Perego Corso Web 2.0 – Modulo B

Page 196: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Alcuni esempi di definizione di proprietà II

26 </ ow l :Ob j e c t P r o p e r t y>

28 <ow l :Ob j e c t P r o p e r t y r d f : a b o u t="#ch i l dO f ">29 <ow l : i n v e r s eO f r d f : r e s o u r c e="#parentOf " />30 <r d f s : s u bP ro p e r t yO f r d f : r e s o u r c e="#knows" />31 <ow l : e q u i v a l e n t P r o p e r t y r d f : r e s o u r c e="&r e l ; c h i l dO f " />32 </ ow l :Ob j e c t P r o p e r t y>

Andrea Perego Corso Web 2.0 – Modulo B

Page 197: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Vincoli di cardinalità di una proprietà

La semantica delle classi e proprietà utilizzate nella definizionedi un proprietà sono abbastanza intuitive

Fanno forse eccezione quelle utilizzate per esprimere vincoli dicardinalità

owl:FunctionalProperty viene usata per denotare il fatto cheil soggetto dell’enunciato può essere associato a un unicooggetto

Ad es., una donna (solitamente) non può avere più di unmarito

owl:InverseFunctionalProperty viene usata per denotare ilfatto che l’oggetto dell’enunciato può essere associato a ununico soggetto

Ad es., una persona non può avere più di una madre (biologica)

Andrea Perego Corso Web 2.0 – Modulo B

Page 198: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Due esempi dell’uso di vincoli di cardinalità

1 <ow l :Ob j e c t P r o p e r t y r d f : I D="husband">2 <r d f : t y p e r d f : r e s o u r c e="&owl ; F un c t i o n a l P r op e r t y " />3 < r d f s : d oma i n r d f : r e s o u r c e="#Woman" />4 < r d f s : r a n g e r d f : r e s o u r c e="#Man" />5 </ ow l :Ob j e c t P r o p e r t y>

7 <ow l : I n v e r s e F u n c t i o n a l P r o p e r t y r d f : I D=" b i o l o g i c a lMo t h e rO f ">8 < r d f s : d oma i n r d f : r e s o u r c e="#Woman"/>9 < r d f s : r a n g e r d f : r e s o u r c e="#Human"/>10 </ ow l : I n v e r s e F u n c t i o n a l P r o p e r t y>

Andrea Perego Corso Web 2.0 – Modulo B

Page 199: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Relazioni di identità tra individui

OWL definisce due proprietà per denotare l’esistenza direlazioni di identità tra individui: owl:sameAs eowl:differentFrom

Il motivo è che la relazione tra risore e URI/IRI è uno a molti:un URI/IRI denota un’unica risorsa, ma una risorsa può esseredenotata da più URI/IRI

In OWL Full, dove le classi possono essere trattare comeistanze di una (meta)classe, owl:sameAs eowl:differentFrom possono essere usate per denotareuguglianza p diversità dal punto di vista intensionale, mentreowl:equivalentClass e owl:disjointWith, come abbiamovisto, riguardano il livello estensionale della classe

Andrea Perego Corso Web 2.0 – Modulo B

Page 200: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Intestazione di un’ontologia OWL

Le informazioni relative a un’ontologia OWL sono espresseattraverso il cosiddetto ontology header, denotato dalla classeowl:Ontology

La specifica dell’intestazione di un’ontologia è analoga all’usogià visto per rdf:Description, associato all’attributordf:about con valore indefinitoIn OWL è definita una classe di proprietà,owl:OntologyProperty, che possono essere usate soloall’interno dell’intestazione di un’ontologiaTra di esse, vale la pena di menzionare owl:imports, chepermette di importare in un’ontologia OWL definizioni inclusein altre ontologieOltre alle ontology property, l’intestazione di un’ontologiatipicamente include anche annotation property

Andrea Perego Corso Web 2.0 – Modulo B

Page 201: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Un esempio di ontology header (quello del vocabolario OWL)

1 <ow l :On t o l o g y r d f : a b o u t="">2 <ow l : impo r t s r d f : r e s o u r c e=" h t t p : //www.w3 . org /2000/01/ rd f−schema "/>3 < r d f s : i s D e f i n e d B y

r d f : r e s o u r c e=" h t t p : //www.w3 . org /TR/2004/REC−owl−semant i c s −20040210/"/>4 < r d f s : i s D e f i n e d B y

r d f : r e s o u r c e=" h t t p : //www.w3 . org /TR/2004/REC−owl−t e s t −20040210/"/>5 < r d f s : i s D e f i n e d B y

r d f : r e s o u r c e=" h t t p : //www.w3 . org /TR/2004/REC−owl−f e a t u r e s −20040210/"/>6 <rd f s : comment>Thi s f i l e s p e c i f i e s i n RDF Schema format the b u i l t−i n

c l a s s e s and p r o p e r t i e s t ha t t o g e t he r form the b a s i s o f theRDF/XML syn tax o f OWL Fu l l , OWL DL and OWL L i t e . We do notexpec t peop l e to impor t t h i s f i l e e x p l i c i t l y i n t o t h e i ron to l ogy . Peop le tha t do impor t t h i s f i l e shou l d expec t t h e i ron to l ogy to be an OWL Fu l l on to l ogy .</ rd f s : commen t>

7 <o w l : v e r s i o n I n f o>10 February 2004 , r e v i s e d $Date : 2004/09/2418 : 1 2 : 0 2 $</ o w l : v e r s i o n I n f o>

8 <ow l : p r i o r V e r s i o nr d f : r e s o u r c e=" h t t p : //www. daml . o rg /2001/03/ daml+o i l "/>

9 </ ow l :On t o l o g y>

Andrea Perego Corso Web 2.0 – Modulo B

Page 202: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Indice

1 Introduzione

2 Web 2.0

3 Semantic WebIntroduzioneXML: un formato standard per la rappresentazione di dati

Il linguaggio XMLDefinire strutture dati con l’XML: DTD e XML SchemaXML Namespace: diversi vocabolari nello stesso documento XMLXPath: selezionare porzioni di documenti XMLXSLT: trasformare documenti XML

Da RDF(S) a OWLRDFSPARQLRDF SchemaOWL

Regole e Semantic Web

4 Semantic Web e Web 2.0

Andrea Perego Corso Web 2.0 – Modulo B

Page 203: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

I limiti di RDF/OWL e i linguaggi a regole I

Per quanto OWL fornisca un insieme di costrutti per ladescrizione accurata di classi e proprietà, esistono dei limiti suitipi di inferenze supportati

L’esempio tipico è il seguente: se A è genitore di B e C èfratello di A, sono in grado di inferire che C è zio di B?

Questi tipi di inferenze non sono possibili in RDF/OWL, percui è necessario adottare una tecnologia che ne estendal’espressività

Questa è una delle ragioni fondamentali per cui l’architetturadel Semantic Web prevede un layer specifico per le regole

Andrea Perego Corso Web 2.0 – Modulo B

Page 204: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

I limiti di RDF/OWL e i linguaggi a regole II

Ad es., una regola come la seguente è in grado di inferire cheC è zio di B

∀x , y , z , parentOf (x , y) ∧ brotherOf (x , z) → uncleOf (z , y) (1)

In realtà, esistono altre ragioni che motivano l’adozione delleregole

RDF/OWL permette di integrare basi di conoscenza diverseattraverso l’adozione di un formato standard per l’interscambiodi metadati

Devono però essere disponibili gli strumenti necessari perutilizzare efficacemente tali informazioni

Andrea Perego Corso Web 2.0 – Modulo B

Page 205: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

I limiti di RDF/OWL e i linguaggi a regole III

Abbiamo già visto come SPARQL fornisca una primasoluzione, permettendo non solo di accedere a sorgenti datiRDF, ma pure di costruire nuovi enunciati a partire da esse

Tuttavia, essendo SPARQL un linguaggio di interrogazione,non è in grado di estendere la base di conoscenza inferendoenunciati impliciti

Da questo punto di vista, le regole hanno un duplice vantaggio:non solo permettono di estendere la base di conoscenzaattraverso meccanismi di inferenza non supportati da OWL,ma, allo stesso tempo, sono caratterizzate da una flessibilitàche permette di utilizzarle per gli scopi più vari (specifica eapplicazione di politiche di trust e di protezione dei dati,preferenze per la personalizzazione dell’accesso al Web, etc.)

Andrea Perego Corso Web 2.0 – Modulo B

Page 206: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

I limiti di RDF/OWL e i linguaggi a regole IV

Un’ulteriore ragione per l’adozione dei linguaggi a regole è chesi tratta di una tecnologia consolidata, e che viene impiegatanei contesti più diversi

Ad es., è impiegata diffusamente per la specifica di businessrule e di politiche di controllo degli accessi

Ciò significa che la tecnologia per l’effettiva implementazionedei linguaggi a regole è già disponibile

Andrea Perego Corso Web 2.0 – Modulo B

Page 207: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

RIF (Rule Interchange Format) I

A partire da queste considerazioni, il W3C sta attualmentesviluppando una tecnologia che, invece di definire unlinguaggio a regole standard, si propone piuttosto di garantirel’interoperabilità semantica di sistemi a regole diversi

Questa iniziativa è denominata RIF, ed ha attualmentepubblicato una serie di specifiche che sono ancora allo stato diWorking Draft

Andrea Perego Corso Web 2.0 – Modulo B

Page 208: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

RIF (Rule Interchange Format) II

Uno dei contributi del RIF [Boley and Kifer, 2008] è ladefinizione di una sintassi, denominata RIF-BLD (RIF BasicLogic Dialect), che è costituita da due componenti principali:

quella per la specifica delle condizioni da utilizzarenell’antecedente di una regola (RIF-BLD condition language)

quella per la specifica di regole (RIF-BLD rule language)

Il RIF ha anche definito le regole per serializzare RIF-BLD inXML

Andrea Perego Corso Web 2.0 – Modulo B

Page 209: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La regola (1) codificata in RIF I

Usando RIF-BLD:

1 F o r a l l ? x ?y ? z (? x [ ex : unc l eOf −> ?z ] :− And (? x [ ex : b r o the rO f −> ?y ]?y [ ex : parentOf −> ?z ] ) )

e usando la sua serializzazione in XML:

1 <F o r a l l>2 <de c l a r e><Var>X</Var></ d e c l a r e>3 <de c l a r e><Var>Y</Var></ d e c l a r e>4 <de c l a r e><Var>Z</Var></ d e c l a r e>5 <fo rmu l a>6 <Imp l i e s>7 < i f>8 <And>9 <fo rmu l a>10 <Atom>11 <op><Const type="& r i f ; i r i ">&ex ; parentOf</Const></op>12 <arg s o r de r ed=" yes ">13 <Var>X</Var>14 <Var>Y</Var>15 </ a rg s>16 </Atom>17 </ fo rmu l a>

Andrea Perego Corso Web 2.0 – Modulo B

Page 210: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La regola (1) codificata in RIF II

18 <fo rmu l a>19 <Atom>20 <op><Const type="& r i f ; i r i ">&ex ; b r o the rO f</Const></op>21 <arg s>22 <Var>X</Var>23 <Var>Z</Var>24 </ a rg s>25 </Atom>26 </ fo rmu l a>27 </And>28 </ i f>29 <then>30 <Atom>31 <op><Const type="&r i f ; i r i ">&ex ; unc l eOf</Const></op>32 <arg s o r de r ed=" yes ">33 <Var>Z</Var>34 <Var>Y</Var>35 </ a rg s>36 </Atom>37 </ then>38 </ Imp l i e s>39 </ fo rmu l a>40 </ F o r a l l>

Andrea Perego Corso Web 2.0 – Modulo B

Page 211: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Tipi di dato e built-in RIF I

Uno degli aspetti che caratterizzano RDF/OWL èl’impossibilità di operare confronti tra letterali, ed effettuareoperazioni su di esse (ad es., operazioni aritmetiche,espressioni regolari, etc.)

Il motivo è che RDF/OWL sono concepiti per esprimererelazioni tra risorse, e non per processare dati

Esiste anche una motivazione legata alla sintassi dell’RDF:dato che un letterale non può mai essere il soggetto di unenunciato, non è possibile, ad es., utilizzare proprietà checorrispondano a operatori di confronto

Andrea Perego Corso Web 2.0 – Modulo B

Page 212: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

Tipi di dato e built-in RIF II

Tuttavia, nelle applicazioni reali, la mancanza di funzionalitàsupportate da tutti i linguaggi di programmazione limitanotevolmente l’uso e la flessibilità di RDF/OWL

È quindi significativo che il RIF preveda una serie di built-in cheforniscono funzioni e predicati per operare su numeri, stringhee date, e per verificare quale sia il tipo di dato di un letterale

Andrea Perego Corso Web 2.0 – Modulo B

Page 213: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

N3 e SWRL I

Come si è detto, lo standard RIF è ancora in fase dielaborazione, e quindi non sono attualmente disponibilistrumenti in grado di farne uso

Esistono tuttavia da tempo dei linguaggi a regole basati sutecnologie del Semantic Web che sono supportati da reasoneresistenti

Tra questi vale la pena menzionare, per ragioni storiche, N3 edSWRL

Andrea Perego Corso Web 2.0 – Modulo B

Page 214: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

N3 e SWRL II

Abbiamo già visto precedentemente N3[Berners-Lee et al., 2008, Berners-Lee and Connolly, 2008],come sintassi per la serializzazione di grafi RDF, e per comefornisce supporto alla reificazione. Come già detto, N3 nonsolo fornisce una sintassi alternativa e più leggibile rispetto aquella dell’RDF/XML, ma include costrutti che estendonoRDF, quali la nozione di quoted formula e il supporto per leregole

SWRL (Semantic Web Rule Language) [Horrocks et al., 2004]è invece un linguaggio definito specificamente per la codifica diregole, ed è nato dai risultati di iniziative precedenti, e piùprecisamente dal linguaggio RuleML (Rule Markup Language),che aveva lo scopo di fornire una sintassi standard per larappresentazione di regole

Andrea Perego Corso Web 2.0 – Modulo B

Page 215: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

N3 e SWRL III

Una delle caratteristiche che differenziano SWRL da N3 è lapossibilità di serializzare la sua sintassi astratta sia in XML chein RDF/XML

Entrambi hanno però una caratteristica in comune: come ilRIF, supportano una serie di built-in per la manipolazione diletterali

Sebbene questi due linguaggi forniscano quasi tutti glistrumenti necessari per la rappresentazione e l’uso di regoleall’interno delle tecnologie del Semantic Web, sono rimasteallo stato di tecnologie non standard, e la decisione del RIF disviluppare non un linguaggio a regole ma un formato diinterscambio le pone nella stessa posizione di linguaggi aregole non basati sulle tecnologie del Semantic Web

Andrea Perego Corso Web 2.0 – Modulo B

Page 216: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La regola (1) codificata in N3

1 @ f o rA l l X, Y, Z . { X ex : parentOf Y . X ex : b r o the rO f Z } l og : im p l i e s {Z ex : unc l eOf Y } .

oppure:

1 {? x ex : parentOf ? y . ?x ex : b r o the rO f ? z } l og : i m p l i e s { ? z ex : unc l eOf?y } .

Più brevemente:

1 {? x ex : parentOf ? y ; ex : b r o the rO f ? z } => { ?z ex : unc l eOf ? y } .

Andrea Perego Corso Web 2.0 – Modulo B

Page 217: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La regola (1) codificata in SWRL I

Sintassi astratta:

1 Imp l i e s ( Antecedent ( ex : parentOf ( I−v a r i a b l e ( x ) I−v a r i a b l e ( y ) )ex : b r o the rO f ( I−v a r i a b l e ( x ) I−v a r i a b l e ( z ) ) ) Consequent ( unc l eOf (I−v a r i a b l e ( z ) I−v a r i a b l e ( y ) ) ) )

sua serializzazione in XML:

1 <ru l em l : imp>2 <ru leml :_body>3 <sw r l x : i n d i v i d u a l P r o p e r t yA t om s w r l x : p r o p e r t y=" ex :pa r en tO f ">4 <r u l em l : v a r>x</ r u l em l : v a r>5 <r u l em l : v a r>y</ r u l em l : v a r>6 </ sw r l x : i n d i v i d u a l P r o p e r t yA t om>7 <sw r l x : i n d i v i d u a l P r o p e r t yA t om s w r l x : p r o p e r t y=" e x : b r o t h e r ">8 <r u l em l : v a r>x</ r u l em l : v a r>9 <r u l em l : v a r>z</ r u l em l : v a r>10 </ sw r l x : i n d i v i d u a l P r o p e r t yA t om>11 </ ru l eml :_body>12 <ru leml :_head>13 <sw r l x : i n d i v i d u a l P r o p e r t yA t om s w r l x : p r o p e r t y=" e x : u nc l eO f ">14 <r u l em l : v a r>z</ r u l em l : v a r>15 <r u l em l : v a r>y</ r u l em l : v a r>16 </ sw r l x : i n d i v i d u a l P r o p e r t yA t om>

Andrea Perego Corso Web 2.0 – Modulo B

Page 218: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La regola (1) codificata in SWRL II

17 </ ru l eml :_head>18 </ ru l em l : imp>

sua serializzazione in RDF/XML:

1 <sw r l : V a r i a b l e r d f : I D="x"/>2 <sw r l : V a r i a b l e r d f : I D="y"/>3 <sw r l : V a r i a b l e r d f : I D="z"/>4 <ru l em l : Imp>5 <r u l em l : b od y r d f : p a r s eT yp e=" Co l l e c t i o n ">6 <sw r l : I n d i v i d u a l P r o p e r t yA t om>7 <sw r l : p r o p e r t y P r e d i c a t e r d f : r e s o u r c e="&ex ; parentOf "/>8 <swr l : a r gumen t1 r d f : r e s o u r c e="#x" />9 <swr l : a r gumen t2 r d f : r e s o u r c e="#y" />10 </ sw r l : I n d i v i d u a l P r o p e r t yA t om>11 <sw r l : I n d i v i d u a l P r o p e r t yA t om>12 <sw r l : p r o p e r t y P r e d i c a t e r d f : r e s o u r c e="&ex ; b r o the rO f "/>13 <swr l : a r gumen t1 r d f : r e s o u r c e="#x" />14 <swr l : a r gumen t2 r d f : r e s o u r c e="#z" />15 </ sw r l : I n d i v i d u a l P r o p e r t yA t om>16 </ r u l em l : b od y>17 <r u l em l : h e a d r d f : p a r s eT yp e=" Co l l e c t i o n ">18 <sw r l : I n d i v i d u a l P r o p e r t yA t om>19 <sw r l : p r o p e r t y P r e d i c a t e r d f : r e s o u r c e="&ex ; unc l eOf "/>20 <swr l : a r gumen t1 r d f : r e s o u r c e="#z" />

Andrea Perego Corso Web 2.0 – Modulo B

Page 219: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

IntroduzioneXML: un formato standard per la rappresentazione di datiDa RDF(S) a OWLRegole e Semantic Web

La regola (1) codificata in SWRL III

21 <swr l : a r gumen t2 r d f : r e s o u r c e="#y" />22 </ sw r l : I n d i v i d u a l P r o p e r t yA t om>23 </ r u l em l : h e a d>24 </ ru l em l : Imp>

Andrea Perego Corso Web 2.0 – Modulo B

Page 220: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

Riferimenti bibliografici I

Baader, F., Calvanese, D., McGuinness, D. L., Nardi, D., and Patel-Schneider, P. F., editors

(2003).The Description Logic Handbook: Theory, Implementation, and Applications. CambridgeUniversity Press.http://dx.doi.org/10.2277/0521781760.

Bechhofer, S., van Harmelen, F., Hendler, J., Horrocks, I., McGuinness, D. L., Patel-Schneider,

P. F., and Stein, L. A. (2004).OWL Web Ontology Language: Reference.W3C Recommendation, W3C.http://www.w3.org/TR/owl-ref.

Beckett, D. (2004).

RDF/XML syntax specification (revised).W3C Recommendation, W3C.http://www.w3.org/TR/rdf-syntax-grammar/.

Beckett, D. and Berners-Lee, T. (2008).

Turtle – Terse RDF triple language.W3C Team Submission, W3C.http://www.w3.org/TeamSubmission/turtle/.

Andrea Perego Corso Web 2.0 – Modulo B

Page 221: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

Riferimenti bibliografici II

Berners-Lee, T. and Connolly, D. (2008).

Notation3 (N3): A readable RDF syntax.W3C Team Submission, W3C.http://www.w3.org/TeamSubmission/n3/.

Berners-Lee, T., Connolly, D., Kagal, L., Scharf, Y., and Hendler, J. (2008).

N3Logic: A logical framework for the World Wide Web.Theory and Practice of Logic Programming, 8(3):249–269.http://dx.doi.org/10.1017/S1471068407003213.

Biron, P. V. and Malhotra, A. (2004).

XML schema part 2: Datatypes second edition.W3C Recommendation, W3C.http://www.w3.org/TR/xmlschema-2/.

Boley, H. and Kifer, M. (2008).

RIF basic logic dialect.W3C Working Draft, W3C.http://www.w3.org/TR/rif-bld/.

Bray, T., Hollander, D., Layman, A., and Tobin, R. (2006a).

Namespaces in XML 1.0 (second edition).W3C Recommendation, W3C.http://www.w3.org/TR/xml-names.

Andrea Perego Corso Web 2.0 – Modulo B

Page 222: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

Riferimenti bibliografici III

Bray, T., Hollander, D., Layman, A., and Tobin, R. (2006b).

Namespaces in XML 1.1 (second edition).W3C Recommendation, W3C.http://www.w3.org/TR/xml-names11.

Bray, T., Paoli, J., Sperberg-McQueen, C. M., Maler, E., and Yergeau, F. (2008).

Extensible markup language (XML) 1.0 (fifth edition).W3C Recommendation, W3C.http://www.w3.org/TR/xml.

Bray, T., Paoli, J., Sperberg-McQueen, C. M., Maler, E., Yergeau, F., and Cowan, J. (2006c).

Extensible markup language (XML) 1.1 (second edition).W3C Recommendation, W3C.http://www.w3.org/TR/xml11.

Chinnici, R., Moreau, J.-J., Ryman, A., and Weerawarana, S. (2007).

Web services description language (WSDL) version 2.0 part 1: Core language.W3C Recommendation, W3C.http://www.w3.org/TR/wsdl20.

Clark, J. (1999).

XSL Transformations (XSLT) — Version 1.0.W3C Recommendation, W3C.http://www.w3.org/TR/xslt.

Andrea Perego Corso Web 2.0 – Modulo B

Page 223: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

Riferimenti bibliografici IV

Clark, J. and DeRose, S. (1999).

XML path language (XPath) — version 1.0.W3C Recommendation, W3C.http://www.w3.org/TR/xpath.

Clark, K. G., Feigenbaum, L., and Torres, E. (2008).

SPARQL protocol for RDF.W3C Recommendation, W3C.http://www.w3.org/TR/rdf-sparql-protocol/.

Horrocks, I., Patel-Schneider, P. F., Boley, H., Tabet, S., Grosof, B., and Dean, M. (2004).

SWRL: A Semantic Web rule language combining OWL and RuleML.W3C Member Submission, W3C.http://www.w3.org/Submission/SWRL.

Horrocks, I., Patel-Schneider, P. F., and van Harmelen, F. (2003).

From SHIQ and RDF to OWL: The making of a Web ontology language.Journal of Web Semantics, 1(1):7–26.http://dx.doi.org/10.1016/j.websem.2003.07.001.

Klyne, G. and Carroll, J. J. (2004).

Resource Description Framework (RDF): Concepts and abstract syntax.W3C Recommendation, W3C.http://www.w3.org/TR/rdf-concepts.

Andrea Perego Corso Web 2.0 – Modulo B

Page 224: Introduzione Web2.0 XML ...dawsec.dicom.uninsubria.it/blogs/web2/wp-content/uploads/2008/11/... · Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per

IntroduzioneWeb 2.0

Semantic WebSemantic Web e Web 2.0

Riferimenti bibliografici V

Marsh, J. (2001).

XML base.W3C Recommendation, W3C.http://www.w3.org/TR/xmlbase.

Prud’hommeaux, E. and Seaborne, A. (2008).

SPARQL query language for RDF.W3C Recommendation, W3C.http://www.w3.org/TR/rdf-sparql-query/.

Thompson, H. S., Beech, D., Maloney, M., and Mendelsohn, N. (2004).

XML schema part 1: Structures second edition.W3C Recommendation, W3C.http://www.w3.org/TR/xmlschema-1/.

Andrea Perego Corso Web 2.0 – Modulo B