RDF. Resource Description Framework

Documenti analoghi
RDF. Resource Description Framework

Il World Wide Web program. Linguaggi e tecnologie per il Semantic Web. Armando Stellato. Tecnologie attualmente disponibili per il Web

Informatica Applicata 3.3 OWL. Antonella Poggi. Anno Accademico DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE

RDF RDFS RDF/XML. Dott.sa Vincenza Anna Leano Basi di Dati II mod. B Prof. F. Cutugno A.A. 2010/2011

Semantic Web: linguaggi e tecnologie

Creare ontologie ONTOLOGIE, DESCRIPTION LOGIC, PROTÉGÉ STEFANO DE LUCA

Le ontologie nell integrazione dei dati

Categorie e oggetti. Il Web semantico. Ontologie di dominio. Le motivazioni del web semantico. Web semantico e logiche descrittive

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Rappresentazione della Conoscenza. Lezione 10. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 10 0

Introduzione al Semantic Web

Rappresentazione grafica di entità e attributi

Introduzione a RDF (Resource Description Framework)

Linguaggi e tecnologie per il Semantic Web

Dati Semistrutturati: il linguaggio RDF Esempi ed esercitazioni

Enrico Fagnoni BOTK IN A NUTSHELL

Organizzazione degli archivi

(anno accademico )

Modellazione dei dati in UML

Lezione 4. Modello EER

Database. Si ringrazia Marco Bertini per le slides

Ontologie e World Wide Web: la diffusione della conoscenza.

Descrizione Formale Esplicita Dominio

Elementi di Algebra Relazionale

LOGICA PER LA PROGRAMMAZIONE. Franco Turini

"Tecniche di Trust Management per la gestione di Metadati: Un tool di simulazione dell'evoluzione del trust all'interno di una comunità di utenti"

Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono:

Linguaggi e Paradigmi di Programmazione

Lezione 2. Il modello entità relazione

Creare un ontologia per una base di conoscenza

Esame dell 8 settembre 2012

Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1)

Introduzione ai database relazionali

GESTIONE della BASE di DATI

Working Draft 0.5 (Telefonia)

x u v(p(x, fx) q(u, v)), e poi

1. PRIME PROPRIETÀ 2

Mathematical logic 1 st assessment Propositional Logic 23 October 2014

L'efficienza non è solo energetica!

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

PROCESSO DI INDICIZZAZIONE SEMANTICA

Ontologie per le neuroscienze: Human Brain Project

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale

Settimana I...1. Giorno 1 - Introduzione all XSLT...3

3.1 Introduzione al Web Semantico

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Rappresentazione della Conoscenza nel Semantic Web. Semantic Web

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

4 3 4 = 4 x x x 10 0 aaa

Anno 1. Definizione di Logica e operazioni logiche

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

CONCETTO DI ANNIDAMENTO

Sistemi Informativi e Basi di Dati

Prof. Massimo Ruffolo Ing. Ermelinda Oro. Capitolo 4. RDF: Resource Description Framework RDFS: RDF Schema

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

APPENDICE C extensible Markup Language

Alessandra Raffaetà. Basi di Dati

Fondamenti dei linguaggi di programmazione

1 Serie di Taylor di una funzione

Elementi di semantica operazionale

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

Predicati e Quantificatori

ALGEBRA DELLE PROPOSIZIONI

Architettura hardware

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Il Problem-Based Learning dalla pratica alla teoria

Progettazione concettuale

F (x) = f(x) per ogni x I. Per esempio:

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

Al giorno d oggi, i sistemi per la gestione di database

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Simple & Efficient.

MODELLO RELAZIONALE. Introduzione

Modello di Controllo dell Accesso basato sui ruoli (RBAC)

Access. P a r t e p r i m a

extensible Markup Language

Elementi di Psicometria con Laboratorio di SPSS 1

XML: extensible Markup Language

Dall italiano al linguaggio della logica proposizionale

Sicurezza dei dati. Xml Encryption e Digital Signature. Sicurezza dei dati. XML Encryption. Svantaggio di SSL. SSL (Secure Socket Layer)

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Grafi pesati e relazioni n-arie: un approccio generale all organizzazione automatica di. Marco Giunti Università di Cagliari giunti@unica.

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Dispensa di database Access

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Informatica (Basi di Dati)

Un portale semantico per i Beni Culturali

Lezione 8. La macchina universale

IL MODELLO RELAZIONALE

Introduzione agli Abstract Data Type (ADT)

Operazioni sui database

