![Page 1: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/1.jpg)
BME-TMIT Adatbázisok elmélete 2019 1 / 97
Szemantikus adatbázisok
Nagypál Gábor
Adatbázisok elmélete 2019
![Page 2: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/2.jpg)
BME-TMIT Adatbázisok elmélete 2019 2 / 97
Motiváció
![Page 3: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/3.jpg)
BME-TMIT Adatbázisok elmélete 2019 3 / 97
Ismétlés: Adat, Információ, Tudás
● Adat: a valóság értelmezhető, de nem értelmezett része ○ 42, “Jakab”
● Információ: értelmezett adat ○ 42 - cipőméret, “Jakab” - személynév
● Tudás: kontextusba helyezett információ(k) ○ Jakab cipőmérete 42-es
![Page 4: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/4.jpg)
BME-TMIT Adatbázisok elmélete 2019 4 / 97
Mérnöki feladatok
1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni? ○ NLP, data mining, text mining, …
1. Hogyan tudjuk a tudást reprezentálni és
automatikusan felhasználni?
![Page 5: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/5.jpg)
BME-TMIT Adatbázisok elmélete 2019 5 / 97
Tudásreprezentáció stratégiák
Szabványos címkék, mint pl. a Dublin Core, schema.org
– mindenki (gépek, emberek) tudja, mit jelentenek a címkék (title, author, ...)
– Sajnos ez így rugalmatlan, nehezen bővíthető
Használjunk ontológiákat, hogy a címkék jelentését leírjuk
– Az ontológiák definiálnak egy címkeszótárat
■ pl. ember, énekes
– Új címkék létrehozhatók a meglévők kombinációjával
■ Pl. kétgyermekes anya, platinalemezes énekes
– A kombinált címkék értelmezése formálisan specifikált
– Új név: knowledge graph, “tudásgráfok”
![Page 6: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/6.jpg)
BME-TMIT Adatbázisok elmélete 2019 6 / 97
![Page 7: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/7.jpg)
BME-TMIT Adatbázisok elmélete 2019 7 / 97
Példa: Google Knowledge Graph
![Page 8: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/8.jpg)
BME-TMIT Adatbázisok elmélete 2019 8 / 97
Példa: Wolfram Alpha
![Page 9: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/9.jpg)
BME-TMIT Adatbázisok elmélete 2019 9 / 97
Példa: DBpedia
![Page 10: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/10.jpg)
BME-TMIT Adatbázisok elmélete 2019 10 / 97
Példa: Wikidata
![Page 11: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/11.jpg)
BME-TMIT Adatbázisok elmélete 2019 11 / 97
Use case: természetes nyelvi interfész
● Chatbot, keresés, személyes ágens ● Pl. “I want to put a lady on the Gunners for a
whitewash on Saturday afternoon.” ● Ami emberi nyelven ezt jelenti: “I would like
to place a bet of £5 on Arsenal to win without conceding a goal in the forthcoming game on Saturday.”
Forrás: https://www.dataversity.net/semantic-web-semantic-technology-trends-2019/#
![Page 12: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/12.jpg)
BME-TMIT Adatbázisok elmélete 2019 12 / 97
QA: state of the art
![Page 13: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/13.jpg)
BME-TMIT Adatbázisok elmélete 2019 13 / 97
Use Case: Feature Engineering & Selection
![Page 14: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/14.jpg)
BME-TMIT Adatbázisok elmélete 2019 14 / 97
Use Case: Data Migration / Governance
Forrás: https://blog.cambridgesemantics.com/why-knowledge-graph-for-financial-services-real-world-use-cases
![Page 15: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/15.jpg)
BME-TMIT Adatbázisok elmélete 2019 15 / 97
Metaadatok: RDF
![Page 16: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/16.jpg)
BME-TMIT Adatbázisok elmélete 2019 16 / 97
Első lépés: metaadatok “George Bush, the 41st President of the United States is the father of George W. Bush, the 43rd President of the United States.”
<div vocab="http://schema.org/" typeof="Person">
<span property="name">George Bush</span>, the
<span property="disambiguatingDescription">41st President of the
United States</span>
is the father of
<div property="children" typeof="Person">
<span property="name">George W. Bush</span>, the
<span property="disambiguatingDescription">43rd President of the
United States</span>.
</div>
</div>
● Többféle formátum létezik
○ Microdata, RDFa, JSON-LD
● A legtöbb ontológia-nyelv az RDF-en alapul
![Page 17: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/17.jpg)
BME-TMIT Adatbázisok elmélete 2019 17 / 97
Resource Description Framework
• Az RDF általános és absztrakt modell amely bármilyen típusú metaadat leírására alkalmas, bármilyen olyan dologról, avagy erőforrásról (resource), amely egyedi, webes azonosítóval (URI vagy IRI) rendelkezik.
• Az RDF W3C ajánlás (2004 óta).
![Page 18: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/18.jpg)
BME-TMIT Adatbázisok elmélete 2019 18 / 97
RDF alapok
Az RDF-ben az információ állítások együttese.
Egy állítás egy dolog (resource) egy tulajdonságáról állít valamit.
– amiről állítunk valamit: resource, subject
– a tulajdonság: predicate, property
– a tulajdonság értéke: object Van XML reprezentáció
Notation3 (N3) / Turtle: <#jakab> <#szeret> <#julcsi> .
Gráf: #jakab #julcsi
#szeret
![Page 19: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/19.jpg)
BME-TMIT Adatbázisok elmélete 2019 19 / 97
RDF állítások
• Az állítás elemeit egy URI (IRI) azonosítja. Az érték (object) lehet egy szöveges vagy numerikus érték (literal) is, nem csak URI.
<#jakab> <#eletkor> „34" .
• A tulajdonság / property a másik két elem kapcsolatát fejezi ki.
<#jakab> <#gyereke> <#pista> .
<#jakab> <#tanul> <#BME> .
![Page 20: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/20.jpg)
BME-TMIT Adatbázisok elmélete 2019 20 / 97
RDF gráf példa
http://tmit.bme.hu/index.html mailto::[email protected]
„Az index.html létrehozója netuddki.”
Erőforrás Tulajdonság Érték SUBJECT PREDICATE
OBJECT
http://purl.org/dc/terms/creator
Creator(index.html, [email protected])
![Page 21: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/21.jpg)
BME-TMIT Adatbázisok elmélete 2019 21 / 97
Elem-hármas és gráf
http://tmit.bme.hu/index.html mailto::[email protected]
mailto::[email protected] http://tmit.bme.hu/photo.html
http://vhol.org/sema/tartalmaz http://vhol.org/sema/egyuttdolgozik
„Az index.html létrehozója netuddki és nekem (akik együtt dolgoznak). Az index.html tartal- mazza photo.html-t.”
http://purl.org/dc/terms/creator
http://purl.org/dc/terms/creator
![Page 22: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/22.jpg)
BME-TMIT Adatbázisok elmélete 2019 22 / 97
Szemantika
<#jakab> <#eletkor> "34";
<#szemszine> "kék" .
● A „jakab”, „eletkor” és „szemszine” karakterek URI-k, a gép számára semmi jelentést nem hordoznak ezen kívül !
● Megoldás: közös szótárak, “ontológiák” definiálása
![Page 23: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/23.jpg)
BME-TMIT Adatbázisok elmélete 2019 23 / 97
Példa: Dublin Core (DC)
• Szabványos tulajdonságok
– http://purl.org/dc/terms/title
– http://purl.org/dc/terms/language
– http://purl.org/dc/terms/creator
• DC-t használó alkalmazások ismerik a tulajdonságok jelentését
![Page 24: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/24.jpg)
BME-TMIT Adatbázisok elmélete 2019 24 / 97
Példa: schema.org
![Page 25: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/25.jpg)
BME-TMIT Adatbázisok elmélete 2019 25 / 97
Névterek
Szabványos szótár elemeinek URI-ja azonosan kezdődik: azonos névtérbe tartoznak
@prefix dcterms: <http://purl.org/dc/terms/> .
<http://my.domain/index.html> dcterms:title
„Névterek".
prefix nélkül <http://my.domain/index.html>
<http://purl.org/dc/terms/title> „Névterek".
![Page 26: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/26.jpg)
BME-TMIT Adatbázisok elmélete 2019 26 / 97
Reifikáció
• „Józsi mondta, hogy Jakabnak Pista a gyereke” my:jakab my:gyereke my:pista . (saját ontológia a my névtérben)
_:allitas123 rdf:type rdf:Statement .
_:allitas123 rdf:subject my:jakab .
_:allitas123 rdf:predicate my:gyereke .
_:allitas123 rdf:object my:pista .
my:jozsi my:mondta _:allitas123 .
_ névtér: üres csomópontoknak lokális id definiálásához
![Page 27: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/27.jpg)
BME-TMIT Adatbázisok elmélete 2019 27 / 97
RDF: nem bináris relációk?
Hallgató Tárgy
felvételi_dátum
felvesz
![Page 28: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/28.jpg)
BME-TMIT Adatbázisok elmélete 2019 28 / 97
Reifikáció (másként)
my:jakab rdf:type my:Hallgato .
my:adatb2 rdf:type my:Targy .
my:jakab :felvesz my:adatb2 .
hol marad a dátum? Helyette:
[ ] a :Targyfelvetel ; („a” : rdf:type rövidítése, [] az üres csomópont)
my:targya :adatb2 ;
my:hallgatoja :jakab ;
my:datuma „2018-01-10” .
![Page 29: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/29.jpg)
BME-TMIT Adatbázisok elmélete 2019 29 / 97
Azaz: nem bináris relációk
Hallgató Tárgy
felvételi_dátum
Tárgyfelvétel Tárgy
felvételi_dátum
Hallgató
felvesz
tárgya hallgatója
![Page 30: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/30.jpg)
BME-TMIT Adatbázisok elmélete 2019 30 / 97
SPARQL
• RDF gráfok lekérdező nyelve
• W3C szabvány (2008)
• Lekérdezés-típusok
– SELECT: adatok lekérése
– CONSTRUCT: új RDF gráf készítése
• hasonló az XSLT-hez, XQuery-hez
– ASK: igen/nem kérdések (igaz-e az állítás?)
– DESCRIBE: egy RDF gráf/csomópont adatai
• a SPARQL szervertől függ, mit ad vissza
![Page 31: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/31.jpg)
BME-TMIT Adatbázisok elmélete 2019 31 / 97
SPARQL SELECT példa
SELECT ?isbn ?price ?currency # note: not ?x! WHERE {?isbn a:price ?x. ?x rdf:value ?price. ?x p:currency ?currency.}
a:name
http://…isbn/2020386682 http://…isbn/000651409X
:£ 33
p:currency rdf:value
:€ 50
p:currency rdf:value
:€ 60
p:currency rdf:value
:$ 78
p:currency rdf:value
Gipsz, Jakab
a:price a:price a:price a:price
a:author a:author
![Page 32: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/32.jpg)
BME-TMIT Adatbázisok elmélete 2019 32 / 97
SPARQL SELECT példa SELECT ?isbn ?price ?currency # note: not ?x! WHERE {?isbn a:price ?x. ?x rdf:value ?price. ?x p:currency ?currency.}
a:name
http://…isbn/2020386682 http://…isbn/000651409X
:£ 33
p:currency rdf:value
:€ 50
p:currency rdf:value
:€ 60
p:currency rdf:value
:$ 78
p:currency rdf:value
Gipsz, Jakab
a:price a:price a:price a:price
a:author a:author
Eredmény: [<…409X>,33,:£], [<…409X>,50,:€], [<…6682>,60,:€], [<…6682>,78,:$]
![Page 33: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/33.jpg)
BME-TMIT Adatbázisok elmélete 2019 33 / 97
rdfs:label, rdfs:comment
• Best practice: „beszélő” URI-k
– legtöbbször angol nyelven
– pl. #creator, #Truck
• De az URI-k akarmik is lehetnek!
– #12345, #asdbmdfbmnfds
– pár RDF-t használó szótár ilyen, pl. Wikidata
• rdfs:label – emberek számára olvasható név
– xml:lang
– többnyelvű ontológiák
• rdfs:comment – emberek számára olvasható leírás
– ez is lehet többnyelvű
![Page 34: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/34.jpg)
BME-TMIT Adatbázisok elmélete 2019 34 / 97
lexikai réteg
nyelvfüggetlen szemantikus mag
urn:ontology#Napoleon_I
angol német
... “Napoleon Bonaparte”
“Napoleon I” “Napoléon, Kaiser der Franzosen”
“Napoléon I.”
“Napoléon Bonaparte”
urn:ontology#Waterloo
Szemantikus mag és lexikai réteg
“Napoleon I of France”
![Page 35: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/35.jpg)
BME-TMIT Adatbázisok elmélete 2019 35 / 97
Ontológiák:
RDFS, OWL
![Page 36: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/36.jpg)
BME-TMIT Adatbázisok elmélete 2019 36 / 97
Ontolológia a filozófiában
• „a létről szóló tan”
• ontosz (lenni, létezni) + logosz (tudomány) ○ Arisztotelész, Aquinói Szent Tamás (istenérvek)
○ XX. Század: Husserl, Hartmann, Heidegger,
• “Érzékfeletti irracionális intuíció útján felfogott lét legáltalánosabb fogalmainak rendszere” (Filozófiai kislexikon)
• Az ontológia a legfontosabb fogalmak és viszonyaik leírása.
![Page 37: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/37.jpg)
BME-TMIT Adatbázisok elmélete 2019 37 / 97
Ontológia az informatikában
• Gruber: „egy adott felhasználói csoport által egy adott témakörben közösen használt világkép formális leírása” – shared, explicit, formal specification of a conceptualization
• Tehát már nem akarja senki a teljes tudást leírni, részterületeket kell megcélozni.
• egyezményes terminológiát állít fel egy közös érdeklődésű közösség tagjai között.
– A tagok lehetnek emberek vagy gépi ügynökök.
![Page 38: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/38.jpg)
BME-TMIT Adatbázisok elmélete 2019 38 / 97
Ontológia definíció
Shared, explicit, formal specification of a conceptualization.
![Page 39: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/39.jpg)
BME-TMIT Adatbázisok elmélete 2019 39 / 97
Ontológia definíció
Shared, explicit, formal specification of a
conceptualization.
a fejünkben levő mentális modell
![Page 40: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/40.jpg)
BME-TMIT Adatbázisok elmélete 2019 40 / 97
Ontológia definíció
Shared, explicit, formal specification of a conceptualization.
leírva
![Page 41: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/41.jpg)
BME-TMIT Adatbázisok elmélete 2019 41 / 97
Ontológia definíció
Shared, explicit, formal specification of a conceptualization.
számítógép számára feldolgozható formában
![Page 42: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/42.jpg)
BME-TMIT Adatbázisok elmélete 2019 42 / 97
Ontológia definíció
Shared, explicit, formal specification of a conceptualization.
minden ami számít, benne van, ami nincs benne, az
nem létezik
![Page 43: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/43.jpg)
BME-TMIT Adatbázisok elmélete 2019 43 / 97
Ontológia definíció
Shared, explicit, formal specification of a conceptualization.
egy közösség minden tagja érti
![Page 44: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/44.jpg)
BME-TMIT Adatbázisok elmélete 2019 44 / 97
Ontológia alapok
• Fogalom, osztály (Concept, class) – dolgok halmaza, osztálya
– állat, számítógép, ...
– taxonómia: subclass, pl. számítógép -> gép
• Példány (Instance, individual) – példányok, a halmazok elemei
– gorilla, Dell Latitude D620, ...
• Reláció (property, role, relation) – példányok közti kapcsolatok
– szeret, ismer, életkor
– taxonómia! – szeret -> ismer
• Attribútum (attribute) – példányok és primitív értékek közti kapcsolatok
– életkora: 25
![Page 45: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/45.jpg)
BME-TMIT Adatbázisok elmélete 2019 45 / 97
Mi is a szemantika a gépeknek?
• Leggyakoribb logikai alapú formalizmusok esetén: halmazelméleti alapú modell-elmélet
• A világ releváns elemeit (domain of discourse) egy halmaz tartalmazza (Δ)
• A világ objektumait Δ elemeinek tekintjük
– az osztályok Δ részhalmazai
– A (bináris) relációk Δ × Δ részhalmazai
![Page 46: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/46.jpg)
BME-TMIT Adatbázisok elmélete 2019 46 / 97
Mi a szemantika (2)
• Egy I interpretáció (mapping) köti össze az ontológia elemeit Δ -val
– GorillaI ∈ Δ, szeret I ∈ Δ × Δ
• A formális nyelv elemeit a modellen értelmezzük
– pl. C alfogalma D-nek → CI ⊆ DI
– pl. szeret altulajdonsága ismer-nek → szeretI ⊆ ismerI
– pl. Amy példánya Gorillának → AmyI ∈ GorillaI
![Page 47: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/47.jpg)
BME-TMIT Adatbázisok elmélete 2019 47 / 97
Mikor „igaz” egy állítás
• Open World Assumption (OWA)
– nem ismerjük a világ összes tényét
– pl. mert elosztott a rendszer (Világháló)
– csak az igaz, ami az összes lehetséges modell (összes lehetséges I ) esetén (halmazelméletileg) igaz
– csak az hamis, amihez egyáltalán nincs olyan interpretáció, hogy (halmazelméletileg) igaz
– a többi állítás, amelyhez van olyan interpretáció is, hogy igaz, meg olyan is, hogy hamis, az „nem tudom”.
![Page 48: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/48.jpg)
BME-TMIT Adatbázisok elmélete 2019 48 / 97
Closed World Assumption (CWA)
• Adatbázisok esetén gyakori
• Egyszerűbb
• Amiről nem tudjuk, hogy igaz, az hamis
• Lényegében az adatbázisunk az egyetlen modell
• Nincs „nem tudom” állítás
![Page 49: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/49.jpg)
BME-TMIT Adatbázisok elmélete 2019 49 / 97
#Lany
#Fiu
OWA modell példa
#jancsi a #Fiu #juliska a #Lany
#jancsi
#juliska
![Page 50: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/50.jpg)
BME-TMIT Adatbázisok elmélete 2019 50 / 97
#Fiu
OWA modell példa
#jancsi a #Fiu #juliska a #Lany
#jancsi
#juliska
#Lany
![Page 51: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/51.jpg)
BME-TMIT Adatbázisok elmélete 2019 51 / 97
#Lany
OWA modell példa
#jancsi a #Fiu #juliska a #Lany
#jancsi
#juliska
#Fiu
![Page 52: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/52.jpg)
BME-TMIT Adatbázisok elmélete 2019 52 / 97
#Fiu
#Lany
OWA modell példa
#jancsi a #Fiu #juliska a #Lany
#jancsi
#juliska
![Page 53: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/53.jpg)
BME-TMIT Adatbázisok elmélete 2019 53 / 97
#Lany
#Fiu
OWA modell példa
#jancsi a #Fiu #juliska a #Lany
#jancsi
#juliska
![Page 54: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/54.jpg)
BME-TMIT Adatbázisok elmélete 2019 54 / 97
#Fiu
OWA modell példa
#jancsi a #Fiu #juliska a #Lany #jancsi a #Fiu ?
#jancsi
#juliska
#Fiu
#Lany
#jancsi
#juliska
#Lany
#Lany
#jancsi
#juliska
#Fiu
#Fiu
#Lany
#jancsi
#juliska
#Lany
#Fiu
#jancsi
#juliska
![Page 55: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/55.jpg)
BME-TMIT Adatbázisok elmélete 2019 55 / 97
#Fiu
OWA modell példa
#jancsi a #Fiu #juliska a #Lany #jancsi a #Fiu ?
#jancsi
#juliska
#Fiu
#Lany
#jancsi
#juliska
#Lany
#Lany
#jancsi
#juliska
#Fiu
#Fiu
#Lany
#jancsi
#juliska
#Lany
#Fiu
#jancsi
#juliska IGEN
![Page 56: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/56.jpg)
BME-TMIT Adatbázisok elmélete 2019 56 / 97
#Fiu
OWA modell példa
#jancsi a #Fiu #juliska a #Lany #jancsi a #Lany ?
#jancsi
#juliska
#Fiu
#Lany
#jancsi
#juliska
#Lany
#Lany
#jancsi
#juliska
#Fiu
#Fiu
#Lany
#jancsi
#juliska
#Lany
#Fiu
#jancsi
#juliska
![Page 57: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/57.jpg)
BME-TMIT Adatbázisok elmélete 2019 57 / 97
#Fiu
OWA modell példa
#jancsi a #Fiu #juliska a #Lany #jancsi a #Lany ?
#jancsi
#juliska
#Fiu
#Lany
#jancsi
#juliska
#Lany
#Lany
#jancsi
#juliska
#Fiu
#Fiu
#Lany
#jancsi
#juliska
#Lany
#Fiu
#jancsi
#juliska NEM TUDJUK
![Page 58: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/58.jpg)
BME-TMIT Adatbázisok elmélete 2019 58 / 97
#Lany
#Fiu
CWA modell példa
#jancsi a #Fiu #juliska a #Lany #jancsi a #Fiu ?
#jancsi
#juliska
IGEN
![Page 59: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/59.jpg)
BME-TMIT Adatbázisok elmélete 2019 59 / 97
#Lany
#Fiu
CWA modell példa
#jancsi a #Fiu #juliska a #Lany #jancsi a #Lany ?
#jancsi
#juliska
NEM
![Page 60: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/60.jpg)
BME-TMIT Adatbázisok elmélete 2019 60 / 97
Monoton vs. nem-monoton logika
• Monoton: ha egy állítás igazságtartalma nem változik
– OWA
– max. „nem tudom”-ról lesz igaz v. hamis
• Nem-monoton: állítás igazságtartalma változhat
– CWA
– pl. nem lány(x) → fiú(x), ember(Juliska) esetén fiú(Juliska) igaz, amíg nem mondjuk, hogy lány(Juliska)
![Page 61: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/61.jpg)
BME-TMIT Adatbázisok elmélete 2019 61 / 97
RDF Séma
Az RDF szabványhoz szorosan kapcsolódik az RDF Schema (RDFS) nyelv, amellyel egyszerű „szótárakat”, ontológiákat (csomópontok és tulajdonságok előre definiált halmazát) definiálhatunk.
W3C ajánlás (2004 óta - mint az RDF)
![Page 62: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/62.jpg)
BME-TMIT Adatbázisok elmélete 2019 62 / 97
RDF Schema elemei
• rdfs:Class – osztályok, fogalmak
• rdf:Property – tulajdonságok
• rdfs:subClassOf – osztályhierarchia
• rdfs:subPropertyOf – tulajdonsághierarchia (!)
• rdf:type – példány
• rdfs:domain – tulajdonság értelmezési tartománya
• rdfs:range – tulajdonság értékkészlete
– typed value (!)
![Page 63: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/63.jpg)
BME-TMIT Adatbázisok elmélete 2019 63 / 97
RDFS (folytatás)
• Egy objektum több osztályban lehet (!), melyek között nem kell hierarchikus viszonynak lenni.
– vö. OO programozási nyelvek
• Egy osztálynak ill. tulajdonságnak több őse is lehet.
– „többszörös öröklődés”
• Konvenció (nem szabvány, nem kötelező): – Osztály azonosító nagy kezdőbetűvel – Tulajdonság kis kezdőbetűvel
![Page 64: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/64.jpg)
BME-TMIT Adatbázisok elmélete 2019 64 / 97
RDFS Példa
:Ember a rdfs:Class (a = rdf:type)
:Hallgato rdfs:subClassOf :Ember
:jakab a :Hallgato
:ismer a rdf:Property
:szeret a rdf:Property
:szeret rdfs:subPropertyOf :ismer
:ismer rdfs:domain :Ember (szeret domain-je is!)
:ismer rdfs:range :Ember (szeret range-e is!)
:jakab :szeret :julcsi (:jakab :ismer :julcsi is!)
![Page 65: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/65.jpg)
BME-TMIT Adatbázisok elmélete 2019 65 / 97
Metamodellezés
• Halmazelméleti szemantikát alkalmazó logikákban általában el kell dönteni, hogy valami halmaz (fogalom), hatványhalmaz (reláció) vagy halmazelem (példány)
• Néha azonban hasznos ezeket keverni – #gorilla a #faj, #Amy a #gorilla
• Akkor is hasznos, ha az ontológia elemeiről akarunk állításokat tenni – pl. #gorilla dcterms:creator #Gipsz_Jakab
– pl. #gorilla rdfs:label „Ape“
![Page 66: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/66.jpg)
BME-TMIT Adatbázisok elmélete 2019 66 / 97
Web Ontology Language (OWL)
• W3C szabvány ontológia formalizmus
– OWL1: 2004
– OWL2: 2009
• Miért nem elég az RDFS?
– Nem elég kifejező, túl gyenge.
• lokalizált range: gyereke mutasson emberre ember esetén, elefántra elefánt esetén
• kardinalitás: minden embernek van anyja, két gyerekes apukának pontosan két gyereke van
• tulajdonságok túl egyszerűek, nincs tranzitív, inverz, ..., pl. #része
– Mégis túl nehéz • metamodellezés miatt
![Page 67: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/67.jpg)
BME-TMIT Adatbázisok elmélete 2019 67 / 97
Kompromisszum: kifejezőerő és hatékonyság
• Általában is elmondható: minél kifejezőbb egy formalizmus, annál kevésbé hatékony benne a következtetés
• Sok formalizmus nem is eldönthető
– nem garantált, hogy kérdéseink véges időben megválaszolhatók
– pl. elsőrendű logika „félig eldönthető”: egy állítás hamisságát nem tudjuk mindig véges idő alatt bizonyítani
– pl. OWL nem eldönthető (!)
![Page 68: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/68.jpg)
BME-TMIT Adatbázisok elmélete 2019 68 / 97
OWL fajták
OWL Full
OWL DL
OWL EL OWL RL
OWL QL
![Page 69: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/69.jpg)
BME-TMIT Adatbázisok elmélete 2019 69 / 97
OWL Full
• Minden tekintetben az RDFS kiterjesztése
– owl:Class = rdfs:Class
– owl:Thing = rdf:Resource
• Metamodellezés
• Nem eldönthető
• Adatcserére kiváló
• Ha következtetni (reasoning) akarunk, akkor egyszerűsíteni kell (OWL profil)
![Page 70: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/70.jpg)
BME-TMIT Adatbázisok elmélete 2019 70 / 97
Unique Name Assumption (UNA)
• Ha egy ontológia/adatbázis két eleme különböző névvel (URI-val, id-val) rendelkezik, akkor két különböző dolog
• OWL NEM követi az UNA-t!
• Azaz: Jancsi lehet Juliska is, amíg nem mondjuk, hogy különbözőek
![Page 71: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/71.jpg)
BME-TMIT Adatbázisok elmélete 2019 71 / 97
OWL példa: sameAs
@prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . mailto:[email protected] foaf:age 23 . mailto:[email protected] foaf:name „Gipsz Jakab“ . → még nem tudjuk összekapcsolni a két állítást! mailto:[email protected] owl:sameAs mailto:[email protected] . → most már tudjuk Gipsz Jakab nevét és életkorát is
![Page 72: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/72.jpg)
BME-TMIT Adatbázisok elmélete 2019 72 / 97
OWL példa: differentFrom
@prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . mailto:[email protected] foaf:age 23 . mailto:[email protected] foaf:name „Gipsz Jakab“ . → még nem tudjuk, hogy a két mailto URL ugyanazt a
személyt jelöli-e mailto:[email protected] owl:differentFrom
mailto:[email protected] . → most már tudjuk, hogy nem
![Page 73: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/73.jpg)
BME-TMIT Adatbázisok elmélete 2019 73 / 97
Szabályok
CWA következtetés
![Page 74: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/74.jpg)
BME-TMIT Adatbázisok elmélete 2019 74 / 97
Szabályok – miért?
• OWL(-DL) inkább az ún. taxonómikus következtetésben erős
– Minden „kétgyerekes apa” egyben „sokgyerekes apa” is?
– Lehet-e példánya a „kétéltű járműnek”?
• Nem lehet felírni olyan következtetéseket, amikhez változók kellenek – pl. olyan nők, akiknek van kétgyermekes, elvált, „Jancsi” nevű barátjuk
– pl. tranzitivitást sem lehetne, ha nem lenne beépítve
• Szabályokat nehéz (ill. néha, ha változók is kellenek, akkor nem lehet) felírni – ha A, B, C és D igaz, abból következik E
![Page 75: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/75.jpg)
BME-TMIT Adatbázisok elmélete 2019 75 / 97
RIF Core avagy Datalog
• RIF – Rule Interchange Format, W3C szabvány
• Horn logika funktorok nélkül – azaz p(a,b,c) OK, p(f(a),g(b),c) nem OK
• Terminológia: term (konstans vagy változó), predikátum, atom (=predikátum+termek), literál (esetleg negált atom), szabály
• Egy szabály fejében atom áll, testében literálok logikai és (AND) kapcsolata. A test és a fej között logikai implikáció áll fenn.
![Page 76: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/76.jpg)
BME-TMIT Adatbázisok elmélete 2019 76 / 97
fiu(x) :- not lany(x).
ember(x) :- fiu(x).
benne(x,z) :- benne(x,y), benne(y,z).
lakosa(l,o) :- ember(l), helyseg(h), lakik(l,h), benne(h,o).
fiu(‘jancsi‘).
helyseg(‘Budapest‘).
lakik(‘jancsi‘,‘Budapest‘).
benne(‘Budapest‘,‘Magyarorszag‘).
benne(‘Magyarorszag‘,‘Europa‘).
Szabályok
Datalog példák
![Page 77: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/77.jpg)
BME-TMIT Adatbázisok elmélete 2019 77 / 97
Datalog példák
fiu(x) :- not lany(x).
ember(x) :- fiu(x).
benne(x,z) :- benne(x,y), benne(y,z).
lakosa(l,o) :- ember(l), helyseg(h), lakik(l,h), benne(h,o).
fiu(‘jancsi‘).
helyseg(‘Budapest‘).
lakik(‘jancsi‘,‘Budapest‘).
benne(‘Budapest‘,‘Magyarorszag‘).
benne(‘Magyarorszag‘,‘Europa‘).
Tényállítások
![Page 78: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/78.jpg)
BME-TMIT Adatbázisok elmélete 2019 78 / 97
Datalog példák
fiu(x) :- not lany(x).
ember(x) :- fiu(x).
benne(x,z) :- benne(x,y), benne(y,z).
lakosa(l,o) :- ember(l), helyseg(h), lakik(l,h), benne(h,o).
fiu(‘jancsi‘).
helyseg(‘Budapest‘).
lakik(‘jancsi‘,‘Budapest‘).
benne(‘Budapest‘,‘Magyarorszag‘).
benne(‘Magyarorszag‘,‘Europa‘).
lakosa(‘jancsi‘,‘Europa‘) ?
![Page 79: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/79.jpg)
BME-TMIT Adatbázisok elmélete 2019 79 / 97
Datalog példák
fiu(x) :- not lany(x).
ember(x) :- fiu(x).
benne(x,z) :- benne(x,y), benne(y,z).
lakosa(l,o) :- ember(l), helyseg(h), lakik(l,h), benne(h,o).
fiu(‘jancsi‘).
helyseg(‘Budapest‘).
lakik(‘jancsi‘,‘Budapest‘).
benne(‘Budapest‘,‘Magyarorszag‘).
benne(‘Magyarorszag‘,‘Europa‘).
lakosa(‘jancsi‘,‘Europa‘) ? IGEN
![Page 80: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/80.jpg)
BME-TMIT Adatbázisok elmélete 2019 80 / 97
Triplestore-ok
• Specializált gráf adatbázisok RDF hármasok (triple), azaz állítások tárolására
– akár több milliárd, sőt billió állítás (!)
• SPARQL interfész
• következtetés: RDFS, néha OWL egyes elemei
• Példák: Oracle (!), AllegroGraph, GraphDB
• Újabban: Neo4J, AWS Neptune (!)
![Page 81: Nagypál Gábor nagypal@db.bme · BME-TMIT Adatbázisok elmélete ⏘⏖⏗⏟ 4 / 97 Mérnöki feladatok 1. Hogyan tudjuk a tudás kinyerését minél inkább automatizálni?](https://reader030.vdocuments.net/reader030/viewer/2022041212/5dd11424d6be591ccb641df1/html5/thumbnails/81.jpg)
BME-TMIT Adatbázisok elmélete 2019 81 / 97
Összefoglalás
szemantikus metaadat (annotáció) információs
objektum (szöveg, kép, zene, ...)
ontológia
következtető gép (reasoner)