modulo3 linguaggi: rdf universita di camerino corso di laurea in informatica (classe 23/s) barbara...

71
Modulo3 Modulo3 Linguaggi: RDF Linguaggi: RDF UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

Upload: lorenza-sanna

Post on 01-May-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

Modulo3 Modulo3 Linguaggi: RDFLinguaggi: RDF

UNIVERSITA’ DI CAMERINOCorso di laurea in Informatica (classe 23/S)

Barbara [email protected]

Anno Accademico 2007-08

Page 2: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

2

Agenda

RDF – overview RDF – costrutti del linguaggio

Page 3: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

3

I linguaggi per la rappresentazione della conoscenza

Si utilizzano logiche descrittive intese come una famiglia di formalismi utilizzati per rappresentare la conoscenza in un dominio di applicazione detto mondo

Più recentemente le logiche descrittive sono state utilizzate come formalismo di base per lo sviluppo degli standard promossi dalla Semantic Web initiative group del W3C

Page 4: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

4

Linguaggi di rappresentazione

Page 5: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

5

Linguaggi

I linguaggi forniscono meccanismi base che possono essere usati per rappresentare la semantica delle informazioni necessarie per il Semantic Web

XML RDF RDF(S) OWL …

XML

RDF

RDF(S)

OWL AN

NO

TA

ZIO

NE

INTEG

RA

ZIO

NE

INFE

REN

ZA

Page 6: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

6

Formal Languages

Il grado di formalità dei linguaggi ontologici cambia sostanzialmente

Tanto più si è formali tanto più il linguaggio è suscettibile di “processamento” automatico

La semantica formale fornisce una interpretazione non ambigua delle descrizioni

Page 7: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

7

RDF

RDF sta per Resource Description Framework

E’ una raccomandazione W3Chttp://www.w3.org/RDF

RDF è un formalismo grafico (+ sintassi xml + semantica)

Per rappresentare metadatiPer rappresentare la semantica delle informazioni in modalità accessibili dalla macchina

Fornisce un semplice data model basato su triple

Page 8: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

8

RDF: come possibile approccio all’interoperabilità strutturale

RDF si propone come un’hub da usare per gestire i costrutti strutturali al posto di numerose integrazioni ad hoc

Source: Tim Berners Lee

http://www.w3.org/2002/Talks/09-lcs-sweb-tbl/Overview.html

Page 9: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

9

RDF – modello di dati

RDF mette a disposizione un modello di dati semplice <soggetto, predicato, oggetto>

<Barbara, ha collega, Francesco> Può essere rappresentato come grafo

… e molto flessibile si possono codificare

Page 10: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

10

Che cos’è RDF

RDFCome HTML, permette di creare dei link tra risorse pubblicati sul WebAl contrario dei comuni ipertesti i link di RDF

Possono essere etichettati, al fine di indicare esplicitamente la relazione che intercorre tra gli oggettiSi riferiscono a oggetti tipizzati, nel senso che RDF standardizza la modalità con cui si assegna un significato alla risorsa

Page 11: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

11

RDF: un esempio guida

Il modello RDF rende disponibile un meccanismo per descrivere in modo machine- processable risorse Web, ad esempio, pagine Web

Esempio Immaginiamo di voler tener traccia del fatto

