Dynamic provenance for SPARQL Updates using Named Graphs - - PowerPoint PPT Presentation

dynamic provenance for sparql updates using named graphs
SMART_READER_LITE
LIVE PREVIEW

Dynamic provenance for SPARQL Updates using Named Graphs - - PowerPoint PPT Presentation

Dynamic provenance for SPARQL Updates using Named Graphs Harry Halpin (W3C) James Cheney* (UoE) * supported by Royal Society University Research Fellowship


slide-1
SLIDE 1

Dynamic ¡provenance ¡for ¡SPARQL ¡ Updates ¡using ¡Named ¡Graphs ¡

Harry ¡Halpin ¡(W3C) ¡ James ¡Cheney* ¡(UoE) ¡

* ¡supported ¡by ¡Royal ¡Society ¡University ¡Research ¡Fellowship ¡

slide-2
SLIDE 2

“Linked ¡Data” ¡

slide-3
SLIDE 3

Buzzword ¡detox ¡

  • Linked ¡Data ¡= ¡exporRng ¡RDF ¡using ¡stable ¡ids ¡

– = ¡the ¡part ¡of ¡the ¡“semanRc ¡web” ¡that ¡works ¡

  • RDF ¡= ¡<subject, ¡predicate, ¡object> ¡triples ¡(graphs) ¡
  • Named ¡graphs ¡= ¡RDF ¡graphs ¡with ¡a ¡(URI) ¡name ¡

– duh ¡

  • SPARQL ¡= ¡query ¡language ¡for ¡RDF ¡

– think ¡conjuncRve ¡queries ¡with ¡a ¡few ¡wrinkles ¡ ¡

  • SPARQL ¡Updates ¡= ¡update ¡language ¡for ¡RDF ¡

– Work ¡in ¡progress ¡(part ¡of ¡SPARQL ¡1.1) ¡

slide-4
SLIDE 4

Dynamic ¡provenance ¡

  • By ¡this, ¡I ¡basically ¡just ¡mean ¡version ¡history ¡

– this ¡would ¡cover ¡large ¡fracRon ¡of ¡things ¡people ¡ seem ¡to ¡want ¡right ¡off ¡the ¡bat ¡

  • Plus ¡minimal ¡ability ¡to ¡track ¡sources ¡of ¡data ¡

copied ¡from ¡other ¡places ¡

– i.e., ¡copy-­‑paste ¡provenance ¡for ¡RDF ¡

  • Use ¡of ¡URIs ¡makes ¡this ¡possible. ¡
  • This ¡paper: ¡translate ¡updates ¡to ¡self-­‑maintain ¡
  • provenance. ¡
slide-5
SLIDE 5

a b c d

r u t s g_v0 g_v1

a b d

r t g_v2

a b d

r t u u1 u2

input input

  • utput
  • utput

delete insert G_u1

a c d

s u

m1 prov James

DELETE WHERE { g {?x s ?y . ?y t ?z } }

4pm

G_u2

a d

u

data meta

m2 Harry

INSERT { g {?x u ?y } } WHERE { g {?x t ?y} }

5pm

slide-6
SLIDE 6

Update ¡language ¡

U ::= INSERT {C} WHERE P | DELETE {C} WHERE P | LOAD g INTO g’ | CLEAR g | CREATE g | DROP g where ¡C ¡is ¡a ¡SPARQL ¡graph ¡expression ¡(possibly ¡ with ¡variables) ¡and ¡P ¡is ¡a ¡SPARQL ¡pa_ern ¡that ¡ queries ¡a ¡graph ¡and ¡binds ¡the ¡variables ¡to ¡URIs ¡or ¡

  • literals. ¡
slide-7
SLIDE 7

Graph ¡crea;on ¡(CREATE g): ¡

CREATE g; CREATE gv0; INSERT DATA {GRAPH prov { g version gv0. g current gv0. u1 type create. u1 output gv0. u1 meta m1. ... (other metadata) } }

slide-8
SLIDE 8

Graph ¡dele;on ¡(DROP g): ¡

DROP g; DELETE WHERE { GRAPH prov { g current gvi } }; INSERT DATA {GRAPH prov { ui type drop. ui input gvi. ui meta mi. ... (other metadata) }

slide-9
SLIDE 9

Graph ¡load ¡(LOAD g INTO g’) ¡

LOAD h INTO g; DELETE WHERE {GRAPH prov { g current gvi } }; INSERT DATA {GRAPH prov { g version gvi+1. g current gvi+1. ui type load. ui input gvi. ui output gvi+1. ui source hj. ui meta mi. ... (other metadata) }

slide-10
SLIDE 10

Inser;on ¡(INSERT {C} WHERE P) ¡

CREATE gui; INSERT {GRAPH gui {C}} WHERE P; INSERT {GRAPH g {C}} WHERE P; CREATE gvi+1; LOAD g INTO gvi+1; DELETE DATA {GRAPH prov {<g current gvi>}}; INSERT DATA {GRAPH prov { g version gvi+1. g current gvi+1. ui input gvi. ui output gvi+1. ui type insert. ui data gui. ui source S1. ... ui source Sm. ui meta mi. ... (other metadata) } }

slide-11
SLIDE 11

Also ¡in ¡paper ¡

  • Provenance ¡querying ¡via ¡SPARQL ¡

– implicitly ¡ – SPARQL ¡is ¡not ¡really ¡enough: ¡no ¡recursion. ¡ – Not ¡my ¡problem. ¡

  • Strawman ¡for ¡provenance ¡retrieval ¡over ¡HTTP ¡
slide-12
SLIDE 12

Next ¡steps ¡

  • ImplementaRon ¡ ¡

– should ¡be ¡straigh`orward ¡to ¡implement ¡slow ¡ version ¡

  • Mapping ¡dynamic ¡provenance ¡from ¡other ¡data ¡

models ¡/ ¡DBMSs ¡

– copy-­‑paste ¡DBs/DBWiki ¡ – export ¡from ¡Oracle ¡with ¡metadata?? ¡

  • Reconcile ¡with ¡OPM ¡/ ¡W3C ¡PIL? ¡