Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile...

26
ESERCITAZIONE SU RDF E SPARQL Prof. Riccardo Torlone Università Roma Tre

Transcript of Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile...

Page 1: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

ESERCITAZIONE SU RDF E SPARQL

Prof. Riccardo TorloneUniversità Roma Tre

Page 2: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Esercizio n. 1 Descrivere in RDF le seguenti affermazioni: “Il Dipartimento di Informatica e Automazione

dell’Università Roma Tre si trova in Via della Vasca Navale, 79 - Roma"

“Il sito Web http://www.w3.org/ contiene la home page delle attività del W3C sul Semantic Web"

a) Scrivere queste informazioni in RDF nella notazione N3 senza nodi vuoti, usando almeno tre triple per affermazione;

b) Scrivere queste informazioni in RDF nella notazione N3 con almeno un nodo vuoto, usando almeno tre triple per affermazione;

c) Rappresentare i dati RDF del punto (b) mediante triple, in XML e nella notazione grafica.

Page 3: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Possibile soluzione esercizio 1a@prefix ex: <http://dia.uniroma3.it#>. ex:dia ex:nome "Dipartimento di Informatica e Automazione".ex:dia ex:dipartimento ex:Uniroma3.ex:Uniroma3 ex:nome "Università Roma Tre".ex:dia ex:indirizzo ex:indirizzodia.ex:indirizzodia ex:via "Via Vasca Navale, 79".ex:indirizzodia ex:CAP "00146".ex:indirizzodia ex:citta "Roma".ex:indirizzodia ex:nazione "Italia".

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.@prefix : <http://example.com#> .<http://www.w3.org/> rdf:type :website .<http://www.w3.org/> :hosts :sw-activity .:sw-activity :has-homepage :sw-activity-homepage .:sw-activity-homepage rdf:type :homepage .:sw-activity-homepage :url "http://www.w3.org/".

Riccardo Torlone: Basi di Dati 2 3

Page 4: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Possibile soluzione esercizio 1b@prefix ex: <http://dia.uniroma3.it#>. ex:dia ex:nome "Dipartimento di Informatica e Automazione".ex:dia ex:dipartimento ex:Uniroma3.ex:Uniroma3 ex:nome "Universita' Roma Tre".ex:dia ex:indirizzo [ex:via "Via Vasca Navale, 79";

ex:CAP "00146";ex:citta "Roma";ex:nazione "Italia"].

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.@prefix : <http://www.example.com#> .<http://www.w3.org/> rdf:type :website .<http://www.w3.org/> :hosts :sw-activity .:sw-activity :has-homepage [rdf:type :homepage;

:url “http://www.w3.org/”].Riccardo Torlone: Basi di Dati 2 4

Page 5: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Possibile soluzione esercizio 1c

Riccardo Torlone: Basi di Dati 2 5

Subject Predicate Object

<http://dia.uniroma3.it#dia> <http://dia.uniroma3.it#indirizzo> _:A251885eeX3aX1304a88b1f0X3aXX2dX7fff

<http://dia.uniroma3.it#dia> <http://dia.uniroma3.it#nome> Dipartimento di Informatica e Automazione

<http://dia.uniroma3.it#dia> <http://dia.uniroma3.it#dipartimento> <http://dia.uniroma3.it#Uniroma3>

_:A251885eeX3aX1304a88b1f0X3aXX2dX7fff <http://dia.uniroma3.it#CAP> 146

_:A251885eeX3aX1304a88b1f0X3aXX2dX7fff <http://dia.uniroma3.it#nazione> Italia

_:A251885eeX3aX1304a88b1f0X3aXX2dX7fff <http://dia.uniroma3.it#via> Via Vasca Navale, 79

_:A251885eeX3aX1304a88b1f0X3aXX2dX7fff <http://dia.uniroma3.it#citta> Roma

<http://dia.uniroma3.it#Uniroma3> <http://dia.uniroma3.it#nome> Universita' Roma Tre

