RDF Schema Mario Arrigoni Neri.

Slides:



Advertisements
Presentazioni simili
Le funzioni dell’ “Operatore”.
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Definitezza Vogliamo poter richiedere la “definitezza” delle funzioni
I Namespace Mario Arrigoni Neri.
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
II° Circolo Orta Nova (FG)
Introduzione al DTD Mario Arrigoni Neri.
1 OWL Mario Arrigoni Neri. 2 OWL – Web Ontology Language Estende RDF[S] con costrutti aggiuntivi per modellare realtà più complesse Contemporaneamente.
Introduzione ad XML Mario Arrigoni Neri.
RDF Mario Arrigoni Neri.
XML - Schema Mario Arrigoni Neri.
SEMANTIC WEB Antonio Bucchiarone FBK-IRST Trento, Italy 13 Novembre 2009.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Consumare Web Service Andrea Saltarello
1 Semantica Operazionale di un frammento di Java: lo stato.
Il Sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente d integrazione.
DOCUMENTAZIONE DI SCHEMI E/R
Il mio nome è Alain Fergnani e nel corso della tesi mi sono occupato della dinamica delle ontologie per il Web Semantico, e in particolare dell’approccio.
Università degli Studi di Modena e Reggio Emilia
Frontespizio Economia Monetaria Anno Accademico
I sistemi di riferimento
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
Metadati: RDF e RDFS Fabio Vitali.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Metodologie per la gestione di conoscenza ontologica Prof. M.T. PAZIENZA a.a
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Maria Teresa PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Corso di Informatica (Basi di Dati)
Corso di Informatica (Programmazione)
Corso di Informatica (Basi di Dati)
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Architettura del World Wide Web
Seminari di ingegneria del software
Seminari di ingegneria del software
Open Archives Initiative e Metadata harvesting ICCU Seminario nazionale sui Metadati Roma 3 aprile 2001 Dr. Valdo Pasqui Università di Firenze.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Unità Didattica 2 I Linguaggi di Programmazione
Num / 36 Lezione 9 Numerosità del campione.
Lezione 4 Probabilità.
Modello E-R Generalizzazioni
Modello E-R Generalizzazioni
Namespace Spazio dei nomi Ing. Luca Sabatucci. Scopo I Namespace servono a: I Namespace servono a: distinguere tra elementi e attributi con lo stesso.
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Melfi, 1 aprile 2011 – MediaShow 1 Social Network: possibilità di uso consapevole nella didattica Uso, consapevolezza, opportunità, proposte Caterina Policaro.
Educare al multimediale 1 – Verso il digitale 2 Presentazione a cura di Gino Roncaglia Prima parte: Informazione in formato digitale.
1ROL - Richieste On Line Ente pubblico 5ROL - Richieste On Line.
Descrizione Semantica ad Alto Livello di Ambienti Virtuali in X3D
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
SINS - Seminario Istruzione Nuovi Soci - 22 Settembre Cesare Andrisano Presidente Sottocommissione Web Social Network Distretto 2070.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Tesi di Laurea in Ingegneria Informatica
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
-17 Aspettative economiche – Europa Settembre 2013 Indicatore > +20 Indicatore 0 a +20 Indicatore 0 a -20 Indicatore < -20 Unione Europea Totale: +6 Indicatore.
1 Ontology languages. Strato dei modelli LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre esprimerli in maniera esplicita,
DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino
Semantic Web. I problemi della ricerca in Web Querying  Ambiguità della formula Browsing  Arbitrarietà nei criteri di classificazione dei dati = Web.
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate.
USR-INRiM-GMEE-CE.SE.DI Formazione&Metrologia Modulo 1 1 Modulo 1 Costruzione di un linguaggio comune Preparazione liste dei termini. Condivisione.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Metamodellazione in RDF Tesina del corso di Seminari di Ingegneria del Software Alberto Cerullo.
WWW Metadati: RDF e RDFS Riccardo Gentilucci Marco Pirruccio.
Web semantico. il Web Semantico si basa sullo standard URI (Uniform Resource Identifiers), per la definizione univoca di indirizzi Internet al livello.
Transcript della presentazione:

RDF Schema Mario Arrigoni Neri

Interoperabilità: fase 0 Ricerca testuale Motori di ricerca “classici” : Google, Yahoo, ecc.. Ricerca su termini specifici: “Parapendio” I risultati sono piuttosto specifici e pertinenti Ricerca su termini specifici: “Verdi” Giuseppe Verdi Teatro Verdi Il partito dei Verdi Libri Verdi della commissione europea L’interoperabilità si basa sulla comprensione umana dei termini

Interoperabilità: fase 1 XML Schemi definiti dall’utente offrono una possibilità di condividere le interpretazioni dei dati con diverse applicazioni Diversi repository diversi schemi: Swiss Prot: Find <Species>leech</Species> EMBLChange. Find <Organism>leech<Organism>

Interoperabilità: fase 2 Semantic Web Si elimina il riferimento diretto alla realtà costruendo ontologie composte da termini La semantica dei metadati è eterogenea ed inconsistente tra repository diversi Information System 1 interpr. 1 DB1 interpr. 2 Information System 2 DB2

Eterogeneicità semantica Standardizzazione: consenso su markup comuni Applicabile se non esistono applicazioni esistenti Applicabile se esistono attori dominanti che “dettano” le regole Traduzione: creazione di mappe tra schemi differenti Richiede interpretazione e comprensione La mappatura è complessa e costosa Schemi di traduzione N2 Annotazione: creare relazioni con concettualizzazioni comuni La creazione delle relazioni può essere complessa Servizi di ragionamento sulla concettualizzazione comune (ontologia) possono fornire valore aggiunto

Annotazione L’ontologia deve consegnare al sistema il significato dei termini utilizzati Organism Invertebrate ISA IO IO http://www.bio.com/SP.xml <SP_entry> <ID>…</ID> <Authors>…</Authors> <Organism> Dog </Organism> </SP_entry> http://www.bio.com/EC.xml <EC_entry> <ID>…</ID> <Authors>…</Authors> <Species> Leech </Species> </EC_entry> ? <Organism> Leech </Organism>

Ontologie Una ontologia è una esplicita rappresentazione di una concettualizzazione della realtà [Gruber, 1993] Diversi sistemi concordano su una ontologia (direttamente o indirettamente) Associano i propri modelli a nodi dell’ontologia condivisa Occorre raggiungere un accordo sull’ontologia Information System 1 interpr. 1 Ontologia DB1 concettual. interpr. 2 Information System 1 DB2

Ontologie Da un punto di vista tecnico, l’ontologia permette di dare una semantica ai metadati <?xml version="1.0"?> <note> <to>Luca</to> <from>Carlo</from> <message>…</message> </note> Ok, ma che significa ??? Note  InfomrativeObject  from.Person… … Ah ok !!!

Uno schema per RDF RDF fornisce un modo per descrivere generiche asserzioni su risorse e proprietà E’ spesso necessario indicare il fatto che queste si riferiscono a particolari tipi di risorse ed usano specifiche proprietà http://www.elet.polimi.it/terms#Book http://www.elet.polimi.it/terms#PhDS http://www.elet.polimi.it/terms#author rdf:type rdf:type http://www.elet.polimi.it/bib/book0001 http://www.elet.polimi.it/people/D02005 http://www.elet.polimi.it/terms/author

RDF(S) Per descrivere le classi e le relazioni utilizzate per costruire il particolare modello RDF si utilizza ancora RDF Il particolare vocabolario è definito dall’ RDF Vocabulary Description Language, altrimenti noto come RDF-Schema Non fornisce un vocabolario specifico per l’applicazione (terms:Book, terms:PhDS, terms:author, ecc..) Definisce un meccanismo per specificare classi e proprietà e costruire lo specifico vocabolario RDF(S) fornisce un sistema di tipi (semantici) per RDF

Classi – 1 Le classi sono aggregati di individui. Ogni classe rappresenta un tipo di risorsa su cui si costruisce il modello RDF Il namespace di riferimento è: http://www.w3.org/2000/01/rdf-schema# Ogni classe è una risorsa in relazione rdf:type con la risorsa http://www.w3.org/2000/01/rdf-schema#Class http://www.w3.org/200/01/rdf-schema#Class http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.elet.polimi.it/terms#PhDS

