DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino
In sintesi, un’ontologia descrive formalmente il dominio di un discorso e consiste in: una lista finita di termini che denotano concetti (ossia classi di oggetti) del dominio relazioni: gerarchie di classi, proprietà, restrizioni di valori, relazioni logiche e di disgiunzione IN SINTESI…
LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre definirli in maniera esplicita, mediante un opportuno linguaggio Per esprimere in maniera formale le ontologie sono stati proposti diversi linguaggi, ciascuno con diverse capacità espressive RDFS OIL DAML Lo standard W3C è attualmente OWL (Ontology Web Language)
Linguaggio standard per le ontologie che fornisce, a partire dagli Schemi RDF, un approccio multilivello, basato su una gerarchia stratificata Vantaggi possibilità di supportare la definizione di ontologie, il loro cambiamento, la loro verifica e integrazione per mezzo del sistema FaCT che esamina la consistenza di tutte le definizioni ontologiche per scoprire i legami fra le sottoclassi Svantaggi prevede un numero limitato e immutabile di proprietà senza la possibilità di avere definizioni di relazioni composte che rimangono slegate e indipendenti non supporta domini concreti come interi e stringhe, e questo costituisce un grande limite per la rappresentazione della conoscenza ontologica OIL (Ontology Inference Layer)
Linguaggio di markup ontologico promosso negli Stati Uniti dall’agenzia Darpa Combina caratteristiche di altri linguaggi basati sul Semantic Web E’costruito su RDF e lo integra con elementi di logica descrittiva Offre un mezzo per l’espressione e interpretazione della classificazione, delle asserzioni e delle proprietà dei metadati rappresentati da RDF e RDFS DAML (Darpa Agent Markup Language
OWL (Ontology Web Language) OWL (Ontology Web Language) consente di: specificare meglio le relazioni tra le classi – disgiunzione (maschi/femmine) –equivalenza –combinazioni booleane complementarietà unione intersezione definire le restrizioni sulle proprietà –di valore –di cardinalità
ORIGINI DI OWL OWL DAML DAML + OIL OIL RDF Tutti influenzati da RDF
Vi sono tre versioni di OWL: OWL Full: completamente compatibile con RDF; molto potente ed espressivo OWL DL: meno efficiente per il ragionamento e meno compatibile con RDF OWL Lite: restrizioni su OWL DL, semplice da implementare, poco espressivo. Buono per semplici classificazioni tassonomiche con poche restrizioni sulle classi OWL: SINTASSI La scelta della versione di OWL da usare dipende dal dominio che si deve descrivere e dall’obiettivo che con la descrizione di tale dominio si vuole perseguire
OWL: SINTASSI definire una classe dire che questa classe è disgiunta da un’altra dire che questa classe è equivalente ad un’altra
OWL: SINTASSI Proprietà –Object property: collega un oggetto con un altro oggetto (“sotto- proprietà”) –Data type property: collega un oggetto con un valore
Proprietà inversa <owl:inverseOf rdf:resource=“isTaughtBy” Restrizioni di proprietà - specifica il valore che l’elemento di “onProperty” deve avere - possibili valori della proprietà devono provenire da questa classe OWL: SINTASSI
Operatori booleani Complemetarietà Unione tra classi Intersezione Enumerazione OWL: SINTASSI
Africa world life AnimalPlant Herbivore Carnivore Tree Giraff Leon Pioppo ESEMPIO Dominio: africa world life
<rdf:RDF xmlns:rdf=" xmlns:owl=" #">... classe degli animali classe delle piante, disgiunta da animali classe delle alberi, sottoclasse d alberi ESEMPIO
i pioppi sono parte della classe alberi
erbivori sono animali che mangiano solo piante
Ontologie:open issues Knowledge acquisition Knowledge acquisition is a bottleneck Sharing and reuse alleviate the problem But we need automated knowledge acquisition techniques Linguistic techniques: ontology acquisition from text Machine-learning: generate ontologies from structured documents (e.g., XML documents) Exploiting the Web structure: generate ontologies by crawling structured Web sites
Ontologie:open issues Analysis Analysis: semantic consistency Violation of property constraints Cycles in the class hierarchy Terms which are used but not defined Analysis: style Classes with a single subclass Classes and slots with no definitions Slots with no constraints (value type, cardinality) Tools for automated analysis Chimaera (Stanford KSL) DAML validator
Ontologie:open issues Evaluation One of the hardest problems in ontology design Ontology design is subjective What does it mean for an ontology to be correct (objectively)? The best test is the application for which the ontology was designed
Ontologie:open issues Ontology maintenance Ontology merging Having two or more overlapping ontology, create a new one Ontology mapping Create a mapping between ontologies Versioning and evolution Compatibility between different versions of the same ontology Compatibility between versions of an ontology and instance data
Ontologie:open issues Ontology languages What is the “right” level of expressiveness? What is the “right” semantics? When does the language make “too many” assumptions?
Ontologie: open issues Quale tool? Quello che piu’ mi piace? Quello che conosco meglio? Quello che traduce l’ontologia in uno specifico formalismo? Quello che meglio si adatta alle mie necessità?
Tipi di tool Ontology development tools –Editors and browsers –Graphical editors –Translators –Ontology library management –Ontology documentation –Ontology population –Evaluation –Evolution Merge and alignement tools Ontology-based annotation tools Querying tools and inference engines Ontology learning tools Ontologie: open issues
OilEd from University of Manchester Ontolingua from KSL (Stanford University) OntoSaurus from ISI (USA) OntoEdit from Karlsrhue Univ. Protégé 2000 from SMI (Stanford University) / WebOnto from KMI (Open University) WebODE from UPM KAON from AIFB and FZI at the University of Karlsruhe Tool
Protégé2000 –Technology: Java standalone application; plug-in architecture –Knowledge model features: OKBC compliant: classes and slots. Also metaclasses Axioms in KIF and PAL Knowledge acquisition forms automatically generated for capturing instances –Merge tools: protégéPrompt –Imports: RDF, OIL, XML –Exports: RDF, OIL, XML WebODE –Technology: Java workbench. –Knowledge model features: Support to Methontology; OCML; axioms in Prolog –Imports: RDF(S), OIL, DAML+OIL, F-logic, Prolog –Exports: RDF(S), DAML+OIL, OWL, F-logic, Prolog Protege e WebODE
Sitografia per l’esame