Page 6: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Possibile soluzione esercizio 1c<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:ex="http://dia.uniroma3.it#" >

<rdf:Description rdf:about=" http://dia.uniroma3.it#dia"><ex:nome>Dipartimento di Informatica e Automazione</ex:nome><ex:dipartimento rdf:resource=" http://dia.uniroma3.it#Uniroma3"/>

</rdf:Description><rdf:Description rdf:about=" http://dia.uniroma3.it#Uniroma3">

<ex:nome>Universita' Roma Tre</ex:nome></rdf:Description><rdf:Description rdf:about=" http://dia.uniroma3.it#dia">

<ex:indirizzo rdf:resource="#_g0"/></rdf:Description><rdf:Description rdf:about="#_g0">

<ex:via>Via Vasca Navale, 79</ex:via><ex:CAP>00146</ex:CAP><ex:citta>Roma</ex:citta><ex:nazione>Italia</ex:nazione>

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

Riccardo Torlone: Basi di Dati 2 6

Page 7: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Possibile soluzione esercizio 1c

Riccardo Torlone: Basi di Dati 2 7

Page 8: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Possibile soluzione esercizio 1c<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:ex="http://www.example.com#"><ex:website rdf:about="http://www.w3.org/">

<ex:hosts><rdf:Description rdf:about="http://www.example.com#sw-activity">

<ex:has-homepage><rdf:Description rdf:about="http://www.example.com#sw-activity-homepage">

<rdf:type ex:url="http://www.w3.org/" /></rdf:Description>

</ex:has-homepage></rdf:Description>

</ex:hosts></ex:website>

</rdf:RDF>

Riccardo Torlone: Basi di Dati 2 8

Page 9: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Esercizio n. 2 Sia dato il seguente schema RDF-S

Descrivere un possibile insieme di dati in RDF con questo schema con uno studente, un professore e una università.

Si faccia uso della notazione grafica e di quella a triple.

ex:student-of

rdfs:domain

rdfs:range

ex:enrolled-in

rdfs:domain

rdfs:range

Page 10: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Possibile soluzione Esercizio 2 (in N3).@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.@prefix ex: <http://dia.uniroma3.it#>. ex:University rdf:type rdfs:Class.ex:Student rdf:type rdfs:Class.ex:Msc-student rdfs:subClassOf ex:Student.ex:Faculty rdf:type rdfs:Class.ex:student-of rdf:type rdf:Property.ex:student-of rdfs:domain ex:Student.ex:student-of rdfs:range ex:Faculty.ex:enrolled-in rdf:type rdf:Property.ex:enrolled-in rdfs:domain ex:Student.ex:enrolled-in rdfs:range ex:University.

ex:Uniroma3 ex:nome "Universita' Roma Tre".ex:Uniroma3 rdf:type ex:University.ex:mrossi ex:nome "Mario Rossi".ex:mrossi rdf:type ex:Msc-student.ex:abianchi ex:nome "Antonio Bianchi".ex:abianchi rdf:type ex:Faculty.ex:mrossi ex:s1 ex:abianchi.ex:s1 rdf:type ex:student-of.ex:mrossi ex:e1 ex:Uniroma3.ex:e1 rdf:type ex:enrolled-in.

Riccardo Torlone: Basi di Dati 2 10

Page 11: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Possibile soluzione Esercizio 2 (grafico).

Riccardo Torlone: Basi di Dati 2 11

Page 12: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Esercizio n. 3Si consideri il seguente insieme di triple RDF:

Disegnare il corrispondente grafo RDF

Subject Predicate Object

:P1 rdf:type :Person

:P1 :name "Pete"

:P1 :age "17"

:P1 :email "[email protected]"

:P2 rdf:type :Person

:P1 :knows :P2

:P2 :name "John"

:P2 :email "[email protected]"

:P2 :knows :P1

:P2 :knows :P3

:P1 :knows :P3

:P3 rdf:type :Person

