Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaIstván Gál Megváltozta több, mint 10 éve
1
RDF és SPARQL
2
Felhasznált anyagok Marcelo Arenas, Claudio Gutierrez, Jorge Peréz: RDF and SPARQL: Database Foundations (bemutató) Claudio Gutierrez, Carlos Hurtado, Alberto O. Mendelzon: Foundations of Semantic Web Databases. PODS 2004. Marcelo Arenas, Claudio Gutierrez, Jorge Peréz: Semantics and Complexity of SPARQL. ACM Transactions on Databases 2009. SPARQL Query Language for RDF. W3C Recommendation 2008.
3
RDF RDF (Resource Description Framework), azaz az RDF segítségével világunk entitásaival (általában a weben található erőforrások) kapcsolatosan fogalmazhatunk meg állításokat. W3C Semantic Web Activity „munkacsoport” dolgozta ki, 2004. február 14-én lett szabvány. Legalább háromféleképpen lehet reprezentálni: gráfokkal, XML, Notation3 (szintén a W3C vezette be), ehhez szorosan kapcsolódik a Turtle, aminek a jelöléseit részben a SPARQL is használja. A Turtle (Terse RDF Triple Language) az RDF gráfokat tömör formában adhatók meg, számos rövidítéssel és szintaktikai édesítőszerrel. Jó bevezető: http://zvon.org/comp/r/ref-Turtle.html
4
RDF példa (XML) W3Schools Jan Egil Refsnes
5
Turtle példa @prefix dc:. @prefix :. :book1 dc:title "SPARQL Tutorial".
6
RDFS
7
Reifikáció
8
Formálisan az RDF… Egy RDF gráf szókészlete: a benne szereplő URI-k és literálok halmaza, univerzuma a szókészlet és az üres pontok h.-nak uniója.
9
Interpretáció, ekvivalencia
10
Homomorfizmus RDF gráfok között
11
Következés (nincs RDF séma) Ha az üres pontok száma rögzített, a probléma P-beli.
12
Következés RDFS szókészlettel I. Az alábbi gráfok ekvivalensek, mégsem létezik homomorfizmus G 1 -ről G 2 -re, vagy G 3 -ról G 1 -re.
13
Dedukciós szabályok
15
Dedukciós rendszer helyes és teljes
16
RDF gráf lezárása
17
Példa RDF gráf lezárására
18
Következés RDFS szókészlettel II.
19
Az RDF gráfok magja
20
RDF gráfok normálformája
21
Redundancia kiküszöbölése
22
Példa redundancia kiküszöbölésére
23
Tételek
24
SPARQL példa Data "SPARQL Tutorial". Query SELECT ?title WHERE { ?title. }
25
Data: @prefix foaf:. _:a foaf:name "Alice". _:b foaf:name "Bob". Query: PREFIX foaf: SELECT ?x ?name WHERE { ?x foaf:name ?name }
26
Data: @prefix dc:. @prefix :. @prefix ns:. :book1 dc:title "SPARQL Tutorial". :book1 ns:price 42. :book2 dc:title "The Semantic Web". :book2 ns:price 23. Query: PREFIX dc: PREFIX ns: SELECT ?title ?price WHERE { ?x ns:price ?price. FILTER (?price < 30.5) ?x dc:title ?title. }
27
Data: @prefix foaf:. @prefix rdf:. _:a rdf:type foaf:Person. _:a foaf:name "Alice". _:a foaf:mbox. _:b rdf:type foaf:Person. _:b foaf:name "Bob". Query: PREFIX foaf: SELECT ?name ?mbox WHERE { ?x foaf:name ?name. OPTIONAL { ?x foaf:mbox ?mbox } }
28
Data: @prefix dc:. @prefix :. @prefix ns:. :book1 dc:title "SPARQL Tutorial". :book1 ns:price 42. :book2 dc:title "The Semantic Web". :book2 ns:price 23. Query: PREFIX dc: PREFIX ns: SELECT ?title ?price WHERE { ?x dc:title ?title. OPTIONAL { ?x ns:price ?price. FILTER (?price < 30) } }
29
Data: @prefix dc10:. @prefix dc11:. _:a dc10:title "SPARQL Query Language Tutorial". _:a dc10:creator "Alice". _:b dc11:title "SPARQL Protocol Tutorial". _:b dc11:creator "Bob". _:c dc10:title "SPARQL". _:c dc11:title "SPARQL (updated)". Query: PREFIX dc10: PREFIX dc11: SELECT ?title ?author WHERE { { ?book dc10:title ?title. ?book dc10:creator ?author } UNION { ?book dc11:title ?title. ?book dc11:creator ?author } }
30
Queries: PREFIX foaf: SELECT ?name FROM WHERE { ?x foaf:name ?name } PREFIX : PREFIX foaf: PREFIX xsd: SELECT ?name WHERE { ?x foaf:name ?name ; :empId ?emp } ORDER BY DESC(?emp) PREFIX foaf: SELECT DISTINCT ?name WHERE { ?x foaf:name ?name }
31
Queries: PREFIX foaf: SELECT ?name WHERE { ?x foaf:name ?name } ORDER BY ?name LIMIT 5 OFFSET 10 PREFIX foaf: PREFIX vcard: CONSTRUCT { vcard:FN ?name } WHERE { ?x foaf:name ?nam e } PREFIX foaf: ASK { ?x foaf:name "Alice" }
32
Data: @prefix foaf:. @prefix dc:. @prefix xsd:. _:a foaf:givenName "Alice". _:b foaf:givenName "Bob". _:b dc:date "2005-04-04T04:04:04Z"^^xsd:dateTime. Query: PREFIX foaf: PREFIX dc: PREFIX xsd: SELECT ?name WHERE { ?x foaf:givenName ?givenName. OPTIONAL { ?x dc:date ?date }. FILTER ( bound(?date) ) }
33
Formalizálás kezdetei
34
Szintaxis
35
Leképezések, szemantika
36
Kompatibilis leképezések
37
Leképezés halmazok közötti műveletek
38
Szemantika I.
39
Szemantika II.
40
Példák Data:
45
Eltérések a W3C szabványtól Halmaz szemantika, multihalmaz szemantika helyett.
46
Kiértékelés, együttes komplexitás
47
AND, FILTER
48
AND, FILTER, UNION
50
AND, FILTER, OPT
51
AND, UNION, OPT
52
Kiértékelés, adat komplexitás
53
Normálforma
54
Jól-tervezett gráf minták I. „Rosszul tervezett” kérdés:
55
Jól-tervezett gráf minták II.
56
Első fontos tulajdonság I. Ha törlünk egy OPT feltételt, azt várjuk, hogy nem nő a a megoldások száma. Ám ez nincs mindig így:
57
Első fontos tulajdonság II.
58
Első fontos tulajdonság III.
59
Második fontos tulajdonság
60
coNP-teljesség
61
Optimalizáció I.
62
Optimalizáció II.
63
Questions?
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.