Un modello matematico di investimento ottimale

Appunti sulle basi di dati. Cos è una base base di dati? Introduzione. D. Gubiani. 19 Luglio 2005

Esercitazione di Basi di Dati

Sui concetti di definizione, teorema e dimostrazione in didattica della matematica

RISOLUTORE AUTOMATICO PER SUDOKU

Gestione delle tabelle

Lezione V. Aula Multimediale - sabato 29/03/2008

Transcript:

RDF Resource Description Framework turbati@info.uniroma2.it

Caratteristiche Independenza Condivisibilità Scalabilità Ogni cosa è una risorsa Le proprietà sono risorse I valori possono essere risorse Le asserzioni possono essere risorse 10/12/2015 2

RDF Data Model Un modello è un insieme di asserzioni (statements, in inglese) Asserzione: = (soggetto, predicato, oggetto) Il predicato è una proprietà del soggetto Il soggetto è una risorsa L oggetto è una valore (o una risorsa a sua volta) 10/12/2015 3

RDF Data Model RDF può essere visto come un grafo diretto etichettato, in cui ogni asserzione assume la seguente forma: subject predicate object Sia i nodi/entità che gli archi/proprietà possono essere identificate tramite degli URI Il significato di un grafo RDF è la congiunzione di tutte le sue asserzioni 10/12/2015 4

RDF: potere espressivo RDF corrisponde al sottoinsieme esistenziale-congiuntivo (EC) della logica del primo ordine Non ammette la negazione (NOT) Non ammette la disgiunzione (OR) Cosa inusuale per un linguaggio che rappresenti una restrizione della logica del primo ordine, RDF permette asserzioni riguardanti relazioni: es: type(loves, social_relationship) loves(tom, Mary) 10/12/2015 5

RDF: notazione Esistono diverse sintassi per rappresentare dei grafi RDF: N-Triples La notazione più prossima alla forma astratta, una serie di triple del tipo soggetto-predicato-oggetto, identificate da URI Notation 3 (N3) Contiene numerose abbreviazioni sintattiche che agevolano la lettura mascherando la rigorosa struttura a triple che contraddistingue ogni documento RDF. Questa caratteristica unita a forme sintattiche elementari molto semplici (diverse dal pesante XML) ne fa il tipo di serializzazione più compatta tra quelli esistenti. Come XML, fa utilizzo dei namespace per aumentare la modularità. RDF/XML È un tipo di notazione completamente XML compliant. Come per N3, la struttura a triple può essere mascherata attraverso costrutti sintattici più complessi. 10/12/2015 6

RDF/XML : Un piccolo esempio index.html creator Armando Stellato <rdf:rdf xmlns:rdf = http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:dc = http://purl.oclc.org/dc > <rdf:description rdf:about = http://art.uniroma2.it/stellato/index.html > <dc:creator>armando Stellato</dc:creator> </rdf:description> </rdf:rdf> 10/12/2015 7

RDF : Un esempio più complesso Robin employedby Batman HQ Email Name Batcaverna boss@batman.org Bruce Wayne 10/12/2015 8

RDF : Un esempio più complesso E la relativa serializzazione RDF/XML <rdf:rdf xmlns:rdf = http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:myschema = http://www.batman.org/myschema/ > <rdf:description rdf:about = http://www.batman.org/robin/ > <myschema:employedby rdf:resource = #Batman /> </rdf:description> <rdf:description id = Batman > <myschema:hq>batcave</myschema:hq> <myschema:name>bruce Wayne</mySchema:Name> <myschema:email rdf:resource = mailto:boss@batman.org /> </rdf:description> </rdf:rdf> 10/12/2015 9

RDF: variabili Gli statement RDF possono anche contenere variabili: love(?x, Mary) ci informa che qualcuno ama Mary, o, ancora meglio, qualcosa ama Mary La combinazione di diverse asserzioni, tramite unificazione delle variabili, ci permette di esprimere conoscenza complessa, ma non completamente istanziata: gender(?x, male) AND loves(?x, Mary) ci informa che Mary è amata da un maschio 10/12/2015 10

Relazioni n-arie La sola presenza di sole relazioni binarie esplicite non impedisce la rappresentazione di relazioni di arità arbitraria. Es: bollea(water,100c,1atm) ebollizione bollea Press temp 1 atm water 100 C 10/12/2015 11