:P3 :name "Sue"

:P3 :age “21"

Page 13: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Possibile soluzione esercizio 3

Riccardo Torlone: Basi di Dati 2 13

Page 14: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Esercizio n. 4 Descrivere graficamente in RDF/RDFS le

seguenti specifiche facendo uso di bag e sequenze:La AS Roma è una squadra di calcioLa sua ragione sociale è Società per AzioniUn’altra squadra di calcio è l’InterRoma e Inter fanno parte del CampionatoLa squadra ha sede a Roma, Italia.L’allenatore è ?mettere il nome?.Daniele De Rossi, Francesco Totti, Mirko

Vucinic sono giocatori della RomaDei giocatori è di interesse l’età e il ruolo.

Riccardo Torlone: Basi di Dati 2 14

Page 15: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Esercizio 5 Con riferimento ai dati RDF dell’esercizio 3 indicare la soluzione

delle seguenti interrogazioni SPARQL:

SELECT ?nWHERE { ?p rdf:type :Person. ?p :age ?age. ?p :name ?n.

FILTER (?age>20) } SELECT ?p ?age

WHERE { ?p rdf:type :Person. ?p :name ?name. OPTIONAL { ?p :age ?age } }

SELECT ?p ?age ?emailWHERE { { ?p rdf:type :Person. ?p :age ?age }

UNION {?p rdf:type :Person. ?p :email ?email } }

SELECT ?p WHERE { ?p rdf:type :Person.

OPTIONAL { ?p :email ?email }. FILTER (?age>20) }

Riccardo Torlone: Basi di Dati 2 15

Page 16: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzioni esercizio 5.1 con Twinkle

Riccardo Torlone: Basi di Dati 2 16

Page 17: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzioni esercizio 5.2 con Twinkle

Riccardo Torlone: Basi di Dati 2 17

Page 18: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzioni esercizio 5.3 con Twinkle

Riccardo Torlone: Basi di Dati 2 18

Page 19: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzioni esercizio 5.4 con Twinkle

Riccardo Torlone: Basi di Dati 2 19

Page 20: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Esercizio n. 6 Con riferimento alla seguente collezione di dati RDF:

Esprimere in SPARQL le seguenti interrogazioni:1. Il nome degli impiegati che guadagnano più di 152. Lo stipendio degli impiegati con meno di 30 anni.3. Il nome del manager di Bob4. Nome e email degli impiegati (se l’email non è disponibile lasciare in bianco il campo)5. Nome degli impiegati che guadagnano più del proprio manager6. Nome e stipendio di tutti i dipendenti (impiegati e manager)

Riccardo Torlone: Basi di Dati 2 20

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.@prefix : <http://example.com#>.:employee rdf:type rdfs:Class.:manager rdf:type rdfs:Class.:a :name "Alice" .:a :age 28.:a :manages :b.:a rdf:type :manager.:a :salary 16.:b :name "Bob".:b :mbox <mailto:[email protected]>.:b :age 32.:b :salary 18.:b rdf:type :employee.:c :name "Tim".:c :age 27.:c :salary 14.:c rdf:type :employee.

Page 21: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzione Esercizio 6.1

Riccardo Torlone: Basi di Dati 2 21

Page 22: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzione Esercizio 6.2

Riccardo Torlone: Basi di Dati 2 22

Page 23: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzione Esercizio 6.3

Riccardo Torlone: Basi di Dati 2 23

Page 24: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzione Esercizio 6.4

Riccardo Torlone: Basi di Dati 2 24

Page 25: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzione Esercizio 6.5

Riccardo Torlone: Basi di Dati 2 25

Page 26: Prof. Riccardo Torlone Università Roma Tretorlone.dia.uniroma3.it/bd2/CBD-ES4.pdf · Possibile soluzione esercizio 1c Riccardo Torlone: Basi di Dati 2 5 Subject Predicate Object

Soluzione Esercizio 6.6

Riccardo Torlone: Basi di Dati 2 26