Classi – 2 terms:PhDS rdf:type rdfs:Class <rdf:RDF xmlns:terms=“http://www.elet.polimi.it/terms#” xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:rdfs=“http://www.w3.org/2000/01/rdf-schema#”> <rdf:Description rdf:about=“http://www.elet.polimi.it/terms#PhDS”> <rdf:type rdf:resource=“http://www.w3.org/2000/01/rdf-schema#Class”/> </rdf:Description> </rdf:RDF> Utilizzo la forma abbreviata di RDF ed rdf:ID per riferirmi alla descrizione Locale (per fare questo occorre strutturare correttamente il ns) <rdf:RDF xml:base=“http://www.elet.polimi.it/terms” xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:rdfs=“http://www.w3.org/2000/01/rdf-schema#”> <rdfs:Class rdf:ID=“PhDS”/> </rdf:RDF>

Gerarchie di classi – 1 Analogamente ai linguaggi OO, RDF(S) permette di organizzare le classi in gerarchie Il vocabolario RDF(S) mette a disposizione la relazione subClassOf Transitiva Es: un PhD Student è (is-a) una Persona C : insieme dei simboli di classe ∆I : insieme di interpretazione ●I : funzione di interpretazione AI ∆I A, BC A rdfs:subClassOf B x ∆I : x AI  x BI Ovvero : AI  BI Dove x AI ↔ <x rdf:type A>

Gerarchie di classi – 2 http://www.w3.org/200/01/rdf-schema#Class rdf:type http://www.elet.polimi.it/terms#Person rdf:type rdfs:subClassOf http://www.elet.polimi.it/terms#PhDS <rdfs:Class rdf:ID=“Person”/> <rdfs:Class rdf:ID=“PhDS”> <rdfs:subClassOf rdf:resource=“#Person”/> </rdfs:Class>

Sintassi alternative Dato che RDFS è espresso esso stesso in RDF posso utilizzare tutte le varianti sintattiche <rdfs:Class rdf:ID=“PhDS”> <rdfs:subClassOf> <rdfs:Class rdf:ID=“Person”/> </rdfs:subClassOf> </rdfs:Class>

Il meta-modello RDF(S) Le stesse risorse che usiamo per descrivere lo schema sono classi. rdfs:Class è la (meta) classe a cui appartengono tutte le classi NON è l’analogo dell’Object di Java rdfs:Resource è la classe “universo” da cui derivano tutte le classi di un modello. Se non indico alcun rdfs:subClassOf la classe deriva implicitamente da rdfs:Resource. E’ l’analogo dell’Object di Java http://www.w3.org/200/01/rdf-schema#Class rdfs:subClassOf rdf:type http://www.w3.org/200/01/rdf-schema#Resource rdf:type http://www.elet.polimi.it/terms#Person rdfs:subClassOf

Istanze – classi – metaclassi rdfs:Resource rdf:type rdfs:subClassOf rdfs:Class rdf:type rdf:type terms:Person terms:Book rdfs:subClassOf terms:PhDS rdf:type rdf:type terms:author Mario Arrigoni Neri people:D02005 bib:book0001 terms:name

Reasoning – 1 I semplici costrutti rdf:type ed rdfs:subClassOf permettono già un servizio minimale di reasoning http://www.w3.org/200/01/rdf-schema#Resource rdf:type rdfs:subClassOf rdfs:subClassOf rdf:type http://www.elet.polimi.it/terms#Person http://www.elet.polimi.it/people/D02005 rdfs:subClassOf rdf:type http://www.elet.polimi.it/terms#PhDS

Reasoning – 2 people:D02005 rdf:type terms:PhDS terms:PhDS rdf:type rdfs:Class terms:Person rdf:type rdfs:Class terms:PhDS rdfs:subClassOf terms:Person term:Person rdfs:subClassOf rdfs:Resource A rdfs:subClassOf B B rdfs:subClassOf C A rdfs:subClassOf C A rdf:type B B rdfs:subClassOf C A rdf:type C Term:PhDS rdfs:subClassOf rdfs:Resource people:D02005 rdf:type terms:Person people:D02005 rdf:type terms:Resource

