Nicola Leone e Francesco Ricca Dipartimento di Matematica Università della Calabria {leone, Nicola Leone e Francesco Ricca Dipartimento.

Slides:



Advertisements
Presentazioni simili
Survey su ADL XML-Based
Advertisements

Introduzione al linguaggio R
Linguaggio R Raffaele Miele Dipartimento di Matematica e Statistica Università degli Studi di Napoli Federico II
Introduzione al linguaggio R
Informatica Recupero debito quarto anno Terzo incontro.
Evoluzione dei linguaggi di programmazione
Academic Programs Emanuele Arpini Academic Programs Manager
Specifiche Algebriche
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il.
Progetto e realizzazione di un wrapper XML Schema per il sistema MOMIS
UNIVERSITA DI MODENA E REGGIO EMILIA Facolta di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Tesi di laurea di Relatore Correlatore.
Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.
Il Sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente d integrazione.
Re-engineering del wrapper XML Schema per il sistema MOMIS
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
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica MOMIS: servizi di wrapping.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e realizzazione.
1 Misura Derivata: esempio dei biglietti CostoMedioBiglietto (CMB) calcolato come INCASSO/NUM_BIG. SUM AVG Implementazione in Analysis Services 1. Si definisce.
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
Semantica delle Informazioni
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.
Semantiche dei linguaggi di programmazione
William Faeti 15 Maggio Corso di Information Literacy - CIL Corso di base per l'acquisizione di competenze informative a cura William Faeti Responsabile.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Basi di Dati II Sara Romano
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
Introduzione al linguaggio R
INTRODUZIONE MOTIVAZIONI, PEREQUISITI, ARGOMENTI.
Modello E-R Generalizzazioni
Modello E-R Generalizzazioni
Economia delle Aziende Pubbliche
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Java concetti A.Natali Marzo Java Dai concetti ai costrutti.
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
AN FI Un denominatoe comune Comandi u notazioni che esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno.
Introduzione alla modellazione di sistemi interattivi
RAPPRESENTAZIONE DELLA CONOSCENZA Prof
Elementi di Informatica
Gianfranco Zampolini Progetto per il corso di: Linguaggi e Modelli Computazionali LS EM Linguaggio per la Descrizione di un Evento Musicale.
Corso di Laurea in Informatica
MODELLO LOGICO DEI DATI
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
DB- Sistemi Informativi
Verifica di conformità di processi di business alle norme
Programmazione ad Oggetti
1 Ontology languages. Strato dei modelli LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre esprimerli in maniera esplicita,
O C L Object Constraint Language
DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino
ODMG. L’ODMG L’Object Data Management Group è un consorzio di produttori di ODBMS che ha proposto uno standard per: il modello a oggetti il linguaggio.
Lezione 1 Panoramica sui paradigmi di programmazione
SQL (IV) Data Definition Language/ Data Manipulation Language.
DIPARTIMENTO DI INFORMATICA Una delle condizioni di cui hanno bisogno i nuovi strumenti per la didattica (slides, esercizi on-line, forum, etc) per essere.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
1 Metodologie di Programmazione §tecniche per la programmazione orientata ad oggetti §esemplificate utilizzando il linguaggio Java §testo di riferimento.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Programmazione per la Musica Programmazione timbrica Presentazione degli insegnamenti di Luca A. Ludovico.
I linguaggi di programmazione -GALBIATI ALBERTO -ESPOSITO MATTIA.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Università degli studi di Cagliari Facoltà di Ingegneria Dipartimento di Ingegneria Elettronica Gruppo di Elettromagnetismo Metodo di Progettazione Automatica.
Transcript della presentazione:

Nicola Leone e Francesco Ricca Dipartimento di Matematica Università della Calabria {leone, Nicola Leone e Francesco Ricca Dipartimento di Matematica Università della Calabria {leone, UNIVERSITÀDELLACALABRIA Dipartimento di MATEMATICA OntoDLV: An Object-Oriented Disjunctive Logic Programming System

Sommario La Programmazione Logia Disgiuntiva Motivazioni Il Linguaggio OntoDLP Il Sistema OntoDLV Conclusioni La Programmazione Logia Disgiuntiva Motivazioni Il Linguaggio OntoDLP Il Sistema OntoDLV Conclusioni

La Programmazione Logica Disgiuntiva (PLD) Semplice e potente formalismo di KR&R Answer Set Programming (ASP) Alto potere espressivo ( ) Solide implementazioni DLV, GnT/Smodels, Cmodels… Utilizzato in diversi domini applicativi: IA (pianificazione, diagnosi, ecc) Information Integration Information Extraction Text Classification … Semplice e potente formalismo di KR&R Answer Set Programming (ASP) Alto potere espressivo ( ) Solide implementazioni DLV, GnT/Smodels, Cmodels… Utilizzato in diversi domini applicativi: IA (pianificazione, diagnosi, ecc) Information Integration Information Extraction Text Classification …

Motivazioni La DLP è uno strumento potente… I sistemi consentono di risolvere problemi complessi Ma: Le recenti applicazioni ne hanno evidenziato alcuni limiti nel linguaggio e nei sistemi La DLP necessita di costrutti di alto livello Classi, oggetti, tassonomie… I sistemi DLP non sono corredati da strumenti di sviluppo (e.s. Ambienti di sviluppo grafici) La DLP è uno strumento potente… I sistemi consentono di risolvere problemi complessi Ma: Le recenti applicazioni ne hanno evidenziato alcuni limiti nel linguaggio e nei sistemi La DLP necessita di costrutti di alto livello Classi, oggetti, tassonomie… I sistemi DLP non sono corredati da strumenti di sviluppo (e.s. Ambienti di sviluppo grafici)

OntoDLP…DLP con: Costrutti orientati agli oggetti Identità degli Oggetti, Classi, Ereditarietà (singola e multipla), Classi e Relazioni Derivate Controlli di consistenza Assiomi, Tipizzazione Forte Programmazione Modulare Moduli di ragionamento Estensioni Sintattiche Termini complessi (anche ricorsivi), notazione non-posizionale, etc. Costrutti orientati agli oggetti Identità degli Oggetti, Classi, Ereditarietà (singola e multipla), Classi e Relazioni Derivate Controlli di consistenza Assiomi, Tipizzazione Forte Programmazione Modulare Moduli di ragionamento Estensioni Sintattiche Termini complessi (anche ricorsivi), notazione non-posizionale, etc.

Esempio (1) Classi: class person(name:string, age:integer, sex:string, partner:person). class student isa {person} (pin:integer, faculty:string). class employee isa {person} (code:integer, sk:skill, sa:integer). class student_employee isa {student, employee). class skill (name:string). class project(numEmp:integer, numSk:integer, budget:integer, maxSal:integer). …. Relazioni: relation inTeam (emp:employee, pr:project). …. Classi: class person(name:string, age:integer, sex:string, partner:person). class student isa {person} (pin:integer, faculty:string). class employee isa {person} (code:integer, sk:skill, sa:integer). class student_employee isa {student, employee). class skill (name:string). class project(numEmp:integer, numSk:integer, budget:integer, maxSal:integer). …. Relazioni: relation inTeam (emp:employee, pr:project). ….

Esempio (2) Istanze & tuple: jack: employee(name:Jack Big",age:20, sex:Male, partner:joe, code:1,sk:cpp,sa:10000). …. cpp:skill(C++ programmer). …. Assiomi: ::- X : employee(code: C ), Y : employee(code: C ), Y <> X. Istanze & tuple: jack: employee(name:Jack Big",age:20, sex:Male, partner:joe, code:1,sk:cpp,sa:10000). …. cpp:skill(C++ programmer). …. Assiomi: ::- X : employee(code: C ), Y : employee(code: C ), Y <> X.

Esempio (3) Classi Derivate: derived class youngAndShy(friendsNumber: integer) { X : youngAndShy(friendsNumber : N ) : X : person(age : Age), Age < 21, #count{F : friend(pers1 : X, pers2 : F )} < 2. } Relazioni Derivate: derived relation ancestor(anc:person, disc:person) { ancestor(anc : A, disc : X ) : X : person(father : A). ancestor(anc : A, disc : X ) : X : person(mother : A). ancestor(anc : A, disc : X ) : X : person(father : Y ), ancestor(anc : A, disc : Y ). ancestor(anc : A, disc : X ) : X : person(mother : Y ), ancestor(anc : A, disc : Y ). } Classi Derivate: derived class youngAndShy(friendsNumber: integer) { X : youngAndShy(friendsNumber : N ) : X : person(age : Age), Age < 21, #count{F : friend(pers1 : X, pers2 : F )} < 2. } Relazioni Derivate: derived relation ancestor(anc:person, disc:person) { ancestor(anc : A, disc : X ) : X : person(father : A). ancestor(anc : A, disc : X ) : X : person(mother : A). ancestor(anc : A, disc : X ) : X : person(father : Y ), ancestor(anc : A, disc : Y ). ancestor(anc : A, disc : X ) : X : person(mother : Y ), ancestor(anc : A, disc : Y ). }

Esempio (4) Moduli di Ragionamento: module(partner_and_skill) { partnerWithDifferentSkill(X,Y) :- X:employee(partner:Y, sk:S), not partner(X,Y,S). partner (X,Y,Y) :- X:employee(partner:Y, sk:S). } Query partnerWithDifferentSkill(X,Y)? X:employee(sk:java,partner:employee(sk:java)) ? X:employee(sk:java,partner:Y), Y:employee(sk:java) ? Moduli di Ragionamento: module(partner_and_skill) { partnerWithDifferentSkill(X,Y) :- X:employee(partner:Y, sk:S), not partner(X,Y,S). partner (X,Y,Y) :- X:employee(partner:Y, sk:S). } Query partnerWithDifferentSkill(X,Y)? X:employee(sk:java,partner:employee(sk:java)) ? X:employee(sk:java,partner:Y), Y:employee(sk:java) ?

Esempio (5) module(team_building) { inTeam(E,P) v outTeam(E,P) :- E:employee(), P:project(). :- P:project(numEmp:N), not #count{ E: inTeam(emp:E)} = N. :- P: project(numSk:S), not #count{ Sk: E:employee(sk:Sk), inTeam(E,P)} >= S. :- P: project(budget:B), not #sum{ Sa,E: E:employee(sal:Sa), inTeam(E,P)} <= B. :- P: project(maxSal:M), not #max{ Sa: E:employee(sal:Sa), inTeam(E,P)} <= M. } > inTeam(ciccio,X)? module(team_building) { inTeam(E,P) v outTeam(E,P) :- E:employee(), P:project(). :- P:project(numEmp:N), not #count{ E: inTeam(emp:E)} = N. :- P: project(numSk:S), not #count{ Sk: E:employee(sk:Sk), inTeam(E,P)} >= S. :- P: project(budget:B), not #sum{ Sa,E: E:employee(sal:Sa), inTeam(E,P)} <= B. :- P: project(maxSal:M), not #max{ Sa: E:employee(sal:Sa), inTeam(E,P)} <= M. } > inTeam(ciccio,X)?

Il sistema OntoDLV Un ambiente di sviluppo grafico Specifica, browsing, ragionamento, interrogazione Integra DLV Interfaccia di interrogazione à la QBE Un ambiente di sviluppo grafico Specifica, browsing, ragionamento, interrogazione Integra DLV Interfaccia di interrogazione à la QBE

Applicazioni Content Categorization OLEX [Curia et al] [Cumbo et al] OntoLog Enterprise Categorizer System, un sistema sviluppato da Exeura s.r.l. per la classificazione semantica di documenti. Information Extraction Hilex [Ruffolo et al] Un nuovo approccio basato su logica per lestrazione semantica di informazione Content Categorization OLEX [Curia et al] [Cumbo et al] OntoLog Enterprise Categorizer System, un sistema sviluppato da Exeura s.r.l. per la classificazione semantica di documenti. Information Extraction Hilex [Ruffolo et al] Un nuovo approccio basato su logica per lestrazione semantica di informazione

Lavori Correlati COMPLEX [Greco et al] Flogic & Flora-2 [Kifer] RDF/RDFS [W3C] OWL [W3C] DL-Programs [Grosof et al] DL-Safe Programs [Motik] … COMPLEX [Greco et al] Flogic & Flora-2 [Kifer] RDF/RDFS [W3C] OWL [W3C] DL-Programs [Grosof et al] DL-Safe Programs [Motik] …

Conclusioni OntoDLP: Estensione della DLP con costrutti Orientati agli oggetti (classi, ereditarietà, assiomi, ecc.) Ragionamento su Ontologie OntoDLV: Implementa il linguaggio OntoDLP Sviluppato utilizzando DLV Dotato di ambiente di sviluppo grafico Interrogazioni à la QBE Utilizzato in applicazioni reali OntoDLP: Estensione della DLP con costrutti Orientati agli oggetti (classi, ereditarietà, assiomi, ecc.) Ragionamento su Ontologie OntoDLV: Implementa il linguaggio OntoDLP Sviluppato utilizzando DLV Dotato di ambiente di sviluppo grafico Interrogazioni à la QBE Utilizzato in applicazioni reali