Sommario
•
Predicati one-of e lls•
Motivazioni•
Verso il semantic webDescrizioni con nomi di individui:
one-ofset o one-of si scrive
{a
1
, . . . , a
n
}
dove
a
1
, . . . , a
n
sono individui{a
1
, . . . , a
n
}
I
=
{a
I
1
, . . . , a
I
n
}
Esempio:
{CHIN A, F RAN CE, RU SSIA, U K, U SA}
.Descrizioni con nomi di individui:
llsR : a,
R
è un ruolo ea
un individuo.(R : a)
I
=
{d ∈ ∆
I
| (d, a
I
)
∈ R
I
}
R : a
è la classe di individui che hannoa
comeR
-llerR : a
e∃R.{a}
sono equivalentiFills consente di esprimere asserzioni sui ruoli:
Idea del semantic web
The World Wide Web, while wildly successful in growth, may
be viewed as being limited by its reliance on languages such
as HTML that are focused on presentation (i.e., text
for-matting) rather than content. Languages such as Xml do
add some support for capturing the meaning of Web content
(instead of simply how to render it in a browser).
[
...]
[
The Semantic Web]
is to be achieved by augmenting the existing layout information with semantic annotations thatadd descriptive terms to Web content, with the meaning of
Idea del semantic web
L'idea di documenti comprensibili dalle macchine non richiede
alcuna magica intelligenza articiale che permetta alle
mac-chine di comprendere le rimuginazioni degli umani. Indica
solamente l'abilità delle macchine di risolvere problemi ben
deniti attuando operazioni ben denite su ben deniti dati
esistenti. Invece di chiedere alle macchine di comprendere il
linguaggio della gente, ciò signica chiedere alla gente di fare
uno sforzo extra
Tim Berners-Lee, What the Semantic Web can represent,
Obiettivi
•
migliorare l'ecienza e la precisione dei motori di ricerca.•
realizzare sistemi di catalogazione dei contenuti e delle relazioni tra le pagine di un particolare sito web.•
favorire la condivisione e lo scambio di informazioni tra agenti software intelligenti.•
aumentare l'accessibilità dell'informazione e l'integrazione di informazioni provenienti da sorgenti diverse.•
riunire in un unico documento logico collezioni di pagine web semanticamente correlate ma distribuite su pi siti.•
semplicare l'automazione di transazioni di tipo commer-ciale, aumentandone la sicurezza.The
AL
family of DL
Construct Name Syntax Semantics
AL
...C
concept negation¬C
∆
I
\ C
I
transitive role
R
∈
R
+
R
I
= (R
I
)
+
Si denisce
S
la famigliaALC
+ transitive roles.Si indica con
(D)
la possibilità di gestire datatypes, cioè al-cuni tipi standard come int, char,string...Esempio:
codicef iscale(GIU SEP P E,
La famiglia
S
: costruttori di concetti
Construct Name Syntax Semantics
N
number restrictions>
n P
6
n P
{x | ]{y.hx, yi ∈ P
I
}
>
n}
{x | ]{y.hx, yi ∈ P
I
}
6
n}
Esempio:Mamma con molti gli:
F emale
u ≥ 3 hasChild
Construct Name Syntax Semantics
Q
qualifying number restrictions>
n P.C
6
n P.C
{x | ]{y.hx, yi ∈ P
I
andy
∈ C
I
}
>
n
}
{x | ]{y.hx, yi ∈ P
I
andy
∈ C
I
}
6
n
}
Esempio:Mamma con almeno due gli ingegneri:
La famiglia
S
: costruttori di concetti
Construct Name Syntax Semantics
O
nominalo
o
I
⊆ ∆
I
with
]{o
I
} = 1
Esempio:Chi lavora di lunedì:
P erson
u ∃ works.M ON DAY
Construct Name Syntax Semantics
F
feature (dis)agreementu
1
= u
.
2
u
1
6= u
˙
2
{x | ∃b ∈ ∆
I
.u
I
1
(x) = b = u
I
2
(x)}
{x | ∃b
1
, b
2
∈ ∆
I
.u
1
I
(x) = b
1
6= b
2
= u
I
2
(x)}
Gli
u
i
sono un sottoinsieme dei ruoli detti funzionali, cioè per cui vale la regola:∀a, b, c . ha, bi ∈ R
I
∧ ha, ci ∈ R
I
→ b = c
Esempio:Gli autoctoni:
P erson
u (bornIn
.
La famiglia
S
: Costruttori di ruolo
Construct Name Syntax Semantics
I
inverse roleR
−
{hx, yi | hy, xi ∈ R
I
}
Esempio: I gli degli ingegneri
∃ hasChild
−
.Engineer
Construct Name Syntax Semantics
H
role hierarchyR
v S
R
I
⊆ S
I
Esempio: Nei gra, dato il concetto
N odo
e i ruoliarco
eraggiungibile
di tipoN odo
× N odo
si haVerso il Semantic Web: RDFS
•
RDFS: Resource Description Framework (w3c)- RDF è una specica in XML per rappresentare
contenu-ti (risorse) sul web con semantica (cioè che portano
signicato)
- RDFS: XML Schema è un vocabolario di termini per
Linguaggi per ontologie: DAML+OIL
OIL realizzò (1999) il primo linguaggio basato su Descrition
Logics per la rappresentazione di contenuti sul web. DAML
nello stesso periodo realizzò un linguaggio per agenti usando
RDFS.
La loro fusione (DAML+OIL) costituisce il primo esempio di
linguaggio per il semantic web. La capacità espressiva
equiv-ale a
SHIQ(D)
.Construct Name Syntax Semantics
H
role hierarchyR
v S
R
I
⊆ S
I
I
inverse roleR
−
{hx, yi | hy, xi ∈ R
I
}
Influenze nel design di OWL
Il progetto w3c OWL (Ontology Web Language) risente
del-l'inuenza di
•
formalismi già consolidati per la rappresentazione della conoscenza (DL)•
precendenti linguaggi per le ontologie (DAML+OIL)•
precenti linguaggi per il web semantico (RDFS)OWL DL
•
Specica W3C per OWLhttp://www.w3.org/TR/owl-guide/
http://www.w3.org/TR/owl-features/
•
Non ha l'Unique Name Assumption.•
Equivalente aSHOIN (
D
)
. Ragionamento nel caso peg-giore in NExpTime.Construct Name Syntax Semantics
H
role hierarchyR
v S
R
I
⊆ S
I
O
nominalo
o
I
⊆ ∆
I
with]
{o
I
} = 1
I
inverse roleR
−
{hx, yi | hy, xi ∈ R
I
}
N
number>
n P
n P
{x | ]{y.hx, yi ∈ P
I
}
>
n}
{x | ]{y.hx, yi ∈ P
I
}
n}
Sintassi OWL DL
Abstract Syntax DL Syntax
Descriptions (
C
)A
A
owl:Thing>
owl:Nothing⊥
intersectionOf(C
1
. . . C
n
)C
1
u . . . u C
n
unionOf(C
1
. . . C
n
)C
1
t . . . t C
n
complementOf(C
)¬C
oneOf(o
1
. . . o
n
){o
1
} t . . . t {o
n
}
restriction(R
someValuesFrom(C
))∃R.C
restriction(R
allValuesFrom(C
))∀R.C
restriction(R
hasValue(o
))R : o
restriction(R
minCardinality(n
))>
n R
restriction(R
minCardinality(n
))6
n R
restriction(
U
someValuesFrom(D
))∃U.D
restriction(U
allValuesFrom(D
))∀U.D
restriction(U
hasValue(v
))U : v
restriction(U
minCardinality(n
))>
n U
restriction(U
maxCardinality(n
))6
n U
Data Ranges (D
)D
D
oneOf(v
1
. . . v
n
){v
1
} t . . . t {v
n
}
Object Properties (R
)R
R
inv(R
)R
−
Datatype Properties (U
)U
U
Individuals (o
)o
o
Data Values (v
)Sintassi OWL DL 2
Abstract Syntax DL Syntax
Class(
A
partialC
1
. . . C
n
)A
v C
1
u . . . u C
n
Class(A
completeC
1
. . . C
n
)A
≡ C
1
u . . . u C
n
EnumeratedClass(A o
1
. . . o
n
)A
≡ {o
1
} t . . . t {o
n
}
SubClassOf(C
1
C
2
)C
1
v C
2
EquivalentClasses(C
1
. . . C
n
)C
1
≡ . . . ≡ C
n
DisjointClasses(C
1
. . . C
n
)C
i
u C
j
⊆ ⊥, i 6= j
Datatype(D
)ObjectProperty(
R
super(R
1
)...super(R
n
)R
v R
i
domain(
C
1
)...domain(C
m
)>
1 R
v C
i
range(C
1
)...range(C
`
)> v ∀R.C
i
[inverseOf(R
0
)]R
≡ R
−
0
[Symmetric]R
≡ R
−
[Functional]> v
6
1 R
[InverseFunctional]> v
6
1 R
−
[Transitive])T r(R)
SubPropertyOf(
R
1
R
2
)R
1
v R
2
EquivalentProperties(
R
1
. . . R
n
)R
1
≡ . . . ≡ R
n
DatatypeProperty(U
super(U
1
)...super(U
n
)U
v U
i
domain(
C
1
)...domain(C
m
)>
1 U
v C
i
range(D
1
)...range(D
`
)> v ∀U.D
i
[Functional])
> v
6
1 U
SubPropertyOf(
U
1
U
2
)U
1
v U
2
EquivalentProperties(
U
1
. . . U
n
)U
1
≡ . . . ≡ U
n
AnnotationProperty(S
)OntologyProperty(
S
)Individual(
o
type(C
1
)...type(C
n
)o
∈ C
i
value(
R
1
o
1
)...value(R
n
o
n
)ho, o
i
i ∈ R
i
value(U
1
v
1
)...value(U
n
v
n
))ho, v
i
i ∈ U
i
SameIndividual(
o
1
. . . o
n
){o
1
} ≡ . . . ≡ {o
n
}
DifferentIndividuals(o
1
. . . o
n
){o
i
} v ¬{o
j
}, i 6= j
Verbosity of OWL
Description Logic syntax:
Student
≡
Personu
>
1
enrolledIn OWL syntax: <owl:Class rdf:ID="Student"> <owl:intersectionOf rdf:parsetype="Collection"> <owl:Class rdfs:about="Person" /> <owl:Restriction> <owl:onProperty rdf:resource="enrolledIn" /> <owl:minCardinality rdfs:datatype="&xsd;Integer"> 1 </owl:minCardinality> </owl:Restriction> </owl:intersectionOf> </owl:Class>OWL Lite
Le principali limitazioni di OWL Lite sono di non permettere:
- Vincoli di cardinalità diversi da 0-1.
- Creazione di concetti enumerati (oneof).
- Specifica di concetti basati sull'esistenza di un
partico-lare slot-filler.
- Creazione di concetti definiti.
OWL Lite appartiene a
SHIF (
D
)
. Ragionamento nel caso peggiore in ExpTimeConstruct Name Syntax Semantics
H
role hierarchyR
v S
R
I
⊆ S
I
I
inverse roleR
−
{hx, yi | hy, xi ∈ R
I
}
OWL Full
•
OWL Full contiene OWL DL ma esce al di fuori degli standard di DL.•
La principale introduzione è la possibilità di trattare un concetto come un individuo di un altro concetto.•
Le interrogazioni su un'ontologia OWL Full sono in gen-erale indecidibili.Ragionatori
DIG Interface: Description Logics Implementers Group
Interfaccia (API) basata su XML per comunicazione tra
ra-gionatore e denizione di basi di conoscenza basata su
De-scription Logics.
Questo permette di strutturare il ragionatore come un server
I piu comuni ragionatori
•
Pellet- basato su java
- open source
- forti problemi di memoria
- http://pellet.owldl.com/
•
Racer- basato su lisp
- commercial (con licenza d'uso per scopi di ricerca)
- ottime prestazioni
•
Kaon2- basato su java
- free for non commercial use
- non supporta datatype
(ruoli basati su tipi standard - int, char ...)
- buon funzionamento
- Supporta OWL DL (parzialmente) e SWRL
- http://kaon2.semanticweb.org
•
Fact++- basato su c++
- free for non commercial use
Note all’utilizzo di Protege
•
Protege è l'editor di ontologie più diuso (usa ver.3.1.1)http://protege.stanford.edu/download/registered.html
•
Controllare che la porta del ragionatore (in Pellet è stam-pata all'avvio) sia la stessa di quella dell'editor OWL(Protegé)
In Protegé si imposta dal menu OWL selezionando p
ref-erences
•
(ver.3.2.1) Percorso per la creazione di una ontologia che utilizza le description logicsNew Project -> OWL/RDF Files -> Next -> Next ->
OWL DL -> Logic View e impostare