Reasoning – 3 In questo esempio resoning basato su REGOLE DI INFERENZA Il motore inferenziale cerca di combinare gli antecedenti delle regole con i fatti presenti nella base di conoscenza tramite il PATTERN MATCHING 1) 2) terms:PhDS rdfs:subClassOf terms:Person terms:Person rdfs:subClassOf terms:Resource A rdfs:subClassOf B B rdfs:subClassOf C A rdfs:subClassOf C A = terms:PhDS B = terms: Person C = ? A = terms:PhDS B = terms: Person C = terms: Resource A = terms: Person B = terms: Resource C = ?

Reasoning sul meta-modello rdfs:Resource rdfs:type rdfs:Class rdfs:Class rdfs:subCassOf rdfs:Resource A rdf:type B B rdfs:subClassOf C A rdf:type C A = rdfs:Resource B = rdfs:Class C = rdfs:Resource rdfs:Resource rdf:type rdfs:Recource

Proprietà Oltre a descrivere le classi a cui appartengono gli oggetti del modello abbiamo bisogno di descrivere specifiche proprietà Ogni proprietà RDF è istanza della classe predefinita rdf:Property. http://www.w3.org/1999/02/22-rdf-syntax-ns#Property http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.elet.polimi.it/terms#author terms:author rdf:type rdf:Property <rdf:Property rdf:ID=“author”/>

Domain e Range – 1 Rimane il problema di collegare tra di loro classi e proprietà RDF(S) fornisce anche un vocabolario per descrivere come ci si aspetta che proprietà e classi si combinino tra di loro Le principali informazioni in questo frangente sono date dalle proprietà prdefinite rdfs:domain ed rdfs:range Es: la relazione author sussiste tra un libro ed una persona: http://www.w3.org/1999/02/22-rdf-syntax-ns#Property rdf:type rdfs:domain rdfs:range http://www.elet.polimi.it/terms#author http://www.elet.polimi.it/terms#Person http://www.elet.polimi.it/terms#Book

Domain e Range – 2 x, y ∆I : <x,y> r I  x CI rdfs:domain r C R : insieme dei simboli di relazione ●I : funzione di interpretazione RI ∆I x ∆I x, y ∆I : <x,y> r I  x CI rdfs:range r C x, y ∆I : <x,y> r I  y CI

Literal range – 1 Opzionalmente il range delle proprietà (e solo quello) può essere un literal tipizzato http://www.w3.org/200/01/rdf-schema#Literal rdfs:range http://www.elet.polimi.it/terms#pubDate http://www.elet.polimi.it/bib/book0001 “2004-01-01” http://www.elet.polimi.it/terms#pubDate

Literal range – 2 Opzionalmente può essere un literal tipizzato Se si vuole esprimere esplicitamente il fatto che si tratta di un literal si può utilizzare la classe rdfs:Datatype http://www.w3.org/200/01/rdf-schema#Datatype rdf:type rdfs:range http://www.elet.polimi.it/terms#pubDate xsd:date http://www.elet.polimi.it/bib/book0001 “2004-01-01”^^xsd:date http://www.elet.polimi.it/terms#pubDate

Literal range – 3 <rdf:Property rdf:ID=“pubDate”> <rdfs:domain rdf:resource=“http://www.elet.polimi.it/terms#Book”/> <rdfs:range rdf:resource=“http://www.w3.org/2001/XMLSchema#date”/> </rdf:Property> <rdfs:Datatype rdf:about=“http://www.w3.org/2001/XMLSchema#date”/> RDF non assegna alcun significato ai particolari tipi di literal Il controllo di consistenza tra testo formattato e tipo è lasciato all’applicazione Quindi il parser RDF non ha modo di “validare” un modello in cui compaiano literal tipizzati Si richiede che il literal nel documento sia esplicitamente tipizzato <terms:Book rdf:ID=“book0001”> <terms:author rdf:resource=“http://www.elet.polimi.it/bib/book0001”/> <terms:pubDate rdf:datatype=“http://www.w3.org/2001/XMLSchema#date”> 2004-01-01</terms:pubDate> </terms:Book>

