Seminari di ingegneria del software

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
1 OWL Mario Arrigoni Neri. 2 OWL – Web Ontology Language Estende RDF[S] con costrutti aggiuntivi per modellare realtà più complesse Contemporaneamente.
Progettazione concettuale
Informatica Recupero debito quarto anno Terzo incontro.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Progettazione concettuale
Ontologie: RDF e OWL UNIVERSITA’ DI CAMERINO
1 Sistemi per il recupero delle informazioni PARTE - III COME SI MODELLA.
Ragionamento nelle logiche descrittive M. Simi,
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
DOCUMENTAZIONE DI SCHEMI E/R
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
Università degli Studi di Modena e Reggio Emilia
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.
Le reti KL-ONE Sono un esempio di rappresentazione della conoscenza a reti semantiche. Sono state sviluppate verso la fine degli anni ’70 sulla base di.
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
Intelligenza Artificiale Metodologie di ragionamento 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 Conoscenza e ragionamento 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
Corso di Informatica (Basi di Dati)
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
Università della Svizzera italiana Il web semantico: mito o realtà? Marco Colombetti Politecnico di Milano e Università della Svizzera italiana Roma, 24.
Modello E-R Generalizzazioni
Modello E-R Generalizzazioni
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA Relatore: Chiar.mo Prof. Paolo Tiberio.
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.
MODELLO LOGICO DEI DATI
Seminario di Ingegneria del Software Studio di RacePro per fare delle interrogazioni in OWL-QL. In particolare dovrei cercare di esprimere delle conjunctive-queries.
Logiche descrittive M. Simi, Categorie e oggetti Molti dei ragionamenti che si fanno sono sulle categorie piuttosto che sugli individui Se.
“Seminari di Ingegneria del software”
Tesi di Laurea in Ingegneria Informatica
1 Ontology languages. Strato dei modelli LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre esprimerli in maniera esplicita,
1 Protégé-2000 Un tool per la creazione e sviluppo di Ontologie e Basi di Conoscenza protege.stanford.edu.
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.
Diagramma delle Classi
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.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Metamodellazione in RDF Tesina del corso di Seminari di Ingegneria del Software Alberto Cerullo.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Ragionamento nelle logiche descrittive M. Simi,
Intelligenza Artificiale 1 Gestione della conoscenza lezione 14 Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 15 Prof. M.T. PAZIENZA a.a
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Eprogram informatica V anno.
Cloud informatica V anno.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Prima esercitazione di Basi di Dati Barcelli, Bardine, Loconsole, Manganelli e MIgliorini.
Progettazione concettuale Castagnozzi Savino Ciaramello Massimo Emiliano Galeazzi Federico Guerriero Lorenzo Macauda Giorgio.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Introduzione all’Ereditarietà Pietro Palladino. Richiami UML Classe: descrizione di un insieme di oggetti software con caratteristiche simili Definisce.
Introduzione alle Classi e agli Oggetti in Java 1.
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 ●
OWL: Ontology Web Language
Transcript della presentazione:

Seminari di ingegneria del software “Traduzione di diagrammi ER in Protégé” Emma Di Pasquale Teresa Raguso

OBIETTIVI Creare ontologie con Protégé Classificare le ontologie e verificarne la consistenza tramite RACER Generare la sintassi astratta di OWL con SWOOP

ONTOLOGIA “Descrizione formale esplicita dei concetti di un dominio”. Essa contiene: Un insieme di classi (concetti rilevanti) Un insieme di relazioni tra queste classi Un insieme di proprietà attribuite a ciascun concetto Un insieme di restrizioni sulle proprietà

INTRODUZIONE LOGICHE DESCRITTIVE Le logiche descrittive (DL) sono frammenti decidibili della FOL per esprimere la conoscenza in termini di: concetti atomici (predicati unari) ruoli atomici (predicati binari) individui (costanti) Una base di conoscenza in DL comprende: TBox: insieme di assiomi terminologici, ovvero il vocabolario del dominio applicativo (concetti e ruoli) ABox: contiene asserzioni circa gli individui che popolano il mondo in oggetto, assegnando loro un nome e asserendo le loro proprietà

INTRODUZIONE OWL OWL Ontology Web Language, è una raccomandazione del W3C. Linguaggio per esprimere le ontologie Tre tipi di OWL: OWL Lite, versione sintatticamente più semplice che permette di esprimere una gerarchia di classi e semplici restrizioni OWL DL, versione intermedia basata sulle logiche descrittive, offre un potere espressivo elevato mantenendo completezza e decidibilità OWL FULL, offre la massima espressività senza offrire alcuna garanzia circa completezza e decidibilità

Protégé E’ un editor per la creazione di ontologie Caratteristiche: -Piattaforma open-source -Può esportare le ontologie in vari formati: RDF(S), XML Schema e OWL -E’ basato su Java -E’ estendibile (esistono numerose API e plug-in) -Dispone di numerosi ambienti plug-and-play che consentono un rapido sviluppo delle applicazioni.

