65
UNIVERSITY OF SZEGED Department of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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

7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

  • 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

Page 1: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 2: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 3: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 4: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 5: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 6: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 7: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 8: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 9: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 10: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 11: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 12: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 13: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 14: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 15: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 16: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 17: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 18: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 19: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 20: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 21: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 22: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 23: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 24: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 25: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 26: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 27: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 28: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 29: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 30: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 31: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 32: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 33: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 34: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 35: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 36: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 37: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 38: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 39: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 40: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 41: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 42: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 43: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 44: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 45: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 46: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 47: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 48: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 49: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 50: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 51: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 52: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 53: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 54: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 55: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 56: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 57: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 58: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 59: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 60: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 61: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 62: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 63: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 64: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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

Page 65: 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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