Domini e Range multipli <rdfs:Property rdf:ID=“author”> <rdfs:range resource=“#Person”/> </rdf:Property> … <rdfs:range resource=“#Company”/> <rdfs:Property rdf:ID=“author”> <rdfs:range resource=“#Person”/> <rdfs:range resource=“#Company”/> </rdfs:Property> x, y  ∆I : <x,y>  authorI  y  PersonI x, y  ∆I : <x,y>  authorI  y  CompanyI x, y ∆I : <x,y> authorI  y  PersonI  y  CompanyI x, y ∆I : <x,y> authorI  y  (PersonI  CompanyI) = Ø

Sottoproprietà Analogamente a quanto accade con le classi, ogni proprietà può essere definita come sottoproprietà di una data Per questo si utilizza la relazione rdfs:subPropertyOf La semantica è la solita: L’interpretazione della sottorelazione (sottoproprietà) è un sottoinsieme dell’interpretazione della relazione da cui deriva <rdf:Property rdf:ID=“author”> <rdfs:subPropertyOf resource=“#contributor”/> </rdf:Property> R : insieme dei simboli di classe ∆I : insieme di interpretazione ●I : funzione di interpretazione rI ∆I x ∆I r, s  R r rdfs:subPropertyOf s x, y ∆I : <x, y> rI  <x, y> sI

Sottoproprietà, Domain e Range Domini e codomini (range) si ereditano lungo le catene di rdfs:subPropertyOf rdfs:subPropertyOf rdfs:domain r s D rdfs:domain x, y ∆I : <x, y> rI  <x, y> sI x, y ∆I : <x, y> sI  x DI x, y ∆I : (<x, y> rI  <x, y> sI)  (<x, y> sI  x DI) x, y ∆I : <x, y> rI  x DI

OWA – Open World Assumption La semantica di RDF/RDF(S) è studiata in modo da poter effettuare inferenze anche assumendo di non possedere tutta la conoscenza sull’argomento Posso usare nell’RDF classi e relazioni che non compaiono nello schema Anche le inferenze rimangono corrette (logica monotonica) con l’aumentare della conoscenza. Non vero ad esempio con interpretazione disgiuntiva di domini e range multipli <rdf:Property rdf:ID=“author”> <rdfs:range resource=“#People”/> </rdf:Property> <terms:Book rdf:about=“bib:book0001”> <terms:author rdf:resource=“#D02005”/> </terms:Book> <terms:People rdf:about=“#D02005”/> <terms:People rdf:about=“#D02005”> <rdf:type resource=“..Company”/> </terms:People> <rdf:Property rdf:ID=“author”> <rdfs:range resource=“#Company”/> </rdf:Property>

Corrispondenza con le DL Costrutto RDF DL <A rdfs:subClassOf B> AB <R rdfs:range B> T=R.B <R rdfs:domain A> T=R-.A // RA <R rdfs:subPropertyOf S> RS <x rdf:type A> x:A // A(x) <x R y> R(x,y) Però ad RDFS mancano molti costrutti per rientrare nelle logiche AL

Documentazioni rdfs:label rdfs:comment rdf:type rdf:Property rdfs:domain rdfs:Resource rdfs:range rdfs:Literal Permette di assegnare una stringa human-readable ad ogni risorsa rdfs:comment Permette di assegnare una descrizione human-readable ad ogni risorsa

Annotazioni rdfs:seeAlso rdfs:isDefinedBy rdf:type rdf:Property rdfs:domain rdfs:Resource rdfs:range rdfs:Resource Collega la risorsa ad altre risorse che forniscono ulteriori informazioni sulla risorsa o sul suo contesto di uso rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso Collega a risorse che “definiscono” la risorsa data