che qualcuno di nome Mario Rossi ha creato una certa pagina Web (http://www.example.org/index.html)

Se dovessimo descrivere questo fatto in linguaggio naturale potremmo utilizzare una semplice frase:

Page 12: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

12

La terminologia

In RDF per identificareLa frase si usa il termine stantmentLa parte che identifica ciò di cui la frase parla si usa soggettoLa parte che identifica la proprietà del soggetto che la frase specifica si usa predicatoLa parte che identifica il valore assegnato dalla frase alla proprietà si usa oggetto

Page 13: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

13

Machine processability (1)

Delle frasi in linguaggio naturale possono servire uomini per comunicare, ma lo scopo di RDF è rendere queste frasi “machine-processable”

Per rendere frasi simili a quelle precedenti machine processable occorre

degli identificativi “machine-processable” che permettano di identificare il soggetto, l’oggetto e il predicato in una frase senza nessuna possibilità di confusione con un altro identificativo simile usato da qualcun altro sul Webun formato “machine-processable” per rappresentare e scambiare le frasi tra macchine

Page 14: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

14

Machine processability (2)

Il web di oggi dispone di entrambi i meccanismi

gli Uniform Resource Identifier (URI) rendono disponibile un modo per identificare qualunque cosa di cui si voglia parlare in uno statement RDF

Extensible Markup Language (XML) è il formato ideale per rappresentare e scambiare degli statement RDF

Page 15: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

15

Machine processability

Il web di oggi dispone di entrambi i meccanismi

gli Uniform Resource Identifier (URI) rendono disponibile un modo per identificare qualunque cosa di cui si voglia parlare in uno statement RDF

Extensible Markup Language (XML) è il formato ideale per rappresentare e scambiare degli statement RDF

Page 16: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

16

Tutto deve avere un URI

Per scrivere

Occorre assegnare un URI a tutte (o quasi) le parti sottolineate della frase

Nello stantment RDF di esempio:Il soggetto è già un URIIl valore (l’oggetto) “Mario Rossi” potrebbe essere identificato dall’URI URN:org:example:staffid:85740Per il predicato “autore” si può utilizzre l’URI http://purl.org/dc/element/1.1/creator

Page 17: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

17

Tutto deve avere un URI

Risultato

Page 18: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

19

Uso dei namespace

E’ possibile abbreviare le URI facendo uso dei prefissi dei namespace di XML

EsempioLo stantment

Introducendo i seguenti prefissi per i tre namespace

diventa

Page 19: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

20

Oggetti come URI (1)

Ci sono molti vantaggi nell’utilizzare gli URI come semplice modalità di identificazione

Invece di Identificare l’autore come la stringa “Mario Rossi”Si può usare l’URI sid:85740

In questo caso1. Possiamo essere più precisi nella nostra idenficazione

dell’autore della paginaNon è una stringa “Mario Rossi” o qualcuna delle migliaia di persone che si chiamano “Mario Rossi”Ma in particolare “Mario Rossi” è associato all’URI

Page 20: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

21

Oggetti come URI (2)

2. Dal momento che l’autore della pagina ha un URI, è a tutti gli effetti una risorsa, e possiamo descriverla ulteriormente assegnandogli, ad esempio, il nome, l’eta, …

Page 21: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

22

Quasi tutto deve avere un URI

Il soggetto e il predicato di ogni stantment devono essere delle risorse, quindi devono avere un URI

L’oggetto può anche essere un valore La terminologia di RDF utilizza il termine Letterale (litteral)

Page 22: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

23

Tipizzare le risorse

Per tipizzare una risorsa si usa la proprietà rdf:type

Page 23: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

24

Machine processability

Il web di oggi dispone di entrambi i meccanismi

gli Uniform Resource Identifier (URI) rendono disponibile un modo per identificare qualunque cosa di cui si voglia parlare in uno statement RDF

Extensible Markup Language (XML) è il formato ideale per rappresentare e scambiare degli statement RDF

Page 24: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

25

Sintassi XML di RDF

L’idea di base prevede un elemento XML per ogni nodo (soggetto e oggetto) e arco (predicato)

Page 25: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

26

Sintassi XML di RDF

Una possibile abbreviazione prevede l’uso dell’attributo rdf:resource nei poperty element

Page 26: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

27

Sintassi XML di RDF

Altri stantment

Si possono serializzareSempre di seguito

Nel caso in cui si descriva l’oggetto del primo anche innestandoli

Page 27: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

28

Sintassi XML di RDF

Risorse tipizzate

Page 28: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

29

Sintassi XML di RDF

Page 29: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

30

RDF -

<rdf:Description rdf:about=“ex:index.html”>

<dc:creator rdf:resource=“sid:85740”/>

<rdf:type rdf:resource=“ex:pagina_web”/>

</rdf:Description>

<rdf:Description rdf:about=“sid:85740”>

<foaf:email rdf:resource=“mailto:[email protected]”>

<rdf:type rdf:resource=“ex:impiegato”>

</rdf:Description>

----------------------------------------------------------------------------------------------------------------------------------------------------------

<rdf:Description rdf:about=“ex:index.html”>

<dc:creator>

<rdf:Description rdf:about=“sid:85740”>

<foaf:email rdf:resource=“mailto:[email protected]”>

<rdf:type rdf:resource=“ex:impiegato”>

</rdf:Description>

</dc:creator>

<rdf:type rdf:resource=“ex:pagina_web”>

</rdf:Description>

Page 30: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

31

Attenzione i letterali

<rdf:Description rdf:about=“ex:index.html”>

<dc:creator> Mario Rossi </dc:creator>

</rdf:Description>

Page 31: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

32

Documento RDF completo

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://description.org/schema/">

<rdf:Description about="http://www.w3.org/Home/Lassila">

<s:Creator>Ora Lassila</s:Creator>

</rdf:Description> </rdf:RDF>

Page 32: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

33

Sintassi N-Triple di RDF

La sintassi XML di RDFÈ utile per far leva sui numerosi tool già sviluppati per XMLMa non è semplice distinguere i vari stantment e in particolare isolare soggetto, predicato e oggetto

Per scopi didattici, o in generale quando occorre leggere RDF, si può utilizzare la sintassi N-Triple

Ogni statment si scrive come una tripla

Page 33: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

34

Sintassi N-Triple di RDF: esempio

Es. l’esempio guida in N-triple

Fissando i prefissi

La tripla diventa

Page 34: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

35

Alcuni vocabolari

Page 35: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

36

RDF come Hub

RDF può essere utilizzato come “Hub”Abilita un buon grado di interoperabilità strutturale

Ovvero i vari sistemi informativi, che condividono lo stesso modello RDF, possono scegliere indipendentemente il formato più adatto all’informazione che intendono scambiare

È molto semplice fondere (merge) modelli RDF

Ovvero non ci sono ostacoli nel combinare informazione preveniente da sistemi differenti (quindi anche in formati diversi), purchè questi condividano lo stesso modello RDF

Page 36: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

37

Esempio di interoperabilità strutturale otttenuta via RDF

Page 37: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

38

Esempio di interoperabilità strutturale otttenuta via RDF

Page 38: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

39

Esempio di interoperabilità strutturale otttenuta via RDF

Page 39: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

40

Esempio di fusione (merge)

Page 40: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

41

Esempio di fusione (merge)

Page 41: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

42

Esempio di fusione (merge)

Page 42: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

43

Protegè

http://protege.stanford.edu/

Page 43: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

44

Ci sono domande?

Page 44: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

45

Qualche dettaglio in più!

Page 45: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

46

RDF:Sintassi di serializzazione di base

[1] RDF ::= ['<rdf:RDF>'] description* ['</rdf:RDF>']

[2] description ::= '<rdf:Description' idAboutAttr? '>' propertyElt* '</rdf:Description>'

[3] idAboutAttr ::= idAttr | aboutAttr

[4] aboutAttr ::= 'about="' URI-reference '"'

[5] idAttr ::= 'ID="' IDsymbol '"'

[6] propertyElt ::='<' propName '>' value '</' propName '>' | '<' propName resourceAttr '/>'

[7] propName ::= Qname

[8] value ::= description | string

[9] resourceAttr ::= 'resource="' URI-reference '"'

[10] Qname ::= [ NSprefix ':' ] name

[11] URI-reference ::= string, interpreted per [URI]

[12] IDsymbol ::= (any legal XML name symbol)

[13] name ::= (any legal XML name symbol)

[14] NSprefix ::= (any legal XML namespace prefix)

[15] string ::= (any XML text, with "<", ">", and "&" escaped)

Page 46: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

47

Elemento RDF

L'elemento RDF è un semplice involucro che delimita i confini in un documento XML entro cui il contenuto è esplicitamente da intendere mappabile in una istanza di modello di dati RDF

L'elemento RDF è opzionale se il contenuto può essere riconosciuto come RDF dal contesto dell'applicazione

Page 47: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

48

Elemento Description

Raramente una singola asserzione RDF compare isolata; più comunemente diverse proprietà di una risorsa saranno date insieme

La sintassi XML di RDF è stata progettata per compiere questo facilmente raggruppando le molteplici asserzioni riguardanti la stessa risorsa all'interno di un elemento Description

L'elemento Description indica, tramite l'attributo about, la risorsa alla quale si applicano tutte le asserzioni

Se la risorsa non esiste ancora (ovvero, non ha ancora un identificatore), allora l'elemento Description può fornire l'identificatore della risorsa usando un attributo ID

Page 48: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

49

Description e propertyElt

L'attributo ID indica la creazione di una nuova risorsa e l'attributo about si riferisce ad una risorsa esistente

In Description è possibile specificare o ID o about, ma non entrambi contemporaneamente nello stesso elemento

I valori per ogni attributo ID non devono apparire in più di un attributo ID all'interno del singolo documento

Un elemento Description può contenere più di un elemento propertyElt con lo stesso nome di proprietà

Ciascuno di questi propertyElt aggiunge un arco al grafoL'interpretazione di questo grafo è definita da chi progetta lo schema

Page 49: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

50

propertyElt

All'interno di un propertyElt, l'attributo resource specifica che un'altra risorsa è il valore di questa proprietà

l'oggetto della asserzione, piuttosto che un letterale è un'altra risorsa identificata da un URI

L'identificatore di risorsa dell'oggetto è ottenuto risolvendo il riferimento-URI dell'attributo resource in modo analogo a quanto indicato sopra per l'attributo about

Page 50: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

51

Contenitori

Spesso è necessario riferirsi ad una collezione di risorse

Per esempio per dire che un'opera è stata creata da più di una persona, o per elencare gli studenti di un corso, o i moduli di un pacchetto software

Si usano i contenitori RDFBag Sequence Alternative

Page 51: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

52

Bag

Lista non ordinata di risorse o letterali Si usano per dichiarare che una proprietà ha valori

multipli e che l'ordine con cui questi valori sono inseriti non ha alcun significato

Il contenitore bag potrebbe essere usato per fornire una lista di numeri di sezioni dove l'ordine di elaborazione di queste sezioni non è importante

Sono ammessi valori duplicati

Page 52: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

53

Sequence

Lista ordinata di risorse o letterali Il contenitore Sequence si usa per dichiarare che

una proprietà ha valori multipli e che l'ordine dei valori è significativo

Il contenitore Sequence potrebbe essere usato, per esempio, per conservare un ordine alfabetico dei valori

Sono ammessi valori duplicati

Page 53: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

54

Alternative

Una lista di risorse o letterali che rappresentano delle alternative al valore (singolo) di una proprietà

Il contenitore Alternative potrebbe essere impiegato

per indicare traduzioni in altre lingue del titolo di un'operaper fornire una lista di siti Internet mirror nei quali è reperibile la risorsa

Un'applicazione che usa una proprietà il cui valore è un raccolta di tipo Alternative sa di poter selezionare uno fra gli oggetti presenti nella lista

Page 54: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

55

Collezione di risorse

Per rappresentare una collezione di risorse, RDF adopera una risorsa aggiuntiva che identifica la collezione specifica

Questa risorsa deve essere dichiarata Per formulare questa dichiarazione si utilizza la proprietà

type La relazione di appartenenza fra questa risorsa-

contenitore e le risorse che fanno parte della collezione è definita attraverso un insieme di proprietà espressamente definite per questo scopo

Queste proprietà di appartenenza sono indicate semplicemente con "_1", "_2", "_3", etc.

Le risorse contenitore possono anche avere altre proprietà, oltre alla proprietà di appartenenza e alla proprietà tipo

Page 55: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

56

Esempio: Bag

Gli studenti del corso 6.001 sono Amy, Tim, John, Mary, e Sue

Page 56: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

57

Esempio: alternative

Il codice sorgente per X11 può essere trovato a ftp.x.org, ftp.cs.purdue.edu, o ftp.eu.net

Page 57: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

58

… esempi

<rdf:RDF> <rdf:Description about="http://mycollege.edu/courses/6.001"> <s:students>

<rdf:Bag> <rdf:li resource="http://mycollege.edu/students/Amy"/> <rdf:li resource="http://mycollege.edu/students/Tim"/> <rdf:li resource="http://mycollege.edu/students/John"/> <rdf:li resource="http://mycollege.edu/students/Mary"/> <rdf:li resource="http://mycollege.edu/students/Sue"/> </rdf:Bag>

</s:students> </rdf:Description> </rdf:RDF>

Nota che RDF/XML usa l'elemento li per evitare di dover numerare esplicitamente ciascun componente

L'elemento li assegna - se necessario - le proprietà _1, _2, etc

Il nome dell'elemento li è stato scelto per richiamare il termine "list item" di HTML

Gli studenti del corso 6.001 sono Amy, Tim, John, Mary, e Sue.

Page 58: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

59

… esempi

Il codice sorgente per X11 può essere trovato a ftp.x.org, ftp.cs.purdue.edu, o ftp.eu.net

<rdf:RDF> <rdf:Description about="http://x.org/packages/X11"> <s:DistributionSite> <rdf:Alt> <rdf:li resource="ftp://ftp.x.org"/> <rdf:li resource="ftp://ftp.cs.purdue.edu"/> <rdf:li resource="ftp://ftp.eu.net"/> </rdf:Alt> </s:DistributionSite> </rdf:Description> </rdf:RDF>

Page 59: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

60

Contenitori versus proprietà ripetute

Una risorsa può avere asserzioni multiple con lo stesso predicato

Ciò non equivale ad avere una singola asserzione il cui oggetto sia un contenitore con molti componenti

La scelta sul sistema da adottare in ogni circostanza particolare è in parte fatta dalle persone che progettano lo schema e in parte dalle persone che scrivono le specifiche asserzioni RDF

Page 60: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

61

Esempio: proprietà ripetute

Consideriamo, ad esempio, la relazione fra una scrittrice e le sue pubblicazioni

Sue ha scritto "Anthology of Time", "Zoological Reasoning", "Gravitational Reflections"

Non viene dichiarata nessuna relazione tra le pubblicazioni, se non quella che sono tutte state scritte dalla stessa persona

Page 61: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

62

Esempio: meglio Bug

Il comitato composto da Fred, Wilma, e Dino ha approvato la risoluzione

Afferma che i tre membri del comitato, considerati come un unico insieme, hanno votato in una certa maniera

Non si afferma, ovvero, necessariamente che ciascun membro del comitato ha votato a favore della risoluzione

Sarebbe scorretto modellare questa proposizione con tre separate asserzioni "approvedBy", una per ciascuno dei membri del comitato, quindi come tre voti individuali di approvazione

Piuttosto, è meglio modellare come una singola asserzione di "approvedBy" il cui oggetto è un contenitore Bag che ha come componenti le tre identità dei membri del comitato

Page 62: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

63

Graficamente

La scelta su quale rappresentazione adoperare, Bag o ripetizione di proprietà, è fatta da colui che crea i metadati dopo aver considerato lo schema

Page 63: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

64

Asserzioni su asserzioni

Oltre che per creare asserzioni su risorse Web, RDF può essere usato per fare asserzioni su altre asserzioni RDF

Ci riferiremo a queste come asserzioni di ordine maggiore

Per fare un asserzione su un'altra asserzione, in effetti abbiamo la necessità di costruire un modello dell'asserzione originale

questo modello è una nuova risorsa alla quale possiamo aggiungere altre proprietà

Page 64: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

65

Costruzione di un modello di asserzioni

Le asserzioni sono fatte su risorse Un modello di un'asserzione è la risorsa di cui

abbiamo bisogno per poter fare nuove asserzioni (asserzioni di ordine maggiore) sull'asserzione modellata

Page 65: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

66

Modello di asserzioni: esempi

Per esempio, consideriamo la frase Ora Lassila è il creatore della risorsa

http://www.w3.org/Home/Lassila. RDF considererebbe questa frase come un fatto Se, invece, scriviamo la frase Ralph Swick dice che Ora Lassila è il creatore della

risorsa http://www.w3.org/Home/Lassila. Non abbiamo detto nulla della risorsa

http://www.w3.org/Home/Lassila, ma abbiamo espresso un fatto circa un'asserzione fatta da Ralph

Per esprimere questo fatto a RDF, dobbiamo modellare l'asserzione originale come una risorsa con quattro proprietà

Questo processo è formalmente chiamato reificazione nella comunità della Rappresentazione della Conoscenza

Un modello di un'asserzione è detto asserzione reificata

Page 66: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

67

Proprietà per asserzioni

Per modellare asserzioni RDF definisce le seguenti proprietà

Soggetto PredicatoOggettoTipo

Page 67: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

68

Soggetto e predicato

La proprietà soggetto identifica la risorsa che viene descritta dall'asserzione modellata

il valore della proprietà soggetto è la risorsa su cui è stata fatta l'asserzione originale (nel nostro esempio, http://www.w3.org/Home/Lassila)

La proprietà predicato identifica il valore della proprietà nella asserzione modellata

il valore della proprietà predicato è una risorsa che rappresenta la specifica proprietà nell'asserzione originale (nel nostro esempio, creatore)

Page 68: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

69

Oggetto e tipo

La proprietà oggetto identifica il valore della proprietà nell'asserzione modellata

Il valore della proprietà oggetto è l'oggetto nell'asserzione originale (nel nostro esempio, "Ora Lassila")

Il valore della proprietà tipo descrive il tipo della nuova risorsa

Tutte le asserzioni reificate sono istanze di RDF:Statement; ovvero, hanno una proprietà tipo il cui oggetto è RDF:StatementLa proprietà tipo è usata anche più generalmente per dichiarare il tipo di una qualsiasi risorsa

Page 69: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

70

Asserzioni RDF

Una nuova risorsa con queste quattro proprietà rappresenta l'asserzione originale e può essere usata

come oggetto di altre asserzioni può avere asserzioni addizionali fatte su essa

La risorsa con queste quattro proprietà non è una sostituzione dell'asserzione originale, è un modello dell'asserzione

Un'asserzione e la sua corrispondente asserzione reificata esistono indipendentemente in un grafo RDF ed entrambi possono essere presenti senza l'altra

Si dice che il grafo RDF contiene il fatto dato nell'asserzione se e solo se l'asserzione è presente nel grafo, senza preoccuparsi della presenza della corrispondente asserzione reificata

Page 70: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

71

Esempio…

Ralph Swick dice che OraLassila è il creatore dellaRisorsahttp://www.w3.org/Home/Lassila

Page 71: Modulo3 Linguaggi: RDF UNIVERSITA DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

72

Ci sono domande?