Progettazione di un’ontologia in Protégé Progettare un’ontologia significa: 1. Determinare il dominio e lo scopo dell’ontologia 2. Individuare i concetti chiave del fenomeno da descrivere 3. Organizzare i concetti in classi e gerarchie tra le classi 4. Definire le proprietà delle classi 5. Definire vincoli (valori leciti) sulle proprietà 6. Creare le istanze 7. Attribuire i valori alle proprietà per tutte le istanze create

ER in Protégé Entità ~ classes Relazioni ~ object properties Attributi ~ datatype properties Vincoli ~ restrictions

Entità - Classes Protégé Rappresentano insiemi di individui Organizzate in una tassonomia Possono essere combinate usando un insieme di operatori: sussunzione disjoint unione intersezione complemento Ad ogni classe possono essere associate delle condizioni (restrictions) che possono essere: necessarie (classi primitive) necessarie e sufficienti (classi definite)

Protégé – CLASSES TAB Nome della Classe IS-A Relazioni e attributi Gerarchia delle Classi Restrizioni sugli individui della classe Classi disgiunte

PROPERTY Protégé Due tipi di proprietà: Object properties, relazionano individui ad individui Datatype properties, relazionano individui a valori di dati Protégé supporta una gerarchia tra le proprietà Con riferimento alle subproperty, non è possibile “mescolare” i due tipi di proprietà

Relazioni - Object Properties Protégé Per ogni relazione è possibile specificare: Dominio Range (codominio) Ogni object property può avere una inverseProperty Le object properties possono avere quattro tipi di caratteristiche: Functional Inverse functional Transitive Simmetric

Protégé - PROPERTIES TAB Object Properties Nome della proprietà Object Property Caratteristiche delle proprietà Codominio Dominio Proprietà Inversa

Attributi – Datatype Properties Protégé Per ogni attributo è possibile specificare: Dominio Range (integer, float, string) L’ unica caratteristica ammessa da Protégé OWL DL è: Functional Non si possono quindi esplicitare le chiavi primarie in quanto non è possibile definire inverseFunctional una datatype property (è invece ammesso con OWL Full)

Protégé - PROPERTIES TAB Datatype Properties Nome Range Datatype Properties Proprietà Valori Ammessi Dominio

Vincoli – Restrictions Protégé Una restriction descrive un insieme di individui in base al tipo e al numero di relazioni a cui essi partecipano e quindi restringe gli individui che appartengono ad una classe Tre tipi di restrictions: Existential, someValuesFrom Universal, allValuesFrom hasValue = Cardinality ≤ Max cardinality ≥ Min cardinality Restrizioni di quantità Restrizioni “hasValue” Restrizioni di cardinalità

Protégé – RESTRICTIONS TABS

Protégé - Individuals OWL non usa UNA, Racer sì SameAs DifferentFrom AllDifferent

RACER Per ogni ontologia che cade nello scope di OWL DL possiamo usare un DL reasoner per inferire informazioni che non sono esplicitamente rappresentate nell’ ontologia. Racer è un classificatore basato sulla Logica Descrittiva I servizi di ragionamento offerti sono sussunzione equivalenza consistenza istanziazione

Casi di studio Processo di lavoro Traduzione dei diagrammi concettuali in una ontologia creata con Protégé Controllo consistenza tramite Racer Generazione file OWL e file pprj Generazione sintassi astratta con SWOOP

Casi di studio: Compito A del 16/12/04 Schema ER

Casi di studio: Compito A del 16/12/04 Entità Classi Class(a:Persona complete intersectionOf(restriction(a:natoA minCardinality(1)) restriction(a:risiede minCardinality(1))))