Uno schema semantico? XML-Schema e DTD specificano la sintassi dei documenti RDF Schema specifica la semantica intesa delle risorse utilizzate Cioè non vincola la struttura del documento, ma fornisce informazioni utili all’interpretazione del modello rappresentato nel documento <rdf:Description rdf:ID=“D02005Name”> <names:name>Mario</names:name> <names:surname>Arrigoni Neri</names:surname> </rdf:Description> Varianti sintattiche per uno stesso modello <rdf:Description rdf:ID=“D02005Name” names:name=”Mario”> <names:surname>Arrigoni Neri</names:surname> </rdf:Description>

RDF(S) e linguaggi OOP RDF(S) ha molti punti in comune con i comuni linguaggi di programmazione OOP (es: Java), ma differisce da questi in alcuni punti centrali Differente ripartizione delle descrizioni: Java RDF(S) public class Person {…} public class Book { .. public Person author; } <rdfs:Class rdf:ID=“Book”/> <rdfs:Class rdf:ID=“Person”/> <rdf:Property rdf:ID=“author”> <rdfs:domain rdf:resource=“#Book”/> <rdfs:range rdf:resource=“#Person”/> </rdf:Property>

Scope delle proprietà Ma si tratta solo di una differenza sintattica? In un linguaggio di programmazione imperativo la definizione delle relazioni (proprietà) non è semplicemente “sintatticamente” inserita nella definizione della classe, ma è anche “semanticamente” contestuale alla classe Se facessi lo stesso in RDF(S) sarei autorizzato a dedurre che l’autore è, contemporaneamente, una persona ed una compagnia Posso definire la proprietà “peso” senza indicare dom. e range. Diventa facile riusare proprietà in contesti inattesi.. però public class Book { .. Public Person author; } … public class Specification .. Public Company author; Le due proprietà author sono omonime, ma differenti

Uso dello schema Nei linguaggi di programmazione lo schema dei tipi ha sempre uno scopo PRESCRITTIVO. Il programma che non rispetta i vincoli semplicemente è scorretto In RDF lo Schema fornisce informazioni aggiuntive, ma si lascia all’applicazione la scelta dell’uso di queste informazioni Scenario 1 – uso prescrittivo: l’applicazione interpreta lo schema come dei vincoli (constraints) sui modelli leciti Scenario 2 – uso deduttivo sul modello: si possono usare le informazioni sullo schema per dedurre ulteriore conoscenza. Es: ho un libro di cui conosco l’autore, posso dedurre che la risorsa autore è una persona Scenario 3 – uso deduttivo sullo schema: incontro un libro che ha per autore una Company, in questo caso potrebbe esserci una inconsistenza, oppure posso trovare che Company subClassOf Person

Limiti di RDF – Schema Limitato potere espressivo (subClassOf, subPropertyOf, range, domain) Semantica non ben definita Linguaggi per ontologie Intuitivi / espressivi Sintassi ben specificata, semantica formale, adeguato potere espressivo Compatibili con linguaggi esistenti (RDF) rdfs:domain P2 C2 rdfs:subPropertyOf rdfs:subClassOf P1 C1 rdfs:domain

Dublin Core – 1 E’ una libreria di metadati definiti da un consorzio di bibliotecari ed archivisti Dublino – 1995 Nato indipendentemente (e prima) del Semantic Web, ma ovviamente ben adatto ad essere integrato con RDF Dublin Core 1: quindici (!) categorie di meta-informazioni Dublin Core 2: sistema i classe-sottoclasse delle categorie (qualificatori)

Dublin Core – 2 Contenuto Copyright Istanza Title Subject Description Type Source Relation Coverage Copyright Creator Publisher Contributor Rights Istanza Date Format Identifier language I modificatori permettono di specificare meglio i contenuti delle proprietà Date : created, valid, ecc.. Codifica: è possibile indicare tramite modificatori particolari codifiche per i dati: Subject : LCSH (Library of Congress Subject Headings), MeSH, ecc..

Dublin Core – 3 people:… dc:Creator rdf:Statement rdf:type terms:name bib:assertion01 rdf:subject rdf:object rdf:predicate names:name names:surname people:D02005 bib:book0001 terms:author Marco Colombetti