Metamodellazione in RDF Tesina del corso di Seminari di Ingegneria del Software Alberto Cerullo.

Slides:



Advertisements
Presentazioni simili
Il paradigma Object Oriented
Advertisements

Programmazione ad oggetti
Progettazione dei Sistemi Interattivi (A.A. 2004/05) - Lezione 2 1 Progettazione e Sviluppo di Software ad Oggetti 4 OBJECT-ORIENTED ANALYSIS Processo.
Ricorsione in SQL-99.
Principale limitazione di AR e SQL-92: interrogazioni ricorsive
Progettazione concettuale
Progettazione concettuale
Modulo3 Linguaggi: RDF UNIVERSITA’ DI CAMERINO
29 febbraio 2008 Progettare tipi di dato astratti.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Query OQL e XQUERY a confronto
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
Serializzazione di oggetti in formato XML nellambito del sistema MOMIS Davide Lenzi Chiar.mo Prof. Sonia Bergamaschi Chiar.mo Prof. Michele.
Università degli Studi di Modena e Reggio Emilia
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
©Carlo Tasso 1999 Object Oriented Programming Slide 1 OO Analysis Vs. OO Design OOA – Object Oriented Analysis. –Specifica COSA, IN QUALE CONTESTO il sistema.
Metodologie per la gestione di conoscenza ontologica Prof. M.T. PAZIENZA a.a
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
Sistemi basati su conoscenza Prof. M.T. PAZIENZA a.a
Maria Teresa PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (Ontologie, Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (1 - Ontologie) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (1 - Ontologie) Prof. M.T. PAZIENZA a.a
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
CVM un modello concettuale per la gestione di versioni di schema in un contesto di integrazione Fabio Grandi DEIS - Università di Bologna.
Seminari di ingegneria del software
Seminari di ingegneria del software
Basi di dati Università Degli Studi Parthenope di Napoli
Modello E-R Generalizzazioni
Modello E-R Generalizzazioni
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
Introduzione alla modellazione di sistemi interattivi
Esercitazione di Basi di Dati
L’ingegneria del software
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Tesi di Laurea in Ingegneria Informatica
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Esercitazioni di Ingegneria del Software con UML
G.ADORNI, M.COCCOLI, G.VERCELLI, G.VIVANET E-LEARNING & KNOWLEDGE MANAGEMENT LAB. UNIVERSITÀ DI GENOVA Il Semantic Web per l’e-learning e l’e-government:
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.
Database Progettazione Concettuale
Corso di Intelligenza Artificiale Elaborazione del linguaggio naturale, ontologie e ragionamento automatico ingegneria della conoscenza prof. Maria Teresa.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Carluccio Antonio Carluccio Alessandra Caricola Giovanni Vizzino Anna Università degli Studi di Bari.
Sapienza Università di Roma Sapienza Università di Roma Laurea specialistica in Ingegneria Informatica Seminari di Ingegneria del Software Traduzione di.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 – Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
SISTEMI DIDATTICI PER L’ E- LEARNING
Intelligenza Artificiale 1 Gestione della conoscenza lezione 14 Prof. M.T. PAZIENZA a.a
WWW Metadati: RDF e RDFS Riccardo Gentilucci Marco Pirruccio.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 15 Prof. M.T. PAZIENZA a.a
Prof. Massimo Ruffolo Ing. Maurizio Colica. Capitolo 4 RDF: Resource Description Framework  Introduzione  Classi e Istanze  Proprietà.
Web semantico. il Web Semantico si basa sullo standard URI (Uniform Resource Identifiers), per la definizione univoca di indirizzi Internet al livello.
Eprogram informatica V anno.
Prof. Massimo Ruffolo Ing. Ermelinda Oro. Capitolo 4 RDF: Resource Description Framework RDFS: RDF Schema.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Introduzione alle Classi e agli Oggetti in Java 1.
Fabio Rinnone Matricola 667/ Università di Catania Facoltà di SS. MM. FF. NN. Dipartimento di Matematica e Informatica Corso di Laurea di Primo Livello.
Oltre il web 2.0: il web semantico Seminario. World Wide Web ● Nasce nel 1991 al CERN di Ginevra Evoluzione: web dinamico ● Si basa su ● URL ● HTTP ●
Transcript della presentazione:

Metamodellazione in RDF Tesina del corso di Seminari di Ingegneria del Software Alberto Cerullo

Overview RDF/RDFS RDF/RDFS Metamodellazione in RDF Metamodellazione in RDF Esempi di metamodellazione Esempi di metamodellazione

RDF Il Resosurce Description Framework (RDF) è un linguaggio per la rappresentazione di informazioni di risorse del web Il Resosurce Description Framework (RDF) è un linguaggio per la rappresentazione di informazioni di risorse del web Utile per la rappresentazione dei metadati Utile per la rappresentazione dei metadati E’ costituito da: E’ costituito da: · RDF Model and Syntax: che definisce il data model di RDF e la sua codifica XML · RDF Schema: che permette la definizione di vocabolari per i metadati. Il data model è un insieme di triple o statement Il data model è un insieme di triple o statement

Statement RDF Soggetto Il soggetto identifica la risorsa che deve essere descritta nello statement. Appartiene a Resource Predicato Il predicato identifica la proprietà della risorsa che si sta descrivendo, infatti viene anche chiamata proprietà. Appartiene a Property. Serve per rappresentare attributi,caratteristiche o relazioni di una risorsa. Oggetto L’ oggetto identifica il valore della proprietà. Appartiene a Resource o Literal.

Un semplice esempio L’autore di è Alberto Cerullo L’autore di è Alberto Cerullohttp:// <rdf:RDFxmlns:rdf=" xmlns:c=" xmlns:c=" Alberto Cerullo Alberto Cerullo </rdf:RDF>

RDFS RDF Schema è una sorta di vocabolario per RDF RDF Schema è una sorta di vocabolario per RDF Permette di definire classi e proprietà Permette di definire classi e proprietà Classi simili ai linguaggi di programmazione come Java Classi simili ai linguaggi di programmazione come Java

RDFS rdf:type Serve per esprimere una relazione del tipo is- member-of. Indica l’appartenenza di una risorsa ad una determinata classe. Una risorsa può essere istanza di una o più classi. rdfs:Class Le classi RDF rappresentano un concetto simile a quello di classe previsto nei linguaggi object- oriented come ad esempio Java. Quando viene definita una classe, la risorsa che la rappresenta deve presentare la proprietà rdf:type impostata a rdfs:Class rdfs:subClassOf Rappresenta una relazione is-a e specifica la relazione di ereditarietà fra classi. Permette di definire una classe come sottoclasse di un’altra o di più classi (ereditarietà multipla).

RDFS rdfs:domain E’ un’ istanza di rdf:Property ed è usata per indicare che una particolare proprietà si applica ad una designata classe. La tripla S rdfs:domain C dichiara che S è istanza della classe rdf :Property, che C è un’istanza della classe rdfs:Class e che la risorsa che presenta come predicato S è istanza della classe C. Una proprietà può avere zero, uno o più domini. rdfs:range E’ un’istanza di rdf:Property e viene usata per dichiarare che il valore di una proprietà è istanza di una classe. La tripla S rdf:range C asserisce che S è un’istanza della classe rdf:Property, che C è un’istanza della classe rdf:Class e che le risorse presenti nelle terni con oggetto S sono delle istanze di C.

Metamodellazione (1/2) La metamodellazione è la costruzione o modellazione di un insieme di “concetti” relativi ad un certo dominio. La metamodellazione è la costruzione o modellazione di un insieme di “concetti” relativi ad un certo dominio. Un modello è l’astrazione di elementi del mondo reale; un metamodello è un’ulteriore astrazione relativa a proprietà superiori del modello stesso. Un modello è l’astrazione di elementi del mondo reale; un metamodello è un’ulteriore astrazione relativa a proprietà superiori del modello stesso. Il metamodello, quindi, rappresenta concetti di un livello “più alto” rispetto a quelli del semplice modello. Il metamodello, quindi, rappresenta concetti di un livello “più alto” rispetto a quelli del semplice modello.

Metamodellazione (2/2)

Metamodellazione in RDF 2 possibili strategie: 2 possibili strategie: 1. definizione di diversi livelli di risorse (uso di rdf:type per creare istanze di rdfs:Class) 2. reificazione

Prima strategia i rdf:type C  i appartiene al livello estensionale i rdf:type C  i appartiene al livello estensionale C rdf:type rdfs:Class  C appartiene al livello intensionale M rdf:type rdfs:Class C rdf:type M  M appartiene al metalivello

Seconda strategia: reificazione La reificazione (riduzione ad oggetto) è lo strumento attraverso il quale si possono definire statement RDF tramite altri statement RDF. La reificazione (riduzione ad oggetto) è lo strumento attraverso il quale si possono definire statement RDF tramite altri statement RDF. i rdf:type C  i appartiene al livello estensionale C rdf:type rdfs:Class  C appartiene al livello intensionale C rdf:type M x rdf:type rdf:Statement x rdf:subject M x rdf:predicate rdf:type x rdf:object rdfs:Class  M appartiene al metalivello

Esempi di metamodellazione Gli esempi sono stati realizzati in Jena un framework Java che fornisce API per la creazione di grafi RDF Gli esempi sono stati realizzati in Jena un framework Java che fornisce API per la creazione di grafi RDF Per ogni grafo va costruito il relativo “model” attraverso metodi ad hoc come createDefaultModel() Per ogni grafo va costruito il relativo “model” attraverso metodi ad hoc come createDefaultModel() Per poter inferire proprietà sullo schema (ad es. rdfs:subClassOf ) va usato createRDFSModel () Per poter inferire proprietà sullo schema (ad es. rdfs:subClassOf ) va usato createRDFSModel () Le query sui grafi sono scritte in SPARQL Le query sui grafi sono scritte in SPARQL Jena permette anche la definizione di regole di inferenza come ad esempio: Jena permette anche la definizione di regole di inferenza come ad esempio: (?a ex:p ?b) (?b ex:p?c) -> (?a ex:p?c) (?a ex:p ?b) (?b ex:p?c) -> (?a ex:p?c)

Animali - Cibo

grafo RDF <rdf:RDF xmlns:uri=" xmlns:uri=" xmlns:rdf=" xmlns:rdf=" xmlns:rdfs=" xmlns:rdfs=" xmlns:vcard=" > xmlns:vcard=" > Carolina Carolina Varenne Varenne John Smith John Smith Uncle Tom Uncle Tom

Query sul metamodello Chi mangia? Chi mangia? 1 PREFIX uriRDF: 2 PREFIX uri: 3 PREFIX uriFN: 4 5 SELECT ?nome ?cibo 6 WHERE 7 { { ?x uriFN:FN ?nome ; 8 uri:pasto ?cibo. 9 } 10 UNION 11 { ?x uri:nome ?nome ; 12 uriRDF:type ?type. 13 ?type uri:mangia ?cibo. 14 } 15 } Risultato: Uncle Tom John Smith Carolina Varenne

Query sul metamodello Proprietari ed animali che mangiano lo stesso tipo di cibo Proprietari ed animali che mangiano lo stesso tipo di cibo 1 PREFIX uriRDF: 1 PREFIX uriRDF: 2 PREFIX uri: 2 PREFIX uri: 3 PREFIX uriRDFS: 3 PREFIX uriRDFS: 4 PREFIX uriFN: 4 PREFIX uriFN: 5 6 SELECT ?nome ?nomeAnimale ?cibo 6 SELECT ?nome ?nomeAnimale ?cibo 7 WHERE 7 WHERE 8 { ?x uri:possiede ?animale ; 8 { ?x uri:possiede ?animale ; 9 uriFN:FN ?nome ; 9 uriFN:FN ?nome ; 10 uri:pasto ?cibo. 10 uri:pasto ?cibo. 11 ?animale uri:nome ?nomeAnimale ; 11 ?animale uri:nome ?nomeAnimale ; 12 uriRDF:type ?tipoAnimale. 12 uriRDF:type ?tipoAnimale. 13 ?tipoAnimale uri:mangia ?ciboAnimale. 13 ?tipoAnimale uri:mangia ?ciboAnimale. 14 ?ciboAnimale uriRDF:type ?cibo. 14 ?ciboAnimale uriRDF:type ?cibo. 15 } 15 } Risultato: Uncle Tom Carolina

Query sul metamodello Una persona può mangiare il proprio animale? Una persona può mangiare il proprio animale? 1 PREFIX uriRDF: 1 PREFIX uriRDF: 2 PREFIX uri: 2 PREFIX uri: 3 PREFIX uriRDFS: 3 PREFIX uriRDFS: 4 PREFIX uriFN: 4 PREFIX uriFN: 5 6 SELECT ?nome ?nomeAnimale 6 SELECT ?nome ?nomeAnimale 7 WHERE 7 WHERE 8 { ?x uri:possiede ?animale ; 8 { ?x uri:possiede ?animale ; 9 uriFN:FN ?nome ; 9 uriFN:FN ?nome ; 10 uri:pasto ?cibo. 10 uri:pasto ?cibo. 11 ?animale uriRDF:type ?type ; 11 ?animale uriRDF:type ?type ; 12 uri:nome ?nomeAnimale. 12 uri:nome ?nomeAnimale. 13 ?type uriRDF:type ?cibo. 13 ?type uriRDF:type ?cibo. 14 } 14 } Risultato: John Smith Varenne

Animali – Cibo reificato <rdf:RDF xmlns:uri=" xmlns:uri=" xmlns:rdf=" xmlns:rdf=" xmlns:rdfs=" xmlns:rdfs=" xmlns:vcard=" > xmlns:vcard=" >

Query sul metamodello reificato Una persona può mangiare il proprio animale? Una persona può mangiare il proprio animale? 1 PREFIX uriRDF: 1 PREFIX uriRDF: 2 PREFIX uri: 2 PREFIX uri: 3 PREFIX uriRDFS: 3 PREFIX uriRDFS: 4 PREFIX uriFN: 4 PREFIX uriFN: 5 6 SELECT ?nome ?nomeAnimale 6 SELECT ?nome ?nomeAnimale 7 WHERE 7 WHERE 8 { ?x uri:possiede ?animale ; 8 { ?x uri:possiede ?animale ; 9 uriFN:FN ?nome ; 9 uriFN:FN ?nome ; 10 uri:pasto ?cibo. 10 uri:pasto ?cibo. 11 ?animale uriRDF:type ?type ; 11 ?animale uriRDF:type ?type ; 12 uri:nome ?nomeAnimale. 12 uri:nome ?nomeAnimale. 13 ?type uriRDF:type ?cibo. 13 ?type uriRDF:type ?cibo. 14 } 14 } Risultato: John Smith Varenne

Pattern: Tipi di Entità Scopo: serve ad identificare e categorizzare i tipi più generali degli oggetti che fanno parte del dominio di un discorso. Scopo: serve ad identificare e categorizzare i tipi più generali degli oggetti che fanno parte del dominio di un discorso. Requisiti: che tipo di entità è questa? E’ un evento o un oggetto? E’ un valore astratto o la qualità di un’entità? Requisiti: che tipo di entità è questa? E’ un evento o un oggetto? E’ un valore astratto o la qualità di un’entità? Elementi: i tipi di entità consistono dei seguenti elementi: Elementi: i tipi di entità consistono dei seguenti elementi: · Abstract, un’entità che non può essere localizzata nel tempo o nello spazio. Ad esempio entità matematiche, elementi formali della semantica,etc. · Event, qualsiasi processo, evento o stato fisico, sociale o mentale. Gli eventi possono essere classificati in diversi modi, ad esempio basandosi sulla tipologia o su coloro che vi partecipano (ad esempio persone, elementi astratti,etc.)  · Object, qualsiasi elemento o sostanza fisica.  · Qualità, un qualsiasi aspetto di un’entità (ma non una parte di esso) che non può esistere senza tale entità. Ad esempio la superficie di uno specifico oggetto fisico è una entità.

Entity -Libro

Query sul metamodello Quali sono gli elementi ed i relativi metaconcetti di riferimento Quali sono gli elementi ed i relativi metaconcetti di riferimento 1 PREFIX uriRDF: 1 PREFIX uriRDF: 2 PREFIX uri: 2 PREFIX uri: 3 PREFIX uriRDFS: 3 PREFIX uriRDFS: 4 PREFIX uriFN: 4 PREFIX uriFN: 5 6 SELECT DISTINCT ?x ?type 6 SELECT DISTINCT ?x ?type 7 WHERE 7 WHERE 8 { ?x uriRDF:type ?type. 8 { ?x uriRDF:type ?type. 9 ?type uriRDFS:subClassOf uri:Entity. 9 ?type uriRDFS:subClassOf uri:Entity. 10 } 10 } Risultato: Ubik

Description Scopo: serve per rappresentare formalmente un concetto o un contesto descrittivo. Scopo: serve per rappresentare formalmente un concetto o un contesto descrittivo. Requisiti: Quale sono le assunzioni, per le quali un determinato elemento viene descritto? Quali sono i concetti coinvolti nella descrizione di un certo elemento? Quale è l’interpretazione di questa osservazione? Requisiti: Quale sono le assunzioni, per le quali un determinato elemento viene descritto? Quali sono i concetti coinvolti nella descrizione di un certo elemento? Quale è l’interpretazione di questa osservazione? Elementi: Elementi: · Description, una descrizione rappresenta una concettualizzazione. Può essere pensata anche come un contesto descrittivo che definisce alcuni concetti. Ad esempio un Piano è la descrizione di alcune azioni che devono essere eseguite da agenti in una determinata maniera, con certi parametri,etc. · Description, una descrizione rappresenta una concettualizzazione. Può essere pensata anche come un contesto descrittivo che definisce alcuni concetti. Ad esempio un Piano è la descrizione di alcune azioni che devono essere eseguite da agenti in una determinata maniera, con certi parametri,etc. · Concept, può essere un idea,una nozione ed èd definita nella descrizione. Una volta definito, un concetto può essere usato in altre descrizioni. IsDefinedIn, rappresenta una relazione tra una descrizione ed un concetto IsDefinedIn, rappresenta una relazione tra una descrizione ed un concetto

Description –Articoli scientifici

Query sul metamodello Quali Concept sono in relazione con Description Quali Concept sono in relazione con Description 1 PREFIX uriRDF: 1 PREFIX uriRDF: 2 PREFIX uri: 2 PREFIX uri: 3 4 SELECT DISTINCT ?x 4 SELECT DISTINCT ?x 5 WHERE 5 WHERE 6 { ?x uriRDF:type uri:Concept. 6 { ?x uriRDF:type uri:Concept. 7 ?y uriRDF:type uri:Description ; 7 ?y uriRDF:type uri:Description ; 8 ?p ?x. 8 ?p ?x. 9 } 9 } Risultato: algorithm spanning tree path

Conclusioni La metamodellazione che può essere realizzata in RDF è piuttosto semplice a causa dei limiti di RDF stesso. La metamodellazione che può essere realizzata in RDF è piuttosto semplice a causa dei limiti di RDF stesso. RDF, insieme ad RDFS, è un linguaggio troppo debole per realizzare metamodelli molto articolati. RDF, insieme ad RDFS, è un linguaggio troppo debole per realizzare metamodelli molto articolati. Non si possono ad esempio rappresentare vincoli di cardinalità o sul range ed il dominio di proprietà. Non si possono ad esempio rappresentare vincoli di cardinalità o sul range ed il dominio di proprietà.