Az OWL Web Ontológia Nyelv –
Szemantika és absztrakt szintaxis
3. fejezet: Közvetlen modell-elméleti szemantika
- Szerkesztők:
- Peter F.
Patel-Schneider, Bell Labs Research, Lucent Technologies
Ian Horrocks,
Department of Computer Science, University of Manchester
Kérjük, kövesse figyelemmel a dokumentum eredeti angol nyelvű változatára
vonatkozó hibajegyzéket,
mert ez normatív korrekciókat is tartalmazhat.
A dokumentumról további fordítások
is rendelkezésre állnak.
Copyright
© 2004 W3C® (MIT, ERCIM,
Keio), Minden jog fenntartva.
Alkalmazandók a W3C felelősségi,
védjegyoltalmi,
dokumentumhasználati
és szoftverlicenc
előírásai.
3. Közvetlen modell-elméleti szemantika
(Normatív)
Az OWL-nak ez a modell-elméleti szemantikája közvetlenül az OWL DL
absztrakt szintaxisával leírt ontológiákból vezeti le a modell-elméleti
szemantikát. (Megjegyezzük, hogy az OWL DL absztrakt szintaxisa tartalmazza
az OWL Lite absztrakt szintaxisát is). Ez a szemantika egyszerűbb, mint az 5. fejezetben szereplő, amely az RDFS szemantikájának
szókészleti kiterjesztése.
3.1. Szókészletek és interpretációk
A szemantika itt a szókészlet fogalmával kezdődik. Amikor egy OWL
ontológiáról beszélünk, a szókészletnek tartalmaznia kell az adott
ontológiában (és az általa importált ontológiákban) szereplő
összes URI hivatkozást és literált, de tartalmazhat más URI hivatkozásokat és
literálokat is.
Ebben a szekcióban VOP jelöli a beépített OWL ontológia
tulajdonságok URI hivatkozásait.
Definíció: Egy V OWL
szókészlet tartalmazza a literálok VL halmazát, valamint az
URI hivatkozások következő hét halmazát: VC, VD,
VI, VDP, VIP, VAP, and
VO. Bármely szókészletben VC és VD diszjunkt
halmazok, VDP, VIP, VAP, és VOP
pedig páronként diszjunkt halmazok. A szókészlet osztályneveinek
VC halmaza tartalmazza az owl:Thing és
az owl:Nothing osztálynevet. A szókészlet
adattípus-neveinek VD halmaza pedig magában foglalja a beépített OWL adattípusok,
valamint az rdfs:Literal URI hivatkozásait. A
szókészlet annotációtulajdonság-neveinek VAP halmaza az owl:versionInfo, az rdfs:label, az rdfs:comment, az rdfs:seeAlso, és az rdfs:isDefinedBy neveket tartalmazza. A szókészletben
az egyedértékű tulajdonságok neveinek VIP halmaza, az adatértékű
tulajdonságok neveinek VDP halmaza, az egyedek neveinek
VI halmaza, valamint az ontológianevek VO halmaza nem
tartalmaz kötelezően elemeket.
Definíció: Miként az RDF-ben, egy
d adattípust itt is az L(d) lexikális tere
(mely Unicode karakterláncok halmaza), a V(d) értéktere, valamint a lexikális
térről az értéktérre történő L2V(d) (ejtsd: L to V) teljes leképezése
határozza meg.
Definíció: Egy D
adattípus-leképezés egy részleges leképezés URI
hivatkozásokról adattípusokra, mely az xsd:string-et és az
xsd:integer-t a megfelelő XML Séma adattípusra transzformálja.
Egy adattípus-leképezés tartalmazhat
adattípusokat más beépített OWL
adattípusok, sőt idegen adattípusok számára is, de ez utóbbi esetben az
OWL szintaxisa nem tudja megmondani, hogy milyen adattípusok ezek.
Definíció: Legyen D egy adattípus-leképezés. Egy I Absztrakt OWL interpretáció D-re, a VL, VC, VD,
VI, VDP, VIP, VAP, VO
halmazokból álló szókészlettel, a következő formátumú N-est adja: I = <R,
EC, ER, L, S, LV> (ahol P a
hatványhalmaz operator):
- R, az I erőforrásainak halmaza, egy nem üres halmaz
- LV, az I literális értékeinek halmaza, az R
részhalmaza, mely Unicode karakterláncok halmazát, Unicode
karakterláncból és "nyelv" tegből álló párok halmazát, és a D-ben
szereplő minden adattípus értékterét tartalmazza
- EC : VC → P(O)
- EC : VD → P(LV)
- ER : VDP → P(O×LV)
- ER : VIP → P(O×O)
- ER : VAP ∪ { rdf:type } → P(R×R)
- ER : VOP → P(R×R)
- L : TL → LV, ahol TL a VL-ben szereplő
tipizált literálok halmaza
- S : VI ∪ VC ∪
VD ∪ VDP ∪ VIP ∪
VAP ∪ VO ∪ { owl:Ontology,
owl:DeprecatedClass, owl:DeprecatedProperty } → R
- S(VI) ⊆ O
- EC(owl:Thing) = O ⊆ R, ahol
O nem üres halmaz, és diszjunkt LV-től
- EC(owl:Nothing) = { }
- EC(rdfs:Literal) = LV
- Ha D(d') = d akkor EC(d') = V(d)
- Ha D(d') = d akkor L("v"^^d') ∈ V(d)
- Ha D(d') = d és v ∈ L(d) akkor L("v"^^d') = L2V(d)(v)
- Ha D(d') = d és v ∉ L(d) akkor L("v"^^d') ∈ R - LV
Itt EC azokat az URI hivatkozásokat jelenti, amelyeket OWL osztályként
vagy adattípusként használunk, ER pedig azokat, amelyek OWL tulajdonságok
neveiként szerepelnek. (Az rdf:type tulajdonságot az
annotációtulajdonságokhoz soroljuk, hogy az elavultság (deprecation)
jelentését ki tudjuk fejezni, lásd alább). L a tipizált literálok
jelentését reprezentálja. Az S azoknak az URI hivatkozásoknak a jelentését
adja, amelyek egyedeket jelölnek, de segít jelentést adni az annotációknak
is. Jegyezzük meg, hogy nincsenek olyan interpretációk, amelyek kielégítenék
mindazon követelményeket, amelyeket a rosszul formált literálokkal szemben
megfogalmazunk. (A rosszul formált literálok azok, amelyek lexikális
formátuma érvénytelen az adattípusában, mint pl. 1.5^^xsd:integer).
S-t kiterjesztjük a VL-ben lévő típus nélküli literálokra is
(alapvetően) oly módon, hogy "önmagukra" képezzük le őket: az olyan I, típus
nélküli literál esetén, amelyhez nem tartozik "nyelv" teg, S("l") = l; ugyanez "nyelv"
teggel S("l"@t) =
<l,t>. S-t kiterjesztjük a tipizált litrálokra is L segítségével: S(l)
= L(l), ahol I egy tipizált literál.
3.2. Beágyazott konstrukciók
interpretációja
Itt az EC-t kiterjesztjük olyan szintaktikai konstrukciókra, mint
leírások, adatérték-tartományok, egyedek, adatértékek és annotációk, ahogyan
azt az alábbi EC kiterjesztési
tábla mutatja.
EC kiterjesztési tábla
Absztrakt Szintaxis |
Interpretáció (EC értéke) |
complementOf(c) |
O - EC(c) |
unionOf(c1 …
cn) |
EC(c1) ∪ … ∪ EC(cn) |
intersectionOf(c1 …
cn) |
EC(c1) ∩ … ∩ EC(cn) |
oneOf(i1 … in), ahol ij egyedazonosító |
{S(i1), …, S(in)} |
oneOf(v1 … vn), ahol vj egy literál |
{S(v1), …, S(vn)} |
restriction(p x1 …
xn), ahol n > 1 |
EC(restriction(p x1)) ∩…∩EC(restriction(p xn)) |
restriction(p allValuesFrom(r)) |
{x ∈ O | <x,y> ∈ ER(p)
implies y ∈ EC(r)} |
restriction(p someValuesFrom(e)) |
{x ∈ O | ∃ <x,y>
∈ ER(p) ∧ y ∈ EC(e)} |
restriction(p value(i)), ahol i
egy egyedazonosító |
{x ∈ O | <x,S(i)> ∈
ER(p)} |
restriction(p value(v)), ahol v
egy literál |
{x ∈ O | <x,S(v)> ∈
ER(p)} |
restriction(p minCardinality(n)) |
{x ∈ O | card({y ∈ O∪LV : <x,y> ∈ ER(p)}) ≥
n} |
restriction(p maxCardinality(n)) |
{x ∈ O | card({y ∈ O∪LV : <x,y> ∈ ER(p)}) ≤
n} |
restriction(p cardinality(n)) |
{x ∈ O | card({y ∈ O∪LV : <x,y> ∈ ER(p)}) = n} |
Individual(annotation(p1
o1) … annotation(pk ok)
type(c1)
… type(cm) pv1 … pvn) |
EC(annotation(p1
o1)) ∩ … EC(annotation(pk ok)) ∩
EC(c1) ∩ … ∩ EC(cm) ∩
EC(pv1) ∩…∩ EC(pvn) |
Individual(i annotation(p1 o1) … annotation(pk ok)
type(c1)
… type(cm) pv1 … pvn) |
{S(i)} ∩ EC(annotation(p1 o1)) ∩ … EC(annotation(pk ok)) ∩
EC(c1) ∩ … ∩ EC(cm) ∩
EC(pv1) ∩…∩ EC(pvn) |
value(p Individual(…)) |
{x ∈ O | ∃ y∈EC(Individual(…)) : <x,y> ∈ ER(p)} |
value(p id), ahol id egy egyedazonosító |
{x ∈ O | <x,S(id)> ∈
ER(p) } |
value(p v),
ahol v egy literál |
{x ∈ O | <x,S(v)> ∈
ER(p) } |
annotation(p o), ahol o egy URI hivatkozás |
{x ∈ R | <x,S(o)> ∈ ER(p) } |
annotation(p Individual(…)) |
{x ∈ R | ∃ y ∈ EC(Individual(…)) : <x,y> ∈
ER(p) } |
3.3. Axiómák és tények interpretációja
Egy I absztrakt OWL interpretáció oly módon elégíti ki az OWL axiómákat és
tényeket, ahogyan azt az Axiómák és tények
interpretációja feliratú táblázat mutatja. Itt az axiómák és tények
opcionális részeit szögletes zárójelben ([…]) adjuk meg, és ugyanígy
jelezzük az opcionális feltételeket a táblázat jobb oszlopában is.
Axiómák és tények interpretációja
Direktíva |
Az interpretációk feltételei |
Class(c [Deprecated] complete
annotation(p1 o1) … annotation(pk ok)
descr1 …
descrn) |
[ <S(c),S(owl:DeprecatedClass)>
∈ ER(rdf:type) ]
S(c) ∈ EC(annotation(p1
o1)) … S(c) ∈
EC(annotation(pk
ok))
EC(c) = EC(descr1) ∩…∩
EC(descrn) |
Class(c [Deprecated] partial
annotation(p1 o1) … annotation(pk ok)
descr1 …
descrn) |
[ <S(c),S(owl:DeprecatedClass)>
∈ ER(rdf:type) ]
S(c) ∈ EC(annotation(p1
o1)) … S(c) ∈
EC(annotation(pk
ok))
EC(c) ⊆ EC(descr1) ∩…∩
EC(descrn) |
EnumeratedClass(c [Deprecated]
annotation(p1 o1) … annotation(pk ok)
i1 … in) |
[ <S(c),S(owl:DeprecatedClass)>
∈ ER(rdf:type) ]
S(c) ∈ EC(annotation(p1
o1)) … S(c) ∈
EC(annotation(pk
ok))
EC(c) = { S(i1), …, S(in) } |
Datatype(c [Deprecated]
annotation(p1 o1) … annotation(pk ok) ) |
[ <S(c),S(owl:DeprecatedClass)>
∈ ER(rdf:type) ]
S(c) ∈ EC(annotation(p1
o1)) … S(c) ∈
EC(annotation(pk
ok))
EC(c) ⊆ LV |
DisjointClasses(d1 …
dn) |
EC(di) ∩ EC(dj) = { } for 1 ≤ i < j
≤ n |
EquivalentClasses(d1 …
dn) |
EC(di) = EC(dj) for 1 ≤ i < j ≤
n |
SubClassOf(d1 d2) |
EC(d1) ⊆ EC(d2) |
DatatypeProperty(p [Deprecated]
annotation(p1 o1) … annotation(pk ok)
super(s1) … super(sn)
domain(d1) … domain(dn) range(r1) … range(rn)
[Functional]) |
[ <S(c),S(owl:DeprecatedProperty)> ∈ ER(rdf:type) ]
S(p) ∈ EC(annotation(p1
o1)) … S(p) ∈
EC(annotation(pk
ok))
ER(p) ⊆ O×LV ∩ ER(s1) ∩…∩
ER(sn) ∩
EC(d1)×LV
∩…∩ EC(dn)×LV ∩ O×EC(r1) ∩…∩ O×EC(rn)
[ER(p) funkcionális] |
ObjectProperty(p [Deprecated]
annotation(p1 o1) … annotation(pk ok)
super(s1) … super(sn)
domain(d1) … domain(dn) range(r1) … range(rn)
[inverse(i)] [Symmetric]
[Functional] [ InverseFunctional]
[Transitive]) |
[ <S(c),S(owl:DeprecatedProperty)> ∈ ER(rdf:type)]
S(p) ∈ EC(annotation(p1
o1)) … S(p) ∈
EC(annotation(pk
ok))
ER(p) ⊆ O×O ∩ ER(s1) ∩…∩
ER(sn) ∩
EC(d1)×O ∩…∩
EC(dn)×O ∩ O×EC(r1) ∩…∩ O×EC(rn)
[ER(p) ER(i) fordítottja] [ER(p) szimmetrikus]
[ER(p) funkcionális] [ER(p) fordított funkcionális]
[ER(p) tranzitív] |
AnnotationProperty(p annotation(p1 o1) … annotation(pk ok)) |
S(p) ∈ EC(annotation(p1 o1)) … S(p) ∈ EC(annotation(pk ok)) |
OntologyProperty(p annotation(p1 o1) … annotation(pk ok)) |
S(p) ∈ EC(annotation(p1 o1)) … S(p) ∈ EC(annotation(pk ok)) |
EquivalentProperties(p1 …
pn) |
ER(pi) = ER(pj) for 1 ≤ i < j ≤
n |
SubPropertyOf(p1 p2) |
ER(p1) ⊆ ER(p2) |
SameIndividual(i1 …
in) |
S(ij) = S(ik) for 1 ≤ j < k ≤ n |
DifferentIndividuals(i1 …
in) |
S(ij) ≠ S(ik) for 1 ≤ j < k ≤
n |
Individual([i] annotation(p1 o1) … annotation(pk ok)
type(c1)
… type(cm) pv1 … pvn) |
EC(Individual([i] annotation(p1 o1) … annotation(pk ok)
type(c1)
… type(cm) pv1 … pvn)) nem üres |
3.4. Ontológiák interpretációja
Ahogyan az a 2. fejezetből is kiderül, egy OWL ontológiának lehetnek olyan
annotációi, amelyeknek szükségük van saját szemantikai
feltételekre. Eltekintve a lokális jelentésétől, egy owl:imports
annotáció egy másik ontológia tartalmát is beépíti az adott ontológiába. Az
importált ontológia (ha van ilyen) neve az a név, amely az imports
konstrukció argumentumában szerepel. Az importálás szemantikai kezelése
független a Web problematikájától. (Noha az OWL ontológiák nevének egyik
szándékolt alkalmazása az, hogy megadja annak a webhelynek a nevét, ahol az
ontológiát tárolják, ez a funkció mégis kívül esik a név formális szemantikai
kezelésén.)
Definíció: Legyen D egy adattípus-leképezés. Egy I absztrakt
OWL interpretáció D-re, a VL,
VC, VD, VI, VDP, VIP,
VAP, VO halmazokból álló szókészlettel akkor, és csak
akkor elégíti ki egy O OWL ontológia követelményeit, ha
- O-ban szereplő minden URI hivatkozás, amelyet osztály, adattípus,
egyed, adatértékű tulajdonság, egyedértékű tulajdonság,
annotációtulajdonság, valamint ontológia azonosítójaként használunk,
rendre a VC VD, VI, VDP,
VIP, VAP, VO szókészletekhez
tartozik;
- O-ban előforduló minden literál a
VLhalmaz része;
- I kielégíti az O-ban lévő összes direktívát, kivéve az ontológia-annotációkat;
- létezik olyan o ∈ R ahol <o,S(owl:Ontology)> ∈ ER(rdf:type) amelynél minden Annotation(p v)
formátumú ontológia-annotációra igaz, hogy <o,S(v)> ∈ ER(p),
és, ha O neve n, akkor S(n) = o;
- I kielégít minden ontológiát, amelynek neve szerepel az O ontológia owl:imports annotáció-direktívájában.
Definíció: Absztrakt OWL
ontológiák, axiómák és tények valamely
kollekciója akkor, és csak akkor konzisztens egy D adattípus-leképezésre, ha létezik
olyan I interpretáció D-re, amelyben I
kielégít minden ontológiát, axiómát és tényt ebben a
kollekcióban.
Definíció: Absztrakt OWL
ontológiák, axiómák és tények egy O
kollekciójának akkor következménye egy O'
absztrakt OWL ontológia, axióma vagy tény egy D adattípus-leképezésre
vonatkoztatva, ha minden olyan D-interpretáció, amelyik kielégíti az O-ban
szereplő összes ontológiát, axiómát és tényt, egyszersmind O'-t is
kielégíti.