Ismeretalapú modellezés XIII. RDF
1
Ismeretalapú modellezés,
Ismeretalapú modellezés
nyílt rendszerek
eddig volt
nyílt rendszerek, internet, közös értelmezés
szükséges ontológiák leíró logikák, mint az internetes ismeretalapú modellezés elméleti alapjai
most jön
az interneten használt nyelvek RDF RDF Schema 2
Ismeretalapú modellezés
RDF adatmodell
egy RDF dokumentum állítások rendezetlen
gyűjteménye, mindegyik állítás egy alany-állítmány-tárgy hármas (bináris reláció) az állításokat egy gráf címkézett éleinek lehet tekinteni az állítások web erőforrások tulajdonságait írják le (erőforrás, tulajdonság, erőforrás | literál) erőforrás bármi lehet, amire lehet hivatkozni URI-val:
web dokumentum, kép, bekezdés, pl. http://www.abcd.xy/index.html mailto:
[email protected] isbn://5031-4444-3333
alany
a tulajdonságok maguk is erőforrások (URI)
állítmány
tárgy
3
Ismeretalapú modellezés
RDF formái (ábra Finin)
gráf
XML kódolás
<….> <….>
gépi feldolgozásra jó
RDF adatmodell
hármasok
emberi megjelenítésre jó
stmt(docInst, rdf_type, Document) stmt(personInst, rdf_type, Person) stmt(inroomInst, rdf_type, InRoom) stmt(personInst, holding, docInst) stmt(inroomInst, person, personInst)
következtetésre jó
az RDF gráf alapú modellezésre alkalmas egyszerű nyelv 4
Ismeretalapú modellezés
RDF építőelemei
erőforrások
amikről beszélni akarunk, URI
tulajdonságok
bináris relációt reprezentáló dolgok
literálok
karakterlánc, egész, xmldatatypes
állítások, vagyis hármasok
alany,állítmány,tárgy / alany,tulajdonság,érték
hármasok gyűjteménye által definiált gráf
5
Ismeretalapú
URI
modellezés
URI = Uniform Resource Identifier URI a természetes nyelvtől eltérően egyértelmű
a web egy globális névteret biztosít feltételezhetjük, hogy azonos URI azonos dolgot azonosít
URI azonosíthat web erőforrást
http://people.inf.elte.hu/hz/hz.jpg egy file RDF segítségével állításokat tehetünk, ez a kép egy embert ábrázol, akinek a neve
URI néha valós világ fogalmait azonosítja
http://www.inf.elte.hu/ ELTE IK, konvención alapul
az igazán jó URI nem változik
6
Ismeretalapú modellezés
RDF példa
dc:Title
http://umbc.edu/ ~finin/talks/idm02/
“Intelligent Information Systems on the Web”
dc:Creator
- köztes csomópontnak nincs URI-ja - információ strukturáltságát növeli - komplex literál szétbontható
bib:Aff http://umbc.edu/
bib:name “Tim Finin”
ábra Finin
bib:email “
[email protected]” 7
Ismeretalapú modellezés
RDF gráf
a gráf csak bináris relációkat enged meg magasabb számosságú relációt „reifikálni” kell az adja(János,Mária,Könyv12) relációt egy közös
objektum bevezetésével kell reprezentálni: adásEset12 adója(adásEset12,János) kapója(adásEset12,Mária) ajándéka(adásEset12,Könyv12) az RDF használatában ez a tervezés része ez az ára annak, hogy csak egyszerű bináris reláció a megengedett 8
Ismeretalapú
RDF XML kódolása
(példa Finin)
Intelligent Information Systems on the Web Tim Finin [email protected]
modellezés
9
Ismeretalapú
RDF XML kódolása
(példa Finin)
modellezés
Intelligent Information Systems on the Web Tim Finin [email protected] a dokumentum egyetlen RDF elem, aminek több van névteret specifikáló attribútuma • rdf szótár (nincs neve, alapértelmezett) core szótár •• dublin bib szótár • XML séma
10
Ismeretalapú
RDF XML kódolása
(példa Finin)
modellezés
Intelligent Information Systems on the Web Tim Finin • a Description itt bevezet egy „megnevezett alanyt”, [email protected] amiről állításokat akar tenni • a megnevezés/> URI-val történik értékeit adják meg
11
Ismeretalapú modellezés
Description
három lehetőség:
about attribútum: meglévő erőforrásra hivatkozik
id attribute: új erőforrást hoz létre dokumentumon belülről lehet rá hivatkozni név nélkül: anonim erőforrás nem lehet rá máshonnan hivatkozni
12
Ismeretalapú
RDF XML kódolása
(példa Finin)
modellezés
Intelligent Information Systems on the Web
Tim Finin • dc:title a tulajdonság (vagy állítmány) [email protected] • értéke a string/> literál “Intelligent Information • alapértékként string adattípust tételez fel • <ex:age rdf:datatype="&xsd;integer> 22
13
Ismeretalapú
RDF XML kódolása
(példa Finin)
modellezés
• adott esetben egy olyan dologról van szó, aminek a tulajdonságai name=“Tim Finin” ? Intelligent Information Systems on the Web Tim Finin [email protected]
14
Ismeretalapú
RDF XML kódolása
(példa Finin)
modellezés
<description about="http://umbc.edu/~finin/talks/idm02/"> • bib:aff tulajdonság értéke egy erőforrás, nem string literál Intelligent Information Systems on the Web • minden erőforrásnak van URI-je, minden URI egy erőforrásra hivatkozik <description > Tim Finin [email protected]
15
Ismeretalapú
N-Triples reprezentáció
(példa Finin)
modellezés
RDF állításokat hármasokként is reprezentálni lehet
<állítmány> .
jól illeszkedik adatbázisban való tároláshoz "Intelligent Information Systems on the Web" . _:j10949 "Tim Finin" . _:j10949 "[email protected]" . _:j10949 . _:j10949 . _:j10949 . . 16 anoním csomópont _:j10949
Ismeretalapú
N3 reprezentáció
modellezés
(példa Finin)
@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# . @prefix dc: http://purl.org/dc/elements/1.1/ . @prefix bib: http://daml.umbc.edu/ontologies/bib/ . < http://umbc.edu/~finin/talks/idm02/ > dc:title "Intelligent Information Systems on the Web" ; dc:creator anonim csomópont jele [ ? ] [ bib:Name "Tim Finin“ ; bib:Email [email protected] ; erőforrás bib:Aff: "http://umbc.edu/" ] . tulajdonság érték ; 1
tulajdonság érték ; ? tulajdonság érték . 2
n
17
Egyedinév,
Ismeretalapú modellezés
rdf:resource
RDF-ben nincs egyedinév feltételezés azonos nevek használata nem jelenti, hogy ugyanarról
van szó két erőforrás azonosságát az rdf:resource attribútummal lehet kijelölni
Ismeretalapú modellezés Varga László
18
Ismeretalapú modellezés
RDF konténerek
erőforrások vagy attribútumok egy csoportjáról
kell megállapításokat tenni a csoportról és nem a csoport elemeiről pl. egy adott tanszék tárgyai rdf:Bag sorrend nem számít, egy elem többször is előfordulhat rdf:Seq sorrend számít, egy elem többször is előfordulhat rdf:Alt az elemek lehetséges alternatívákat jelölnek 19
Ismeretalapú modellezés
RDF konténer példa
20
Ismeretalapú modellezés
RDF konténerek
RDF nyílt világ szemantikájú, így
nincs lehetőség arra, hogy „lezárjuk” a konténert:
„ez az összes elem, nincs több” RDF egy elosztott gráf, nem zárhatjuk ki a lehetőségét, hogy valahol van egy további elemeket tartalmazó másik gráf részlet
a csak a felsorolt elemeket tartalmazó zárt
gyűjteményt listaként lehet definiálni: rdf:List, rdf:first, rdf:rest, rdf:nil
21
RDF Listák
Ismeretalapú modellezés
IPM-08EsztIME tárgyat kizárólag az 123456 és 987654
oktatók tartják
22
RDF értékelése:
Ismeretalapú modellezés
tulajdonságok
a tulajdonságok speciális erőforrások a tulajdonságok tárgy helyén is lehetnek egy alany-állítmány-tárgy hármas állításban definíciójuk az erőforrásoktól független ez flexibilitást biztosít de szokatlan a modellező nyelvekben és
az objektum orientált programozásban zavaró lehet a modellezők számára
23
RDF értékelése:
Ismeretalapú modellezés
bináris relációk
RDF csak bináris relációkat használ ez egy megkötés, mert gyakran több
argumentumra lenne szükség de szimulálni lehet több állítással úgy, hogy egy új kiegészítő erőforrást vezetünk be
reifikáció
hatékony eszköz, de az egyszerű RDF-ben túl
összetett dolog például állításokról állításokat megfogalmazni
24
Ismeretalapú modellezés
RDF séma
RDF nagyon egyszerű adatmodellt használ, nem
alkalmas következtetésekre
pl. Anna barátja Béla. Anna ismerőse Béla?
RDF Schema (RDFS) kibővíti az adatmodellt a
következők leírásával és szemantikájával:
osztályok és hierarchiájuk tulajdonságok hierarchiája tulajdonságok típusossága
egyszerű ontológiák leírásának támogatása objektum orientált jelleg, de logikai megközelítéssel és
nyílt világ szemantikával
25
Ismeretalapú modellezés
RDF séma - bővítményei
osztályok
rdfs:Class rdfs:subClassOf tulajdonságok rdfs:domain rdfs:range rdfs:subPropertyOf speciális osztályok rdfs:Resource rdfs:Literal rdfs:Datatype
gyűjtemények – rdfs:member – rdfs:Container – rdfs:ContainerMembershipProperty speciális tulajdonságok – rdfs:comment – rdfs:seeAlso – rdfs:isDefinedBy – rdfs:label
26
Megengedhető állítások,
Ismeretalapú modellezés
osztályok
osztályokat célszerű bevezetni
megköti, hogy miről van értelme valamit állítani
osztályokat egyoperandusú predikátumokkal
szokás leírni, de leírható kétoperandusúval is human(john) --> type(john,human)
az osztály példányait az osztályhoz az rdf:type
kapcsolja osztályok hierarchiába szervezhetők
subclass(p,q) p(x) => q(x) egy osztály több osztálynak is lehet alosztálya
27
Megengedhető állítások,
Ismeretalapú modellezés
alany és tárgy korlátozások
Ismeretalapú modellezés előadója Algebra az állítás tárgya csak oktató lehet range restriction
0-803 terem előadója Példa Péter az állítás alanya csak tantárgy lehet domain restriction
a tulajdonságkorlátozások a tulajdonság
alanyához és tárgyához osztályokat rendelnek 28
Ismeretalapú modellezés
Tulajdonság hierarchia
tulajdonságok között hierarchia pl. “előadója” szűkebb tulajdonság, mint az
“oktatója” ha a T tárgy előadója E, akkor T tantárgy oktatója is E subproperty(p, q) p(subj, obj) q(sub,obj) fordítva nem feltétlen igaz, mert például a gyakorlatvezető is oktatója
∧
=>
29
Ismeretalapú modellezés
RDF Schema
a fenti modellezési elemeket az RDF Schema (RDFS)
nyelv írja le a leíráshoz RDF nyelvet használják és ehhez RDF primitíveket vezetnek be annak leírásához, hogy az „előadó” az „oktatói személyzet” alosztálya
definiálják az előadó, oktatóiSzemélyzet és a subClassOf erőforrásokat definiálják a subClassOf tulajdonságot leírják a (subClassOf,előadó,oktatóiSzemélyzet) hármas állítást
RDFS az RDF XML alapú szintakszisát használja 30
Ismeretalapú
Alap osztályok
modellezés
rdfs:Resource: az összes erőforrás osztálya rdfs:Class: az összes osztály osztálya rdfs:Literal: az összes literál osztálya rdf:Property: az összes tulajdonság osztálya rdf:Statement: az összes reifikált állítás
osztálya
31
Ismeretalapú modellezés
Alap tulajdonságok
rdf:type: egy erőforrást az osztályával hozza relációba
az erőforrás annak az osztálynak egy példánya lesz
rdfs:subClassOf: egy osztályt az egyik szülőosztályával
hozza relációba
egy osztály minden példánya egyben a szülőosztálynak is példánya
rdfs:subPropertyOf: egy tulajdonságot az egyik
szülőtulajdonságával hozza relációba rdfs:domain: egy P tulajdonság alanyát adja meg
azon erőforrások osztálya, amelyek a P-t tartalmazó állításokban alany lehet ha nincs megadva, akkor bármilyen erőforrás lehet alany
rdfs:range: egy P tulajdonság tárgyát adja meg
azon erőforrások osztálya, amelyek egy P-t tartalmazó állításban tárgy lehet
32
Ismeretalapú modellezés
Alap elemek összefüggései
és rdfs:subPropertyOf definíció szerint tranzitívek rdfs:Class alosztálya rdfs:Resource-nak
rdfs:subClassOf
mert minden osztály erőforrás
rdfs:Resource
egy példánya rdfs:Class-nak
rdfs:Resource minden erőforrás osztálya, tehát egy
osztály
minden osztály példánya rdfs:Class-nak 33
Ismeretalapú
S
modellezés
egéd tulajdonságok
rdfs:seeAlso az egyik erőforrást relációba
hozza egy másik erőforrással, ami a magyarázatot adja rdfs:isDefinedBy: az rdfs:seeAlso tulajdonság leszármazottja, azzal az erőforrással hozza relációba, amelyikben a definíciója van, tipikusan RDF schema rfds:comment megjegyzést lehet elhelyezni rdfs:label emberi értelmezésre szánt elnevezést lehet hozzátenni
34
Példa
Ismeretalapú
(Finin)
modellezés
Az összes alkalmazott osztálya Az oktatói állományban levő alkalmazottak Az előadók osztálya. Minden előadó oktatói állományban van. A kurzusok osztálya
35
Példa
Ismeretalapú
(Finin)
modellezés
Kurzusokhoz előadókat rendel. Előadókhoz kurzusokat rendel.
36
Példa
Ismeretalapú
(Finin)
modellezés
37
RDFS néhány jellemzője
Ismeretalapú modellezés
objektum orientált modellben az objektum
osztályban definiálják az osztály tulajdonságait új tulajdonság hozzáadása módosítja az osztályt
RDFS-ben a tulajdonságokat globálisan
definiálják és nincsenek attribútumként bezárva az osztálydefinícióba új tulajdonságokat lehet definiálni az osztály
megváltoztatása nélkül tulajdonságoknak is lehet tulajdonságuk nem lehet az alosztályban szűkíteni a tulajdonságok alanyát és tárgyát
38
RDFS néhány jellemzője
Ismeretalapú modellezés
nincs tagadás van nyílt világ szemantika ezért néhány ellentmondást nem lehet
detektálni
nem lehet azt állítani, hogy Apa és Anya diszjunkt
osztályok a nyílt világ szemantika miatt az ilyen példányok hiánya nem jelenti azt, hogy ilyen nem lehet
39
RDFS néhány jellemzője
Ismeretalapú modellezés
objektum orientált modellben és számos
ismeretalapú modellben valami vagy osztály vagy példány, de nem mindkettő RDFS-ben mindkettő lehet bio:Faj rdf:type rdfs:Class. bio:Kutya rdf:type rdfs:Faj; rdfs:subClassOf bio:Állat. :bundi rdf:type bio:Kutya.
mindezek a jellemzők szabadságot adnak például nem kell egy osztályt előre teljesen
specifikálni, bármikor bővíthető
de problémákat is jelentenek
40
RDFS problémák
Ismeretalapú modellezés
RDFS kifejezőképességének gyengeségeire példák:
az alany és tárgy korlátozásokat nem lehet
lokalizálni
nem mondhatjuk, hogy a „gyereke” tulajdonság tárgya ember, ha emberekre alkalmazzuk és kutya, ha kutyákra alkalmazzuk
nincs létezés és számosság korlátozás
nem mondhatjuk, hogy minden embernek van anyja, vagy hogy minden embernek pontosan két szülője van
nincsenek tranzitív, inverz vagy szimmetrikus
tulajdonságok
nem mondhatjuk, hogy a „része” tulajdonság tranzitív 41
RDF(S) szemantika
Ismeretalapú modellezés
RDF adatmodell egyszerű de nagy szabadságot enged meg szemantika megadása kétféle lehet RDF Model Theory (MT) axiomatikus
megfeleltetés egy másik olyan reprezentációnak,
aminek van szemantikus modellje, például elsőrendű logika
42
Szemantika modell elmélettel
Ismeretalapú modellezés
ismeretalapú modellezés a világ (egy részét)
kívánja modellezni a nyelvi kifejezések a világ elemeinek felelnek meg a modellelmélet interpretációval kacsolja a szintaxist az elemekhez több interpretáció (modell) lehetséges a modell elemei a világ elemeinek felelnek meg formális kapcsolat a szintaxis és a modell között következtetést modell elmélettel lehet definiálni
43
Leíró logikák szemantikája (ism.)
Ismeretalapú modellezés
a szemantikát az elsőrendű logika adja (ábra Horrocks) interpretációs függvény I egyedek
i ∈∆ I
interpretációs tárgykör ∆
I
I
János Mária fogalmak
C ⊆∆ I
I
Jogász Orvos Jármű szerepek
r ⊆∆ ×∆ I
I
I
gyereke birtokol (Jogász ⊓ Orvos)
44
RDF szemantikája modell elmélettel
Ismeretalapú modellezés
(http://www.w3.org/TR/rdf-mt/)
egy V szókészlet I interpretációja: IR: erőforrások nem üres halmaza (∆ megfelelője) IS: V leképzése IR-re (interpretációs fv.) IP: az IR egy kitüntetett részhalmaza (a
tulajdonságok)
egy v ∈ V szóelem tulajdonság ↔ IS(v) ∈ IP
IEXT: IP leképzése IR×IR hatványhalmazára
vagyis a tulajdonság elemek leképzése az IR×IR részhalmazaira
LV: az IR egy kitüntetett részhalmaza (literál értékek) IL: a literál értékek leképzése LV-re
45
RDF szemantikája modell elmélettel
Ismeretalapú modellezés
(http://www.w3.org/TR/rdf-mt/)
46
RDF szemantikája modell elmélettel
Ismeretalapú modellezés
(http://www.w3.org/TR/rdf-mt/)
RDF Vocabulary (rdfV)
rdf:type rdf:Property rdf:XMLLiteral rdf:nil rdf:List
rdf:Statement rdf:subject rdf:predicate rdf:object rdf:first rdf:rest rdf:Seq rdf:Bag rdf:Alt rdf:_1 rdf:_2 ... rdf:value
egy V szókészlet RDF interpretációja a V ∪ rdfV
szókészlet interpretációja kiegészítve RDF szemantikai feltételekkel és RDF axiomatikus hármasokkal
47
RDF szemantikája modell elmélettel
Ismeretalapú modellezés
(http://www.w3.org/TR/rdf-mt/)
RDF szemantikai feltételek x ∈ IP ⇔ <x, IS(rdf:Property)> ∈ IEXT(I(rdf:type)) Y stb.
RDF axiomatikus hármasok
rdf:type rdf:type rdf:Property . rdf:subject rdf:type rdf:Property . rdf:predicate rdf:type rdf:Property . ... rdf:nil rdf:type rdf:List . 48
RDF szemantikája modell elmélettel
Ismeretalapú modellezés
(http://www.w3.org/TR/rdf-mt/)
és még további részletek ?
49
RDFS szemantikája modell elmélettel
Ismeretalapú modellezés
osztály interpretáció x ∈ ICEXT(y) ⇔ <x,y> ∈ IEXT(IS(rdf:type)) RDFS további szemantikai feltételeket és
axiomatikus hármasokat ad hozzá RDFS szemantikai feltétel például <x,y> ∈ IEXT(IS(rdfs:domain)) ∧ ∈ IEXT(x) ⇒ u ∈ ICEXT(y) RDF axiomatikus hármasok például rdf:type rdfs:domain rdfs:Resource . rdfs:domain rdfs:domain rdf:Property .
50
RDF(S) értékelése
Ismeretalapú modellezés
a gráf megközelítés egyszerű de vannakalapelvek
hátrányai
- URI-k azonosítanak például hatókör (scope) kijelölése nehézkes - HTTP URI embereknek vannak hátrányai, de a gyakorlatban - hasznos információ szabvánnyá vált - kapcsolat elég kifejezőképességű az alapokhoz más URI-hoz
erőforrások azonosítására és összekapcsolására
megfelel (LOD)
nem standard szemantika, ezért nehéz
következtetőt készíteni hozzá
51