XML vs RDF I detrattori di RDF hanno spesso sostenuto la sua inutilità rispetto a quanto già fornito da XML e XML Schema RDF is seen by some as an overly complex technology, trying to solve a problem XML and HTTP already solve (Van Dijck, 2003) RDF aggiunge però, pur attraverso un modello estremamente semplice, una semantica condivisa per interpretare i dati Vantaggi: Minore ambiguità sintattica (e.g. attributo o elemento annidato?): una volta definito un grafo RDF, la sua serializzazione XML è univoca La presenza di semantica esplicita implica un più immediato processo di integrazione di diverse risorse 10/12/2015 12

XML vs RDF (2) Esempio: unione di due frammenti RDF Human hemoglobin has_sequence GenBank + aagccgcacctgcgagtctaga gctatagccgcacctgcgagtct agaagctatagccgcacctgcgagtct agaagct has_sequence aagccgcacctgcgagtctaga gctatagccgcacctgcgagtct agaagctatagccgcacctgcgagtct agaagct Human hemoglobin is_a Oxygen transport protein Human hemoglobin is_a Oxygen Human transport hemoglobin protein Gene Ontology + Has 3D Structure Human hemoglobin Has 3D Structure PDB 10/12/2015 13

XML vs RDF (3) Esempio: unione di due frammenti XML <sequence id= abc123 >atagccgtacctgcgagtct </sequence> Generic Sequence XML <is-a><object>human-hemoglobin</object><type>oxygen-transferprotein</type></is-a> Generic Gene Ontology XML <structure><protein name= hh434 /><atom x= -30 y= 40 elem= H /> </structure> + + La integrazione richiede una profonda conoscenza degli schemi sorgenti, al fine di produrre delle complesse trasformazioni XSLT verso uno schema comune. Generic protein structure xml 10/12/2015 14

RDF: triples triples everywhere Al di là dei costrutti complessi che possiamo definire per descrivere dei pattern di rappresentazione evoluti, il modello RDF è completamente basato su triple. Esistono dei vincoli sulla struttura di una tripla RDF rdf_triple(resource, URI, Node) Il subject di una tripla è sempre una risorsa, può essere o meno identificata da un URI, ma non può essere un tipo di dati primitivo Il predicate di una tripla è una risorsa sempre caratterizzata da un URI L object non ha particolari restrizioni, e può contenere sia risorse che tipi primitivi (literals) 10/12/2015 15

Gerarchia dei tipi di nodo in un grafo RDF Node Resource Literal URI 10/12/2015 16

RDFS: RDF Schema RDF manca di: Possibilità di specificare differenti livelli di astrazione Organizzazione delle risorse in categorie esplicite Restrizioni sulle proprietà RDFS estende RDF con un vocabolario per definire schemi, e.g.: Class, Property type, subclassof, subpropertyof range, domain Con tale estensione, RDF(S) può essere considerato a tutti gli effetti un linguaggio per la rappresentazione della conoscenza 10/12/2015 17

RDFS : Vocabolario principale Core Classes Core Properties rdfs:resource rdfs:literal rdfs:xmlliteral rdfs:class rdf:property rdfs:datatype rdf:type rdfs:subclassof rdfs:subpropertyof rdfs:domain rdfs:range rdfs:label rdfs:comment 10/12/2015 18

RDFS : Vocabolario principale rdfs:resource Tutte le cose descritte da espressioni RDF sono risorse e sono considerate istanze della classe rdfs:resource rdfs:class rappresenta il generico concetto di tipo o categoria. Può quindi essere definito per rappresentare qualsiasi cosa, e.g. pagine Web, persone, tipi di documento rdf:type Questo elemento esiste già nel vocabolario RDF, ma in RDFS lega delle risorse alle categorie (Classi) cui appartengono. È analogo al costrutto instance-of dell OO design 10/12/2015 19

RDFS : Vocabolario principale rdf:property anche questo proviene dal vocabolario RDF, e rappresenta il sottoinsieme di tutte le risorse RDF che sono proprietà rdfs:subclassof questa proprietà definisce una relazione di super/sottoinsieme tra classi. Questa proprietà è transitiva rdfs:subpropertyof Questa proprietà è usata per indicare che una proprietà è una specializzazione di un altra proprietà 10/12/2015 20

