Metodologie per la gestione di
conoscenza ontologica
Prof. M.T. PAZIENZA
a.a. 2008-2009
Sommario
• Introduzione
• Linguaggi per la gestione delle ontologie
(RDF, RDFS, OWL)
Linguaggi di gestione delle ontologie
Linguaggi formali per la definizione di ontologie e basi di
conoscenza, per supportare il ragionamento su di esse ed
interrogarle.
RDF produce specifiche di contenuto grazie alle triple
(soggetto-predicato-oggetto)
RDFS che usa le triple per dichiarare le classi e le relazioni
valide sulla base di conoscenza
OWL (Web Ontology Language) è un linguaggio di markup
per rappresentare esplicitamente ontologie ( semantica
formale di termini e relazioni tra i termini).
Resource Description Framework
(RDF)
Il Resource Description Framework (RDF) è un framework per la
descrizione della conoscenza sul web. Esso è stato specificatamente
creato per la descrizione dei metadati relativi alle risorse. RDF è
sostanzialmente un modello formale di dati dotato di sintassi di
interscambio, un sistema di schemi di tipo ed un linguaggio
d’interrogazione
L’RDF si basa su tre principi chiave:
• Qualunque cosa può essere identificata da un URI (Universal
Resource Identifier)
• The least power: utilizzare il linguaggio meno espressivo per
definire qualunque cosa
• Qualunque cosa può dire qualunque cosa su qualunque cosa
Resource Description Framework
(RDF)
Il Resource Description Framework (RDF) rientra nel contesto delle
specificazioni del World Wide Web (W3C); originariamente
disegnato come metadata data model, è poi diventato un metodo
generale per modellare l’informazione in una molteplicità di
formati sintattici
Una collezione di statements RDF rappresenta intrinsecamente un
labeled directed multigraph. In quanto tale un RDF-based data
model è più idoneo ad esprimere certi tipi di rappresentazione
della conoscenza di quanto non lo siano il modello relazionale ed
altri modelli ontologici.
Resource Description Framework
(RDF)
Qualunque cosa descritta da RDF è detta risorsa.
In genere una risorsa è reperibile sul Web, ma RDF può descrivere anche risorse
che non si trovano direttamente sul Web. Ogni risorsa è identificata da un URI.
Il data model di RDF si basa sull’idea di descrivere le risorse nella forma di uno
statement
soggetto-predicato-oggettto (triple)
dove il soggetto è una risorsa, il predicato è una proprietà e l’oggetto è un valore.
Il soggetto denota la risorsa
Il predicato denota caratteristiche della risorsa ed esprime una relazione tra
soggetto ed oggetto.
RDF è un modello astratto con diversi formati di file; così il modo particolare in cui
una risorsa o tripla è rappresentata varia da formato a formato.
Resource Description Framework
(RDF)
In pratica, però, dati RDF sono collezionati in database
relazionali o in altre rappresentazioni native, le
cosiddette “triple stores”, o con Quad stores se il
contesto (ovvero il grafo di riferimento) è anch’esso
memorizzato con triple RDF.
Nel 1999 è stato pubblicato come raccomandazione
del W3C la prima specifica della sintassi del data
model RDF
RDF: Resource identification
• Il soggetto di uno statement RDF è una risorsa, possibilmente
identificata dal un Uniform Resource Identifier (URI) o meno
(risorsa anonima).
• Il predicato è anch’esso una risorsa che rappresenta una relazione.
• L’oggetto è una risorsa od un valore (Unicode string literal).
In applicazioni del Semantic Web le risorse sono rappresentate da
URI che denotano dati reali accessibili sul Web. Ma RDF non è
limitata alla ddescrizione di di risorse Internet-based.
Perciò è necessario che produttori ed utilizzatori di statement RDF
concordino sulla semantica degli identificatori delle risorse.
RDF: Statement reification and context
La conoscenza modellizzata attraverso una collezione di statement RDF può essere
reificata. In tal caso a ciascuno statement (ovvero a ciascuna tripla subjectpredicate-object) viene assegnato un proprio unico URI e trattato come una
risorsa essa stessa nei cui confronti è possibile fare uno statement addizionale;
esempio "Jane says that John is the author of document X".
In un database di triple RDF reificato, ciascuno statement originario, essendo esso
stesso una risorsa, in genere ha almeno 3 statement addizionali scritti per lui: uno
per asserire che il suo soggetto è una qualche risorsa, uno per asserire che il suo
predicato è una qualche risorsa, ed uno per asserire che il suo oggetto è una
qualche risorsa o literal.
--------Le risorse non corrispondono soltanto a cose che possono essere intuitivamente considerate
come oggetti fisici. Molto spesso vengono utilizzate per rappresentare concetti astratti,
eventi, azioni e così via. Il processo che porta a concettualizzare questi aspetti della realtà
come entità è detto reificazione.
RDF: Statement reification and context
Alcune implementazioni del modello RDF riconoscono che talvolta è utile
raggruppare statements in accordo a criteri di tipo diverso, detti situations,
contexts, or scopes.
Per esempio uno statement può essere associato ad un contesto, identificato da un
URI, in modo da asserire un "is true in" una specifica relazione. Analogamente è
talvolta conveniente raggruppare gli statement in funzione della loro sorgente,
che può essere identificata da un URI, ovvero come l’URI di un particolare
documento RDF/XML. In tal caso, quando si fanno degli aggiornamenti sulle
risorse, corrispondentemente si possono cambiare gli statement relativi nel
modello.
L’implementazione degli scopi non richiede necessariamente la piena reificazione
negli statement. Alcune implementazioni permettono che un singolo
identificatore di scopo sia associato con uno statement a cui non sia stato
assegnato un URI. Analogamente named graphs in cui un set di triple identificato
da un URI può rappresentare un contesto senza la necessità di reificare le triple.
RDF: Query and inference languages
The predominant query language for RDF graphs is
SPARQL, an SQL -like language, and a
recommendation of the W3C as of January 15,
2008 (recursive acronym: SPARQL Protocol and
RDF Query Language. )
SPARQL allows for a query to consist of triple
patterns, conjunctions, disjunctions and optional
patterns.
RDF: Query and inference languages
An example of a SPARQL query to show country capitals in Africa
PREFIX abc: <nul://sparql/exampleOntology#> .
SELECT ?capital ?country
WHERE {
?x abc:cityname ?capital ;
abc:isCapitalOf ?y.
?y abc:countryname ?country ;
abc:isInContinent abc:Africa.
}
Variables are indicated by a "?" or "$" prefix. Bindings for ?capital and the ?country
will be returned.
The SPARQL query processor will search for sets of triples that match these four
triple patterns, binding the variables in the query to the corresponding parts of
each triple. Important to note here is the "property orientation" (class matches can
be conducted solely through class-attributes / properties
RDF Schema (or RDFS)
Il data model RDF permette di definire un modello semplice per
descrivere le relazioni tra le risorse, in termini di proprietà
(identificate da un nome) e relativi valori.
Tuttavia, RDF data model non fornisce nessun meccanismo per
dichiarare queste proprietà, né per definire le relazioni tra queste
proprietà ed altre risorse.
Per poter dichiarare un vocabolario (ontologia) è necessario definire
classi e proprietà in un RDF-schema.
RDF Schema (or RDFS) è un linguaggio per la rappresentazione
della conoscenza che fornisce gli elementi fondamentali per la
descrizione di ontologie (dette vocabolari RDF) che strutturano le
risorse RDF.
Main RDFS constructs
Classes and subclasses
• rdfs:Class allows to declare a resource as a class for other resources.
Typical example of an rdfs:Class is foaf:Person in the FOAF vocabulary. An
instance of foaf:Person is a resource linked to the class using an rdf:type
predicate, such as in the following formal expression of the natural language
sentence : 'John is a Person'.
ex:John rdf:type foaf:Person
The definition of rdfs:Class is recursive: rdfs:Class is the rdfs:Class of any
rdfs:Class.
• rdfs:subClassOf allows to declare hierarchies of classes.
For example, the following declares that 'Every Person is an Agent':
foaf:Person rdfs:subClassOf foaf:Agent
Hierarchies of classes support inheritance of a property domain and range from a
class to its subclasses
Main RDFS constructs
Property domain and range
• rdfs:domain of an rdf:property declares the class of the subject in a triple
using this property as predicate.
• rdfs:range of an rdf:property declares the class or datatype of the object in a
triple using this property as predicate.
For example the following declarations are used to express that the property
ex:employer is linking a subject which is a foaf:Person, to an object which is
a foaf:Organization
ex:employer rdfs:domain foaf:Person
ex:employer rdfs:range foaf:Organization
Given the previous declarations, in the following triple, ex:John is necessarily a
foaf:Person, and ex:CompanyX is necessarily a foaf:Organization
ex:John ex:employer ex:CompanyX
Limiti di RDFS
Poichè RDFS manca di una semantica formale:
• Non si può distingue tra classi ed istanze
• Non si possono determinare l’estensione del dominio ed eventuali
vincoli
• Non si può definire la cardinalità dei vincoli
• Non si può lavorare con proprietà simmetriche, transitive ed inverse
• Difficile il supporto al reasoning
Inoltre RDFS è troppo debole per descrivere in sufficiente dettaglio le
risorse
OWL: Web Ontology Language
Il Web Ontology Language (OWL) è un linguaggio di markup per
rappresentare esplicitamente le ontologie (ovvero il significato
dei termini e relazioni tra i termini).
L'obiettivo è supportare l’elaborazione automatica del contenuto
delle informazioni dei documenti scritti in OWL ed il reasoning
su di essi.
E’ un'estensione RDF.
OWL è un linguaggio di rappresentazione della conoscenza (e non
un semplice linguaggio per definire messaggi come è XML)
OWL: Web Ontology Language
Poichè OWL è dotato di una semantica formale:
• Può specificare come derivare conseguenze
logiche da fatti e relazioni esistenti
• Può essere distributo tra più sistemi
• E’ compatibile con gli standard Web
• E’ estensibile
OWL: Web Ontology Language
XML fornisce una sintassi superficiale per documenti strutturati senza però
imporre alcun vincolo semantico
XML Schema restringe la struttura dei documenti XML mentre estende i datatype
XML
RDF è un datamodel per descrivere risorse e relazioni tra di esse e fornisce una
semantica semplice per questo datamodel che può essere rappresentato nella
sintassi XML
RDF Schema è un vocabolario per descrivere proprietà e classi delle risorse RDF
con una semantica associata alla generalizzazione delle gerarchie di tali classi e
proprietà.
OWL ha mggiori strumenti di RDF ed RDFS per esprimere significato e
semantica (es. disgiunzione, cardinalità, eguaglianza , enumerabilità– classi- )
OWL Ontology
I dati descritti da una ontologia OWL sono interpretati come un set di “individui”
ed asserzioni di proprietà che correlano tra loro gli individui.
Una ontologia OWL consiste di un set di assiomi che pongono vincoli su insiemi
di individui (classi) e sui tipi di relazioni che sono ammesse su di loro.
Gli assiomi supportano la semantica in quanto permettono ai sistemi di effettuare
inferenze sui dati
Esempio: ontologia descrittiva delle famiglie che includa assiomi che affermano
che la proprietà "hasMother" si ha solo tra due individui quando è presente
anche la proprietà "hasParent" ; individui della classe "HasTypeOBlood" non
sono mai in relazione via "hasParent" con membri della classe
"HasTypeABBlood“ . Così se viene affermato che l’istanza Harriet è in
relazione "hasMother" con l’istanza Sue, e che Harriet è membro della classe
"HasTypeOBlood", allora si può inferire che Sue non è membro di
"HasTypeABBlood".
OWL: Web Ontology Language
OWL tries to avoid lack of clear definitions by having an explicit
logical basis for the language, based on Description Logics
(DLs) Description Logics are a family of logics that are decidable
fragments of first-order logic. The semantics for OWL is given
through translation to a particular DL. Therefore OWL is both a
syntax for describing and exchanging ontologies, and has a
formally defined semantics that gives the meaning.
In addition, sound, complete, and terminating reasoners (i.e. systems
which are guaranteed to derive every consequence of the
knowledge in an ontology) exist for many DLs including those
underlying OWL.
OWL: Web Ontology Language
• Sublanguages
The W3C-endorsed OWL specification includes the definition of three
variants of OWL, with different levels of expressiveness:
OWL Lite was originally intended to support those users primarily
needing a classification hierarchy and simple constraints
OWL DL was designed to provide the maximum expressiveness possible
while retaining computational completeness (all conclusions are
guaranteed to be computed), decidability (all computations will finish
in finite time), and the availability of practical reasoning algorithms
OWL Full is based on a different semantics from OWL Lite or OWL
DL, and was designed to preserve some compatibility with RDF
Schema. OWL Full allows an ontology to augment the meaning of the
pre-defined (RDF or OWL) vocabulary.
OWL: Web Ontology Language
Open World Assumption
OWL adotta la Open World Assumption in contrasto con SQL e
Prolog, che adottano la Closed World Assumption.
Nell’ambito della Open World Assumption, se non si può
provare che uno statement sia vero usando la conoscenza
attuale, allora non si può arrivare alla conclusione che lo
statement sia falso.
Riferimenti
• Arash Shaban-Nejad: tutorial on “Ontology: Foundation of Semantic Web”,
2004
• F. Bianchini, A.M. Gliozzo, M. Matteuzzi: “Instrumentum vocale: intelligenza
artificiale e linguaggio”, Bononia University press, 2008
• G. Antoniou, F. van Harmlen: “A Semantic Web Primer”, MIT Press, 2008,
cap.3,4
• http://en.wikipedia.org/wiki/Resource_Description_Framework
• http://it.wikipedia.org/wiki/Resource_Description_Framework
• http://en.wikipedia.org/wiki/RDF_schema
• http://en.wikipedia.org/wiki/SPARQL
• http://www.w3.org/TR/owl-features/
Scarica

ontologie2