81
BME-TMIT Adatbázisok elmélete 2019 1 / 97 Szemantikus adatbázisok Nagypál Gábor [email protected] Adatbázisok elmélete 2019

Nagypál Gábor [email protected] · 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?

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

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?

BME-TMIT Adatbázisok elmélete 2019 1 / 97

Szemantikus adatbázisok

Nagypál Gábor

[email protected]

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?

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?

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?

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?

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?

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?

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?

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?

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?

BME-TMIT Adatbázisok elmélete 2019 10 / 97

Példa: Wikidata

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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)