RDFS : Vocabolario principale rdfs:range definisce da a quale classe appartengono i valori che una determninata proprietà può assumere rdfs:domain specifica che ogni risorsa che possiede una certa proprietà è istanza di una o più classi Annotation properties non giocano alcun ruole nella semantica del linguaggio ma forniscono un utile mezzo per commentare un repository di dati rdfs:comment: la proprietà di comment più generale. In genere fornisce una descrizione in linguaggio naturale della risorsa che la contiene rdfs:label: fornisce nomi alternativi per indicare una risorsa. Con l attributo xml:lang è possibile specificare il linguaggio in cui tale commento è inserito rdfs:seealso: contiene un puntatore ad un altra risorsa che contiene ulteriori informazioni circa il soggetto di tale proprietà rdfs:isdefinedby: è una sottoproprietà di rdfs:seealso e indica la risorsa che definisce la risorsa soggetto, 10/12/2015 21

Esempio di Schema RDF <rdfs:class rdf:id= Provider > <rdfs:subclassof rdf:resource= #Person /> </rdfs:class> 10/12/2015 22

Lower Layer Upper Layer RDF-Schema : Esempio di Schema Resource Class Property subclassof Vehicle subclassof subclassof subclassof Company LandVehicle SeaVehicle subclassof subclassof Hovercraft NumberOfEngines Number 23

RDF-Schema : Esempio di Schema <rdf:rdf xmlns:rdf = http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:rdfs = http://www.w3.org/2000/01/rdf-schema# <rdf:description id= Vehicle > <rdf:type resource= http://www.w3.org/2000/01/rdf-schema#class /> <rdfs:subclassof rdf:resource= http://www.w3.org/2000/01/rdf-schema#resource /> </rdf:description> <rdf:description id= LandVehicle > <rdf:type resource= http://www.w3.org/2000/01/rdf-schema#class /> <rdfs:subclassof rdf:resource= #Vehicle /> </rdf:description> <rdf:description id= SeaVehicle > <rdf:type resource= http://www.w3.org/2000/01/rdf-schema#class /> <rdfs:subclassof rdf:resource= #Vehicle /> </rdf:description> <rdf:description id= Hovercraft > <rdf:type resource= http://www.w3.org/2000/01/rdf-schema#class /> <rdfs:subclassof rdf:resource= #LandVehicle /> <rdfs:subclassof rdf:resource= #SeaVehicle /> </rdf:description> 10/12/2015 24

RDF-Schema : Esempio di Schema <rdf:description id= Company > <rdf:type resource= http://www.w3.org/2000/01/rdf-schema#class /> <rdfs:subclassof rdf:resource= http://www.w3.org/2000/01/rdf-schema#resource /> </rdf:description> <rdf:description id= producedby > <rdf:type resource= http://www.w3.org/1999/02/22-rdf-syntax-ns#property /> <rdfs:domain rdf:resource= #Vehicle /> <rdfs:range rdf:resource= #Company /> <rdfs:label xml:lang="en">vehicle Producer</rdfs:label> </rdf:description> <rdf:description id= NumberOfEngines > <rdf:type resource= http://www.w3.org/1999/02/22-rdf-syntax-ns#property /> <rdfs:domain rdf:resource= #Hovercraft /> <rdfs:range rdf:resource= http://www.w3.org/1999/02/22-rdf-syntax-nx#number /> <rdfs:comment xml:lang="en">this property states how many engines the hovercraft has</rdfs:comment> </rdf:description> </rdf:rdf> Continua dalla pagine precedente 10/12/2015 25

Limiti di RDFS RDFS troppo debole per descrivere risorse con sufficiente dettaglio Nessun vincolo di range e/o domain contestualizzato Non si può limitare il range di haschild a person quando è applicato a persone e a elephant quando applicato a elefanti Nessun vincolo di esistenza/cardinalità Non si può dire che tutte le istanze di person hanno una madre che è anche una person, o che le persone hanno esattamente 2 genitori Nessuna proprietà transitiva, inversa or simmetrica Non si può affermare che ispartof è una proprietà transitiva, che haspart è l inversa di ispartof o che touches è simmetrica 10/12/2015 26

From RDF to OWL Two languages developed by extending (part of) RDF OIL: developed by group of (largely) European researchers (several from EU OntoKnowledge project) DAML-ONT: developed by group of (largely) US researchers (in DARPA DAML programme) Efforts merged to produce DAML+OIL Development was carried out by Joint EU/US Committee on Agent Markup Languages Extends ( DL subset of) RDF DAML+OIL submitted to W3C as basis for standardisation Web-Ontology (WebOnt) Working Group formed WebOnt group developed OWL language based on DAML+OIL OWL language now a W3C Proposed Recommendation 10/12/2015 27

