Upload
bisa
View
26
Download
1
Embed Size (px)
DESCRIPTION
7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása. Dr. Bilicki Vilmos Szegedi Tudományegyetem Informatikai Tanszékcsoport Szoftverfejlesztés Tanszék. Tartalom. RUP – absztrakciós szintek Adatábrázolás Relációs OO Szemantikus Web. RUP – absztrakciós szintek. RUP. - PowerPoint PPT Presentation
Citation preview
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása
Dr. Bilicki VilmosSzegedi TudományegyetemInformatikai TanszékcsoportSzoftverfejlesztés Tanszék
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
TartalomRUP – absztrakciós szintekAdatábrázolás
■ Relációs■ OO■ Szemantikus Web
23.04.24. 2Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RUP – absztrakciós szintekRUP
23.04.24. 3Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Nyelvek fejlődése
23.04.24. 4Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Programozási nyelvek - adatkezelésLogikai adatmodellFizikai adatmodellRelációsOOSzemantikus Web
23.04.24. 5Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
A Web fejlődése1. Web 1.02. Web 2.03. Web 3.0
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Web 1.0 Az 1.0-ás web sikerénke hátterében az alábbi három
technológia állt:1. Egyszerű és egységes címzési séma az infomráció darabkák
címzésére: Uniform Resource Identifiers (URIs)2. Egyszerű és egységes reprezentációs formalizmus az
információ darabkák struktúrálására annak érdekében, hogy a böngészők meg tudják jeleníteni Hyper Text Markup Language (HTML)
3. Egyszerű és egységes protokoll az információ darabkák elérésére Hyper Text Transfer Protocol (HTTP)
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Web 2.0 fontosabb eredményei Négy fontosabb terület:
1. A tartalom fogyasztók és a tartalom gyártók közötti megkülönböztetés elmosása
2. Az egyedek számára készített médiától elmozdult a közösségek számára készített média felé
3. A szolgáltatás gyártók és a szolgáltatás fogyasztók közötti különbség elmosása
4. A humán és a gépi számítástechnika újszerű integrálása
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
1. A tartalom fogyasztók és a tartalom gyártók közötti megkülönböztetés elmosása
Wiki, Blog-ok, és a Twiter a szöveges publikálást tömeges jelenséggé tették a flickr és a youtube hasonló eredményt ért el a multimédia területén
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
A szociális web oldalak: del.icio.us, facebook, FOAF, linkedin, myspace és Xing lehetővé teszik a közösségeknek, hogy gördülékenyen információt cseréljenek és együttműködjenek
2. Az egyedek számára készített médiától elmozdult a közösségek számára készített média felé
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
3. A szolgáltatás gyártók és a szolgáltatás fogyasztók közötti különbség elmosása
Mashups-ok segítségével a felhasználók mások által készített szolgáltatásokat integrálhatnak weboldalaikba
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
4. A humán és a gépi számítástechnika újszerű integrálása
Amazon Mechanikus Török (Mechanical Turk) - lehetővé teszi humán szolgáltatások igénybevételét webszolgáltatás interfészen keresztül programok számárára elmosva ezzel a humán és a gépi szolgáltatás határát
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
A mai Web technológia az alábbi területeken gyengén teljesít:1. Megfelelő információ fellelése2. Megfelelő információ kinyerése3. Az infomráció összefűzése és újrafelhasználása
A mostani Web korlátai
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
A mai webes keresés kulcs alapú keresésen alapul Korlátozott pontosság:
■ Szinonímák: – Autókra keresve nem kapjuk meg a gépjárművekkel kapcsolatos
oldalakat is
■ Homonímák:– Jaguárra keresve megkapjuk az autót és a vadon éllő állatot is. Egyikre
lettünk volna kíváncsiak
A megfelelő információ fellelése
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
A weboldalból történő információ kinyerésre nincs általánosan használható megoldás
Sok különböző formátum, nyelv, kódolás, ….
Megfelelő információk kinyerése
Melyik könyv szól a webről?
Mennyibe kerül a könyv?
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Weboldalanként lehetnének burkolók
Az XSLT nem megoldás
WEBHTML oldalLayout
Struktúrált adat,Adatbázisok,
XMLStruktúra
Burkoló
kinyerannotálstruktúrál
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Hogyan léphetünk ezeken túl?
Meg kell növelni az automatikus összeköttetések mennyiségét/képességét az adatok között
Meg kell növelni a pontosságotMeg kell növelni az adat integrálás
automatizáltságát
A megoldás: szemantikát kell adni az adatokhoz, szolgáltatásokhoz!
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Mi a szemantikus web? „A szemantikus web a mai web egy kiegészítése
amely segítségével az információnak jól definiált jelentése van, ezzel segíti elő a számítógépek és az emberek együttműködését”
“The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation.”T. Berners-Lee, J. Hendler, O. Lassila, “The Semantic Web”, Scientific American, May 2001
Összefoglalva:■ A WWW következő generációja■ Az információnak van egy gépek által feldolgozható, megérthető
szemantikája■ Nem különül el a mostani webtől, hanem kiegészíti azt■ A szemantikus web alapjait az ontológiák jelentik
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
egy közös koncepció formális, egyértelmű specifikálása
Közösen elfogadott jelentés
A tartomány konceptuális modellje
(ontológia elmélet)
Egyértelmű terminológia definíciók
Gépek számára érthető
Programrendszerek fejlesztése
Ontológia
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Példa
KoncepcióA tartomány egy koncepcionális entitása
Tulajdonság A koncepció egy leíró tulajdonsága
ViszonyA koncepció és a tulajdonságai közötti viszony
AxiómaKoherencia leírás a Koncepció/Tulajdonság/Viszony között logikai kifejezések formájában
Person
Student Professor
Lecture
isA – hierarchy (rendszertan)
name email
matr.-nr. researchfield
topiclecturenr.
attends holds
holds(Professor, Lecture) =>Lecture.topic = Professor.researchField
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Felső szintű O., Általános O. Alap O., Mag O., Magas szintű O, Felső O.
Feladat & Probléma megoldás ontológia
Alkalmazás Ontológia
Terület Ontológia
Nagyon általános koncepciókat ír le, ezek nem függnek az adott probléma tartománytól. Idő, esemény, tér, …
Egy adott területtől függő szótárat ír le a
magasabb szintű ontológiában
található koncepciók
specializációjával
Általános feladattal,
tevékenységgel kapcsolatos
szótár a felső szintű
ontológiában definiált
koncepció specializálása
A legspecifikusabb. A koncepciók gyakran az
adott terület konkrét szerepköreihez és az
általuk végzett tevékenységekhez
köthetőek
Ontológia típusok
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Szemantikus web veremAdapted from
http://en.wikipedia.org/wiki/Semantic_W
eb_Stack
Rules:RIF
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RDF, RDF sémaRDF
■ Resource Description Framework ■ Adat modell
– Szintaxis (XML)■ Terület független
– A szótárat az RDF séma határozza meg
RDF Séma■ RDF Szótár Leíró Nyelv■ Az adott terület szemantikus modelljét írja le
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RDF alapokRDF segítségével állításokat tudunk
megfogalmazni az erőforrásokra vonatkozóan:■ Jóska apja Balázs
Hármas adat modell <subject,predicate,object >■ Alany: erőforrás vagy üres csomópont■ Állítmány: tulajdonság■ Tárgy: erőforrás, vagy erőforrás csoport, literális
vagy üres csomópontCsak bináris állítmányok
23.04.24. Programrendszerek fejlesztése 24
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Erőforrások Az erőforrás lehet
■ Web oldal (pl.: http://www.w3.org)■ Egy személy (pl.: http://www.fensel.com)■ Egy könyv (pl.:. urn:isbn:0-345-33971-1)■ Minden URI-val jelölhető entitás!
Az URI egy azonosító és nem egy hely a weben Az RDF segítségével állításokat írhatunk le az erőforrásokról
■ http://www.w3.org a formátuma text/html■ http://www.fensel.com a keresztneve Dieter■ urn:isbn:0-345-33971-1 a szerzője Tolkien
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
URI, URN, URL A Uniform Resource Identifier (URI) egy karakterlánc amely egy név vagy
egy erőforrás azonosítására szolgáll az interneten
A URI lehet URL vagy URN A Uniform Resource Name (URN) egy entitás identitását definiálja
■ A URN urn:isbn:0-395-36341-1 egy URI mely megadja az azonosító rendszert pl.: International Standard Book Number (ISBN), és az egyedi azonosítót ezen rendszeren belül
Az Uniform Resource Locator (URL) egy metódust ad e fellelésére■ a URL http://www.inf.u-szeged.hu/~bilickiv/ azonosítja az erőforrást hozzáférhető,
elérhető formában
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Szavak Egyszerű szavak
■ Pl.: ”BÁRMILYEN SZÖVEG”■ A nyelv címke opcionális, pl.: ”Hello, how are you?”@en-GB
Típusos szavak■ Pl.: "hello"^^xsd:string, "1"^^xsd:integer■ Ajánlott adattípusok:
– XML séma adattípusok
<http://example.org/#john>,<http://example.org/#hasName>,
”John Smith”ˆˆxsd:string
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Üres csomópontok URI nélküli csomópontok
■ Névtelen erőforrások■ Komplex konstrukciók
Az üres csomópontok reprezentálásá szintaxis függő
■ Üres csomópont azonosító
Például:<#john>, <#hasName>, _:johnsname_:johnsname, <#firstName>, ”John”ˆˆxsd:string
_:johnsname, <#lastName>, ”Smith”ˆˆxsd:string
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RDF tárolók
“The lecture is attended by John, Mary and Chris” Bag
“[RDF-Concepts] is edited by Graham and Jeremy (in that order)”
Seq
“The source code for the application may be found at ftp1.example.org, ftp2.example.org, ftp3.example.org”
Alt
A tulajdonság értékek csoportosítására:
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RDF gráf reprezntáció Az AI területen az ilyen gráfokat szemantikus gráfoknak
hívják (hármas)
Címkézett, irányított gráf■ Csomópontok: erőforrások, szavak■ Címkék: tulajdonságok■ Élek: állítások
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RDF: közvetlenül csatol irányított gráf
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RDF Tárolók gráf ábrázolás: Bag“The lecture is attended by John, Mary and
Chris”
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RDF Tárolók gráf ábrázolás : Seq“[RDF-Concepts] is edited by Graham and
Jeremy (in that order)”
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RDF Tárolók gráf ábrázolás: Alt“The source code for the application may
be found at ftp1.example.org, ftp2.example.org, ftp3.example.org”
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Szemantikus Web VeremAdapted from
http://en.wikipedia.org/wiki/Semantic_W
eb_Stack
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Ontológia nyelvel szemben támasztott követelményekJól definiált szintaxisJó kifejezőképességFormális szemantika
■ Amire szükség van a következtetésnél, pl.:– Class membership– Equivalence of classes– Consistency– Classification
Hatékony követekzetetés támogatás
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
OWLAz ontólógiák objektumok a weben, saját
verziózással, meta adatokkal, ….Az ontológiák bővíthetőekTartalmaznak osztályokat, tulajdonságokat,
adattípusokat, tartományokat, egyedeketEgyenlőséget (osztály, egyed)Osztályokat int példányokatSzámossági kényszereketXML szintaxist
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
LiteA tanulási idő rövidítése érdekében korlátolt DL
lite
DL = Description LogicDescription Logics a First Order Logic (FOL) része, lehet következtetni
DLFullunrestricted use of OWL constructs, but cannot reason
Full
OWL dialektusok
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
OWL dialektusok OWL Lite
■ (sub)classes, individuals■ (sub)properties, domain,
range■ conjunction■ (in)equality■ cardinality 0/1■ datatypes■ inverse, transitive,
symmetric properties■ someValuesFrom■ allValuesFrom
OWL DL■ Negation■ Disjunction■ Full cardinality■ Enumerated types■ hasValue
OWL Full■ Meta-classes■ Modify language
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
OWL Syntax: Abstract Syntax
One of the clearer human-readable syntaxes
Class(SpicyPizza completeannotation(rdfs:label "PizzaTemperada"@pt)annotation(rdfs:comment "Any pizza that has a
spicy topping is a SpicyPizza"@en)Pizzarestriction(hasTopping someValuesFrom(SpicyTopping))
)
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
OWL Syntax: N3Recommended for human-readable
fragments
default:SpicyPizza a owl:Class ; rdfs:comment "Any pizza that has a spicy topping is a
SpicyPizza"@en ; rdfs:label "PizzaTemperada"@pt ; owl:equivalentClass [ a owl:Class ; owl:intersectionOf (default:Pizza [ a owl:Restriction ; owl:onProperty default:hasTopping ; owl:someValuesFrom default:SpicyTopping ]) ] .
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
OWL Syntax: RDF/XML Recommended for serialisation
<owl:Class rdf:ID="SpicyPizza"> <rdfs:label xml:lang="pt">PizzaTemperada</rdfs:label> <rdfs:comment xml:lang="en">Any pizza that has a spicy topping is a SpicyPizza</rdfs:comment> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Pizza"/> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#hasTopping"/> </owl:onProperty> <owl:someValuesFrom rdf:resource="#SpicyTopping"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class>
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Osztályok/Példányok
23.04.24. Programrendszerek fejlesztése 43
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Osztály hierarchia
23.04.24. Programrendszerek fejlesztése 44
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Egyébb viszonyok
23.04.24. Programrendszerek fejlesztése 45
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Egyébb viszonyok
23.04.24. Programrendszerek fejlesztése 46
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Egyébb viszonyok (halmaz)
23.04.24. Programrendszerek fejlesztése 47
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Szűrések
23.04.24. Programrendszerek fejlesztése 48
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Szűkítések
23.04.24. Programrendszerek fejlesztése 49
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Felsorolások/inverz
23.04.24. Programrendszerek fejlesztése 50
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Tulajdonságok módosítói
23.04.24. Programrendszerek fejlesztése 51
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Tulajdonság módosítók/klucsok
23.04.24. Programrendszerek fejlesztése 52
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Adattípusok
23.04.24. Programrendszerek fejlesztése 53
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
RDF lekérdezéseSPARQL
■ RDF lekérdező nyelv■ A RDQL-en alapul■ SQL szerű szintaxis
Példa:PREFIX uni: <http://example.org/uni/>
SELECT ?nameFROM <http://example.org/personal>WHERE { ?s uni:name ?name.?s rdf:type uni:lecturer }
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
SPARQL lekérdésekPREFIX uni: <http://example.org/uni/>SELECT ?nameFROM <http://example.org/personal>WHERE { ?s uni:name ?name. ?s rdf:type uni:lecturer }
PREFIX■ Az URI rövidítésére alkalmazott megoldás
SELECT■ A válaszban visszaadandó változókat azonosítja■ SELECT DISTINCT■ SELECT REDUCED
FROM■ Az adatforrás gráf neve■ FROM NAMED
WHERE■ A lekérdezés illesztés mintája hármas mintákban
LIMIT OFFSET ORDER BY
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Példa RDF gráf<http://example.org/#john> <http://.../vcard-rdf/3.0#FN> "John Smith“
<http://example.org/#john> <http://.../vcard-rdf/3.0#N> :_X1_:X1 <http://.../vcard-rdf/3.0#Given> "John"_:X1 <http://.../vcard-rdf/3.0#Family> "Smith“
<http://example.org/#john> <http://example.org/#hasAge> "32“
<http://example.org/#john> <http://example.org/#marriedTo> <#mary>
<http://example.org/#mary> <http://.../vcard-rdf/3.0#FN> "Mary Smith“
<http://example.org/#mary> <http://.../vcard-rdf/3.0#N> :_X2_:X2 <http://.../vcard-rdf/3.0#Given> "Mary"_:X2 <http://.../vcard-rdf/3.0#Family> "Smith"
<http://example.org/#mary> <http://example.org/#hasAge> "29"
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
SPARQL lekérdezések: Az összes teljes név
“Return the full names of all people in the graph”
PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>SELECT ?fullNameWHERE {?x vCard:FN ?fullName}
result:
fullName================="John Smith""Mary Smith"
@prefix ex: <http://example.org/#> .@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary .ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29 .
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
SPARQL lekérdezések : Tulajdonságok“Return the relation between John and Mary”
PREFIX ex: <http://example.org/#>SELECT ?pWHERE {ex:john ?p ex:mary}
result:
p=================<http://example.org/#marriedTo>
@prefix ex: <http://example.org/#> .@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary .ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29 .
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
SPARQL lekérdezések : Komplex minták“Return the spouse of a person by the name of John Smith”
PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>PREFIX ex: <http://example.org/#>SELECT ?yWHERE {?x vCard:FN "John Smith".
?x ex:marriedTo ?y}
result:
y=================<http://example.org/#mary>
@prefix ex: <http://example.org/#> .@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary .ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29 .
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
SPARQL lekérdezések : Üres csomópontok“Return the first name of all people in the KB”
PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>SELECT ?name, ?firstNameWHERE {?x vCard:N ?name .
?name vCard:Given ?firstName}
result:
name firstName=================_:a "John"_:b "Mary"
@prefix ex: <http://example.org/#> .@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary .ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29 .
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
SPARQL lekérdezések : RDF gráf készítés“Rewrite the naming information in original
graph by using the foaf:name”
PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT { ?x foaf:name ?name }
WHERE { ?x vCard:FN ?name }
result:#john foaf:name “John Smith"
#marry foaf:name “Marry Smith"
@prefix ex: <http://example.org/#> .@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary .ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29 .
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/“ xmlns:ex="http://example.org“> <rdf:Description rdf:about=ex:john> <foaf:name>John Smith</foaf:name> </rdf:Description> <rdf:Description rdf:about=ex:marry> <foaf:name>Marry Smith</foaf:name> </rdf:Description> </rdf:RDF>
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
SPARQL lekérdezések: Létezik-e szűrés“Are there any married persons in the KB?”
PREFIX ex: <http://example.org/#>ASK { ?person ex:marriedTo ?spouse }
result:
yes=================
@prefix ex: <http://example.org/#> .@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary .ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29 .
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
SPARQL Lekérdezés: Szűrők“Return all people over 30 in the KB”
PREFIX ex: <http://example.org/#>SELECT ?xWHERE {?x hasAge ?age .FILTER(?age > 30)}
result:
x=================<http://example.org/#john>
@prefix ex: <http://example.org/#> .@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary .ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29 .
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
SPARQL Lekérdezések: Opcionális minták“Return all people and (optionally) their spouse”
PREFIX ex: <http://example.org/#>SELECT ?person, ?spouseWHERE {?person ex:hasAge ?age .OPTIONAL { ?person ex:marriedTo ?spouse } }
result:
?person ?spouse
=============================
<http://example.org/#mary>
<http://example.org/#john> <http://example.org/#mary>
@prefix ex: <http://example.org/#> .@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary .ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29 .
Programrendszerek fejlesztése
UNIV
ERSI
TY O
F SZ
EGED
Dep
artm
ent o
f Sof
twar
e En
gine
erin
gU
NIV
ER
SIT
AS
SC
IEN
TIA
RU
M S
ZEG
ED
IEN
SIS
Összefoglaló
23.04.24. 65
RUP – absztrakciós szintekNyelvek generációiAdatábrázolás
■ Relációs■ OO■ Szemantikus Web
Programrendszerek fejlesztése