Casi di studio:Compito A del 16/12/04 Attributi Datatype Properties DatatypeProperty(a:codiceFiscale Functional domain(a:Persona) range(xsd:string)) DatatypeProperty(a:sesso Functional domain(a:Persona) range(oneOf("femminile"^^<http://www.w3.org/2001/XMLSchema#string> “maschile"^^<http://www.w3.org/2001/XMLSchema#string>))) DatatypeProperty(a:dataN Functional domain(a:Persona) range(xsd:date))

Casi di studio:Compito A del 16/12/04 Relazioni Object Properties Per esprimere il limite superiore della cardinalità inversa_di_effettua effettua Class(a:Prenotazione complete IntersectionOf(restriction(a:inversa_di_effettua minCardinality(1)) unionOf(a:Collettiva a:Singola))) ObjectProperty(a:effettua InverseFunctional inverseOf(a:inversa_di_effettua) domain(a:Persona) range(a:Prenotazione)) ObjectProperty(a:inversa_di_effettua Functional inverseOf(a:effettua) domain(a:Prenotazione) range(a:Persona)) Per esprimere il limite inferiore della cardinalità

Casi di studio:Compito A del 16/12/04 Caso alternativo per esplicitare la cardinalità 1..1 di una relazione DifferentIndividuals(a:Emma a:Gina) ecc.  

Casi di studio: Compito A del 16/12/04 Generalizzazione COMPLETE COMPLETE: Class(a:Prenotazione complete intersectionOf(restriction(a:inversa_di_effettua minCardinality(1)) unionOf(a:Collettiva a:Singola))) DISJOINT: DisjointClasses(a:Collettiva a:Singola).   Class(a:Collettiva partial a:Prenotazione) Class(a:Singola partial

Casi di studio: Compito A del 16/12/04 Generalizzazione - Ereditarietà

Casi di studio: Compito A del 16/12/04 Disjoint tra classi Tutte le classi, tranne le sottoclassi della generalizzazione con la propria superclasse, sono state poste disjoint a due a due. DisjointClasses(a:PostoAssegnato a:Comune) DisjointClasses(a: PostoAssegnato a:Persona) DisjointClasses(a: PostoAssegnato a:Collettiva) DisjointClasses(a:PostoAssegnato a:Teatro) DisjointClasses(a: PostoAssegnato a:Posto) ecc.

Casi di studio: Compito A del 16/12/04 Limiti di Protégé Non si è potuto esprimere gli identificatori interni in quanto OWL DL non permette di definire “InverseFunctional” una datatype property Non si è potuto esprimere identificatori esterni in quanto non esistono variabili in OWL 3. Non si è potuto esprimere il fatto che gli attributi sono funzioni totali, ma sono stati posti functional 4. Non si è potuto esprimere gli attributi delle relazioni: “data” della relazione “effettua” e “da” di “risiede”.

Casi di studio: Compito A del 16/12/04 Il ragionatore - Racer Controllo di consistenza Classificazione dell’ontologia

Casi di studio: Compito A del 19/12/05 Schema ER

Casi di studio: Compito A del 19/12/05 Entità Classi Class(a:SettoreDisciplinare partial)

Casi di studio: Compito A del 19/12/05 Attributi Datatype Properties DatatypeProperty(a:codiceSettoreDisciplinare Functional domain(a:SettoreDisciplinare) range(xsd:string))   DatatypeProperty(a:nomeSettoreDisciplinare Functional

Casi di studio: Compito A del 19/12/05 Relazioni Object Properties Per esprimere il limite superiore della cardinalità inversa_di_del del Class(a:Corso complete restriction(a:inversa_di_del minCardinality(1))) ObjectProperty(a:del InverseFunctional inverseOf(a:inversa_di_del) domain(a:SettoreDisciplinare) range(a:Corso)) ObjectProperty(a:inversa_di_del Functional inverseOf(a:del) domain(a:Corso) range(a:SettoreDisciplinare))   Per esprimere il limite inferiore della cardinalità

Casi di studio: Compito A del 19/12/05 Relazioni Object Properties afferisce Inversa_di_afferisce Class(a:CDA complete intersectionOf( restriction(a:inversa_di_re_cda minCardinality(1)) restriction(a:inversa_di_afferisce minCardinality(1))))

Casi di studio: Compito A del 19/12/05 ISA tra relazioni SubPropertyOf(a:re-cda a:afferisce) SubPropertyOf(a:inversa_di_re-cda a:inversa_di_afferisce)

Casi di studio: Compito A del 19/12/05 ISA tra classi Class(a:Docente complete restriction(a:afferisce minCardinality(1))) Class(a:ReferenteErasmus Complete restriction(a:re_cda partial a:Docente)  

Casi di studio: Compito A del 19/12/05 Disjoint tra classi Tutte le classi, tranne la sottoclasse della generalizzazione con la propria superclasse, sono state poste disjoint a due a due. DisjointClasses(a:CDA a:SettoreDisciplinare) DisjointClasses(a:CDA a:Corso) DisjointClasses(a:CDA a:Domanda) DisjointClasses(a:CDA a:Studente) DisjointClasses(a:CDA a:Docente) ecc.

Casi di studio: Compito A del 19/12/05 Limiti di Protégé Non si è potuto esprimere gli identificatori interni in quanto OWL DL non permette di definire “InverseFunctional” una datatype property Non si è potuto esprimere identificatori esterni in quanto non esistono variabili in OWL Non si è potuto esprimere il fatto che gli attributi sono funzioni totali, ma sono stati posti functional

Casi di studio: Compito A del 19/12/05 Il ragionatore - Racer Controllo di consistenza Classificazione dell’ontologia

Le Queries Non è stato possibile esprimere le queries richieste dai vari compiti per i seguenti motivi: Sulle datatype properties non si possono utilizzare operatori ≥ e ≤, ma solo l’operatore hasValue che permette di esprimere queries su specifici valori di un dato attributo Non si possono estrarre i valori degli attributi di una classe (Es. restituire i codici fiscali di una persona) Non si possono esprimere queries con cicli (Es. restituire tutte le persone che sono nate nello stesso comune in cui risiedono) in quanto non ci sono variabili in OWL, ma si possono esprimere solo queries ad albero.