RDFS/OWL: Semantica La semantica di RDFS/OWL, contrariamente a precedenti approcci nella rappresentazione della conoscenza, come i frame, basati su controllo di vincoli (constraint checking), è di tipo inferenziale. Data quindi una teoria del mondo, invece di verificare esclusivamente che gli oggetti della nostra base di conoscenza (instance data) soddisfino i vincoli imposti da tale teoria, sarà possibile aggiungere (inferire) nuova informazione (in modo rigorosamente monotono, cioè senza contraddire asserzioni precedenti) alla teoria e/o alla descrizione degli oggetti per far sì che questi siano ancora un modello per la teoria Caratteristiche della semantica RDFS/OWL: Open World Assumption (OWA) No Unique Name Assumption 10/12/2015 28

CWA e NF La CWA (Closed World Assumption), tipica delle basi di dati tradizionali e la NF (negation-as-failure) che caratterizza linguaggi di programmazione logica come il prolog, sono intimamente legate Data la formula atomica ground A, la CWA ci dice che: Se una base di conoscenza KB non ha come conseguenza logica A, allora A è falsa Data la formula atomica ground A, la NF ci dice che: Se non è possibile dimostrare A in una base di conoscenza KB, allora A è falsa in quella KB 10/12/2015 29

Non Monotonicità di CWA e NF CWA e NF sono naturalmente connesse ad una visione non-monotonica del mondo Es: abbiamo un DB con il solo fatto: donna(marilynmonroe) ed eseguo delle query in prolog Query:?- donna(marilynmonroe). Answer:yes Query:?- uomo(marilynmanson) Answer:no (usando la CWA/NF). Aggiorniamo quindi il DB con uomo(marlynmanson). Query:?- uomo(marlynmanson) Answer:yes 10/12/2015 30

OWL Reasoning L interpretazione di OWL, contrariamente a precedenti approcci nella rappresentazione della conoscenza, come i frame, basati su controllo di vincoli (constraint checking), è di tipo inferenziale. Qualche esempio: eg:document rdf:type owl:class; rdfs:subclassof [ a owl:restriction; eg:mydoc rdf:type eg:document. owl:onproperty dc:author; owl:mincardinality 1^^xsd:integer]. La descrizione di mydoc non è incompleta anche se la mincard per author è 1, perchè l autore potrebbe essere definito somewhere else in the world (Open World Assumption) 10/12/2015 31

OWL Reasoning L interpretazione di OWL, contrariamente a precedenti approcci nella rappresentazione della conoscenza, come i frame, basati su controllo di vincoli (constraint checking), è di tipo inferenziale. Qualche esempio: eg:document rdf:type owl:class; rdfs:subclassof [ a owl:restriction; owl:onproperty eg:copyrightholder; owl:maxcardinality 1^^xsd:integer]. eg:mydoc rdf:type eg:document ; eg:copyrightholder eg:institute1 ; eg:copyrightholder eg:institute2. I due valori su for eg:copyrighthoder destano problemi? No, potrebbero esistere due nomi per indicare la stessa cosa, quindi si suppone che institute1 e institute2 denotino la stessa cosa 10/12/2015 32

OWL Reasoning L interpretazione di OWL, contrariamente a precedenti approcci nella rappresentazione della conoscenza, come i frame, basati su controllo di vincoli (constraint checking), è di tipo inferenziale. Qualche esempio: eg:document rdf:type owl:class; owl:equivalentclass [a owl:restriction; owl:onproperty eg:author ; owl:allvaluesfrom eg:person ]. eg:mydoc rdf:type eg:document ; eg:author eg:daffy. eg:daffy rdf:type eg:duck. eg:mydoc2 eg:author eg:dave. eg:dave rdf:type eg:person. Duffy è inferita essere ANCHE una Person (a causa dell asserzione di equivalentclass sulla restriction allvaluesfrom Person) mydoc2 è un Document? Non possiamo saperlo, perché nel mondo potrebbero esserci altri autori di questi libro che non di tipo Person 10/12/2015 33

Semantica di OWL Approfondite i precedenti argomenti su: 2 capitolo dell handbook on description logics https://bscw.deri.org/pub/bscw.cgi/d3851/dlhb-02.pdf https://cdn.preterhuman.net/texts/thought_and_writing/philos ophy/baader%20%28et%20al%29%20%28ed.%29%20- %20The%20Description%20Logic%20Handbook%20- %20Theory,%20Implementation%20and%20Applications%2 0%282003%29.pdf Guida W3C su OWL Deposito file 10/12/2015 34