RDFS with Attribute Equations via SPARQL...
Transcript of RDFS with Attribute Equations via SPARQL...
![Page 1: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/1.jpg)
RDFS with Attribute Equations via SPARQL Rewriting
Stefan Bischof and Axel PolleresVienna University of Technology Siemens AG Österreich
![Page 2: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/2.jpg)
Place de la Comédie, Montpellier
© http://grasstain.wordpress.com
population
area
avg. temp. in May in °C
![Page 3: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/3.jpg)
Place de la Comédie, Montpellier
© http://grasstain.wordpress.com
CO2 emissions per person
population density
avg. temp. in May
in F
population
area
avg. temp. in May in °C
![Page 4: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/4.jpg)
Use equations to infer missing numbersWhat is the population density of Montpellier?
‣ Montpellierpopulation: 252 998area: 56 880 000 m2
population density: ??? in people/km2
‣ Can we infer population density from given data?computations not supported by Semantic Web reasoners
‣ How can we get area in km2?unit conversion by computation
3
![Page 5: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/5.jpg)
RDFS with Attribute Equations via SPARQL Rewritingthe big picture
4
SPARQL query
RDF data
Results
Triple store
?
![Page 6: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/6.jpg)
What is the population density of Montpellier?written in SPARQL
5
SELECT ?dens WHERE { :Montpellier :populationDensity ?dens .}
SELECT ?city ?dens WHERE { :Montpellier :populationDensity ?mdens . ?city rdf:type :City ; :populationDensity ?dens . FILTER(?dens > ?mdens)}
![Page 7: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/7.jpg)
RDFS with Attribute Equations via SPARQL Rewritingthe big picture
6
SPARQL query
RDFS ontology
RDF data
Results
Triple store
?
![Page 8: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/8.jpg)
We need RDFS for integrating different sources
‣ Unify RDFS properties of different data sources
‣ Use uni"ed name for population
‣ Use already implemented RDFS reasonerswhich allow SPARQL queries
7
dbp:populationTotal rdfs:subpropertyOf :populationgeo:population rdfs:subpropertyOf :population
![Page 9: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/9.jpg)
RDFS with Attribute Equations via SPARQL Rewritingthe big picture
8
SPARQL query
RDFS ontology
RDF data
Results
Triple store
+ equations ?
![Page 10: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/10.jpg)
Syntax RDFS and equationsconverting between RDFS and DLRDFSE
A1 v A2 A1 rdfs :subClassOf A2
9P v A P rdfs :domain A
9P� v A P rdfs : range A
9U v A U rdfs :domain A
P1 v P2 P1 rdfs :subPropertyOf P2
U1 v U2 U1 rdfs :subPropertyOf U2
U0 = f(U1, . . . , Un) U0 definedByEquation“f(U1, . . . ,Un)00
A(x) x rdf : type A
R(x, y) x R y
U(x, q) x U ”q” ˆ̂ owl : rational
9
![Page 11: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/11.jpg)
Syntax RDFS and equationsconverting between RDFS and DLRDFSE
A1 v A2 A1 rdfs :subClassOf A2
9P v A P rdfs :domain A
9P� v A P rdfs : range A
9U v A U rdfs :domain A
P1 v P2 P1 rdfs :subPropertyOf P2
U1 v U2 U1 rdfs :subPropertyOf U2
U0 = f(U1, . . . , Un) U0 definedByEquation“f(U1, . . . ,Un)00
A(x) x rdf : type A
R(x, y) x R y
U(x, q) x U ”q” ˆ̂ owl : rational
9
dbp:population rdfs:domain dbp:populatedPlace.
![Page 12: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/12.jpg)
Syntax RDFS and equationsconverting between RDFS and DLRDFSE
A1 v A2 A1 rdfs :subClassOf A2
9P v A P rdfs :domain A
9P� v A P rdfs : range A
9U v A U rdfs :domain A
P1 v P2 P1 rdfs :subPropertyOf P2
U1 v U2 U1 rdfs :subPropertyOf U2
U0 = f(U1, . . . , Un) U0 definedByEquation“f(U1, . . . ,Un)00
A(x) x rdf : type A
R(x, y) x R y
U(x, q) x U ”q” ˆ̂ owl : rational
9
dbp:population rdfs:domain dbp:populatedPlace.
geonames:population rdfs:subPropertyOf dbp:population .
![Page 13: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/13.jpg)
Syntax RDFS and equationsconverting between RDFS and DLRDFSE
A1 v A2 A1 rdfs :subClassOf A2
9P v A P rdfs :domain A
9P� v A P rdfs : range A
9U v A U rdfs :domain A
P1 v P2 P1 rdfs :subPropertyOf P2
U1 v U2 U1 rdfs :subPropertyOf U2
U0 = f(U1, . . . , Un) U0 definedByEquation“f(U1, . . . ,Un)00
A(x) x rdf : type A
R(x, y) x R y
U(x, q) x U ”q” ˆ̂ owl : rational
9
dbp:population rdfs:domain dbp:populatedPlace.
geonames:population rdfs:subPropertyOf dbp:population .
:Montpellier dbp:population 252998 .
![Page 14: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/14.jpg)
Syntax RDFS and equationsconverting between RDFS and DLRDFSE
A1 v A2 A1 rdfs :subClassOf A2
9P v A P rdfs :domain A
9P� v A P rdfs : range A
9U v A U rdfs :domain A
P1 v P2 P1 rdfs :subPropertyOf P2
U1 v U2 U1 rdfs :subPropertyOf U2
U0 = f(U1, . . . , Un) U0 definedByEquation“f(U1, . . . ,Un)00
A(x) x rdf : type A
R(x, y) x R y
U(x, q) x U ”q” ˆ̂ owl : rational
9
dbp:population rdfs:domain dbp:populatedPlace.
geonames:population rdfs:subPropertyOf dbp:population .
dbp:populationDensity :definedByEquation “dbp:population / dbp:area” .
:Montpellier dbp:population 252998 .
![Page 15: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/15.jpg)
Extend the DLRDFS Semantics by equations
‣ RDFS + attributes: usual DL model theoretic semantics
‣ For an equation, infer a new valueif all other attributes of the equation are given andthere is no division by zerothen the computation result is the new attribute value
‣ satis"ed in
‣ Query answers are not necessarily "niteABoxes inconsistent with equations
10
U0 = f(U1, . . . , Un)
if 8x, y1, . . . , yn(n̂
i=1
(x, yi) 2 U
Ii ) ^ defined(f(U1/y1, . . . , Un/yn)
) (x, eval(f(U1/y1, . . . , Un/yn)) 2 U
I0
I
![Page 16: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/16.jpg)
Extend the DLRDFS Semantics by equations
‣ RDFS + attributes: usual DL model theoretic semantics
‣ For an equation, infer a new valueif all other attributes of the equation are given andthere is no division by zerothen the computation result is the new attribute value
‣ satis"ed in
‣ Query answers are not necessarily "niteABoxes inconsistent with equations
10
U0 = f(U1, . . . , Un)
if 8x, y1, . . . , yn(n̂
i=1
(x, yi) 2 U
Ii ) ^ defined(f(U1/y1, . . . , Un/yn)
) (x, eval(f(U1/y1, . . . , Un/yn)) 2 U
I0
I
dbp:populationDensity :definedByEquation “dbp:population / dbp:area” .
![Page 17: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/17.jpg)
Extend the DLRDFS Semantics by equations
‣ RDFS + attributes: usual DL model theoretic semantics
‣ For an equation, infer a new valueif all other attributes of the equation are given andthere is no division by zerothen the computation result is the new attribute value
‣ satis"ed in
‣ Query answers are not necessarily "niteABoxes inconsistent with equations
10
U0 = f(U1, . . . , Un)
if 8x, y1, . . . , yn(n̂
i=1
(x, yi) 2 U
Ii ) ^ defined(f(U1/y1, . . . , Un/yn)
) (x, eval(f(U1/y1, . . . , Un/yn)) 2 U
I0
I
dbp:populationDensity :definedByEquation “dbp:population / dbp:area” .
:Montpellier dbp:population 252998 .:Montpellier dbp:area 56.88 .
![Page 18: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/18.jpg)
Extend the DLRDFS Semantics by equations
‣ RDFS + attributes: usual DL model theoretic semantics
‣ For an equation, infer a new valueif all other attributes of the equation are given andthere is no division by zerothen the computation result is the new attribute value
‣ satis"ed in
‣ Query answers are not necessarily "niteABoxes inconsistent with equations
10
U0 = f(U1, . . . , Un)
if 8x, y1, . . . , yn(n̂
i=1
(x, yi) 2 U
Ii ) ^ defined(f(U1/y1, . . . , Un/yn)
) (x, eval(f(U1/y1, . . . , Un/yn)) 2 U
I0
I
dbp:populationDensity :definedByEquation “dbp:population / dbp:area” .
:Montpellier dbp:population 252998 .:Montpellier dbp:area 56.88 .
:Montpellier dbp:populationDensity 4447.93 .
![Page 19: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/19.jpg)
Formulate equations as rulesn rules for equations in n variables
‣ Equation given for population density
‣ Formulate equation as rule
‣ More rules needed to cover all directions
11
areakm2 (X,A) ( popDensity(X,PD), population(X,P ), A = P ÷ PD .
areakm2 =population
popDensity
popDensity(X,PD) ( population(X,P ), areakm2 (X,A),PD = P ÷A.
population(X,P ) ( areakm2 (X,A), popDensity(X,PD), P = A⇥ PD .
![Page 20: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/20.jpg)
‣ DBpedia: population 252 998, area 56.88 km2
‣ Apply rule: population density 4447.925...293
‣ Apply rules: population 252 997.999...999 and area 56.880...003
‣ Rules engine computes population density again: 4447.925...275
Forward chaining often does not terminatebecause of rounding errors
12
popDensity(X,PD) ( population(X,P ), areakm2 (X,A),PD = P ÷A.
areakm2 (X,A) ( population(X,P ), popDensity(X,PD), A = P ÷ PD .
population(X,P ) ( areakm2 (X,A), popDensity(X,PD), P = A⇥ PD .
![Page 21: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/21.jpg)
Naive backward chaining does not terminateunfolding of recursive rules blows up arbitrarily
‣ To compute the population density query for population densitymakes no sense
13
areakm2 (X,A) ( popDensity(X,PD), population(X,P ), A = P ÷ PD .
popDensity(X,PD) ( population(X,P ), areakm2 (X,A),PD = P ÷A.
population(X,P ) ( areakm2 (X,A), popDensity(X,PD), P = A⇥ PD .
![Page 22: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/22.jpg)
Naive backward chaining does not terminateunfolding of recursive rules blows up arbitrarily
‣ To compute the population density query for population densitymakes no sense
13
areakm2 (X,A) ( popDensity(X,PD), population(X,P ), A = P ÷ PD .
popDensity(X,PD) ( population(X,P ), areakm2 (X,A),PD = P ÷A.
population(X,P ) ( areakm2 (X,A), popDensity(X,PD), P = A⇥ PD .
![Page 23: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/23.jpg)
Naive backward chaining does not terminateunfolding of recursive rules blows up arbitrarily
‣ To compute the population density query for population densitymakes no sense
13
areakm2 (X,A) ( popDensity(X,PD), population(X,P ), A = P ÷ PD .
popDensity(X,PD) ( population(X,P ), areakm2 (X,A),PD = P ÷A.
population(X,P ) ( areakm2 (X,A), popDensity(X,PD), P = A⇥ PD .
![Page 24: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/24.jpg)
Rules are problematic for applying equationsbreak the in!nite series of rule applications
‣ Need to specify all directions of the equationnot as intuitive and short as equations
‣ Forward chaining often does not terminatedivision or multiplication is often enough for non-terminationimplementation dependent
‣ Backward chaining does not terminateunfolding of recursive rules can blow up arbitrarilyeven for a single equation no termination
‣ We have to break the in"nite series of rule applications
14
![Page 25: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/25.jpg)
RDFS with Attribute Equations via SPARQL Rewritingthe big picture
15
SPARQL query
RDFS ontology
RDF data
Results
Triple store
PerfectRefrewriter
UCQ
+ equations
?
?
![Page 26: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/26.jpg)
Query answering in DL-Lite: PerfectRef Encode TBox in the query [Calvanese et al., 2009]
conj. query q
TBox T
ABox A
PerfectRefQuery q’
Queryevaluation
Answer query q over ontology (T,A)
certain answers
16
![Page 27: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/27.jpg)
RDFS with Attribute Equations via SPARQL Rewritingthe big picture
17
SPARQL query
RDFS ontology
RDF data
Results
Triple store
PerfectRefrewriter
UCQ
+ equations + equations
?
?
![Page 28: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/28.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 29: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/29.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensity
popDensity =population
areakm2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 30: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/30.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensity
areakm2 population
popDensity =population
areakm2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 31: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/31.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensity
areakm2 population
popDensity =population
areakm2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 32: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/32.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity
popDensity
areakm2 population
popDensity =population
areakm2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 33: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/33.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity
popDensity
areakm2 population
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 34: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/34.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity
popDensity
areakm2 population
aream2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 35: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/35.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity
popDensity
popDensity
areakm2 population
aream2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 36: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/36.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity
popDensity areakm2
popDensity
areakm2 population
aream2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 37: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/37.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity
popDensity areakm2
popDensity
areakm2 population
aream2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000 areamile2 = areakm2 ⇥ 2.590
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 38: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/38.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity
popDensity areakm2
popDensity
areakm2 population
areamile2aream2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000 areamile2 = areakm2 ⇥ 2.590
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 39: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/39.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity
popDensity popDensityareakm2
popDensity
areakm2 population
areamile2aream2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000 areamile2 = areakm2 ⇥ 2.590
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 40: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/40.jpg)
Break the in"nite series of equation applicationsAdorn attributes by used attributes
18
popDensitypopDensity
popDensity popDensityareakm2 areakm2
popDensity
areakm2 population
areamile2aream2
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000 areamile2 = areakm2 ⇥ 2.590
popDensity =population
areakm2
aream2 = areakm2 ⇥ 1 000 000
areamile2 = areakm2 ⇥ 2.590
![Page 41: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/41.jpg)
Extend the DL-Lite PerfectRef algorithmby equations and adorned attributes
19
8 Stefan Bischof and Axel Polleres
Note that here we slightly abused notation using ans(qP , K) synonymous for whatwould be more precisely “the set of SPARQL variable mappings corresponding toans(qP , K)”. As for the semantics of more complex patterns, we refer the reader to[16, 19] for details, except for the semantics of BIND which is newly introduced inSPARQL 1.1 [10], which we define as:
JP BIND (Expr AS v)KG = {µ fi {v æ eval(µ(Expr))} | µ œ JP KG}
Here, by eval(µ(Expr)) we denote the actual value in Q from evaluating the arithmeticexpression Expr after applying the substitutions from µ.
3.1 Adapting PerfectRef to DLERDFS
Next, we extend the PerfectRef algorithm [3] which reformulates a conjunctive queryto directly encode needed TBox assertions in the query. The algorithm PerfectRefEin Algorithm 1 extends the original PerfectRef by equation axioms and conjunctive
Algorithm 1: Rewriting algorithm PerfectRefEInput: Conjunctive query q, TBox TOutput: Union (set) of conjunctive queries
1 P := {q}2 repeat3 P
Õ:= P
4 foreach q œ P
Õ do5 foreach g in q do // expansion6 foreach inclusion axiom I in T do7 if I is applicable to g then8 P := P fi
)q[g/ gr(g, I)]
*
9 foreach equation axiom E in T do10 if g = U
adn(g)(x, y) is an (adorned) attribute atom, U œ vars(E) and
vars(E) fl adn(g) = ÿ then11 P := P fi
)q[g/ expand(g, E)]
*
12 until P
Õ= P
13 return P
Table 2. Semantics of gr(g, I) of Algorithm 1
g I gr(g/I)
A(x) B ı A B(x)
÷P ı A P (x, _)
÷P
≠ ı A P (_, x)
÷U ı A U(x, _)
P1(x, y) P2 ı P1 P2(x, y)
U
adn(g)1 (x, y) U2 ı U1 U
adn(g)2 (x, y)
Preliminary version – May 24, 2013
![Page 42: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/42.jpg)
‣ Equations
‣ Original query
‣ Step 1: Expand popDens by E1
‣ Step 2: Expand area by E2
PerfectRef with adorned attributesquery rewriting
20
popDens(montpellier,X)
E1: popDens =population
areakm2E2: aream2 = areakm2⇥ 1 000 000
population
{popDens}(montpellier, P ),
aream2{popDens,area}(montpellier, A1), A = A1 ⇤ 1000000, X = P/A
population
{popDens}(montpellier, P ),
areakm2{popDens}(montpellier, A), X = P/A
![Page 43: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/43.jpg)
‣ Equations
‣ Original query
‣ Step 1: Expand popDens by E1
‣ Step 2: Expand area by E2
PerfectRef with adorned attributesquery rewriting
20
popDens(montpellier,X)
E1: popDens =population
areakm2E2: aream2 = areakm2⇥ 1 000 000
population
{popDens}(montpellier, P ),
aream2{popDens,area}(montpellier, A1), A = A1 ⇤ 1000000, X = P/A
population
{popDens}(montpellier, P ),
areakm2{popDens}(montpellier, A), X = P/A
![Page 44: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/44.jpg)
‣ Equations
‣ Original query
‣ Step 1: Expand popDens by E1
‣ Step 2: Expand area by E2
PerfectRef with adorned attributesquery rewriting
20
popDens(montpellier,X)
E1: popDens =population
areakm2E2: aream2 = areakm2⇥ 1 000 000
population
{popDens}(montpellier, P ),
aream2{popDens,area}(montpellier, A1), A = A1 ⇤ 1000000, X = P/A
population
{popDens}(montpellier, P ),
areakm2{popDens}(montpellier, A), X = P/A
![Page 45: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/45.jpg)
PerfectRefE is sound but incomplete in generalconditions for completeness
‣ ABox is data-coherent with the TBoxmodel of each object has at most one value per attributeattribute inclusions must also be considered
‣ For data-coherent ABoxes wrt. the TBox and rewritten SPARQL queries (free of non-distinguished variables) PerfectRefE is sound and complete
21
![Page 46: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/46.jpg)
PerfectRefE is sound but incomplete in generalconditions for completeness
‣ ABox is data-coherent with the TBoxmodel of each object has at most one value per attributeattribute inclusions must also be considered
‣ For data-coherent ABoxes wrt. the TBox and rewritten SPARQL queries (free of non-distinguished variables) PerfectRefE is sound and complete
21
:M dbp:area_km2 1 .:M dbp:area_mi2 2.590 .
![Page 47: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/47.jpg)
PerfectRefE is sound but incomplete in generalconditions for completeness
‣ ABox is data-coherent with the TBoxmodel of each object has at most one value per attributeattribute inclusions must also be considered
‣ For data-coherent ABoxes wrt. the TBox and rewritten SPARQL queries (free of non-distinguished variables) PerfectRefE is sound and complete
21
:M dbp:area_km2 1 .:M dbp:area_mi2 2.590 .
:M dbp:area_km2 1 .:M dbp:area_mi2 2.6 .
![Page 48: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/48.jpg)
RDFS with Attribute Equations via SPARQL Rewritingthe big picture
22
SPARQL query
RDFS ontology
RDF data
Results
Triple store
SPARQL transformator
PerfectRefrewriter
UCQ
+ equations + equations
+ equations
?+ equations
![Page 49: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/49.jpg)
Rewrite SPARQL queries by PerfectRef
‣ SPARQL basic graph patterns (BGPs) the fundamental building block for graph pattern matching
‣ BGPs can be expressed by conjunctive queries [Perez et al., 2009] no variables as predicates :Montpellier ?prop “Montpellier”no variables for classes :Montpellier rdf:type ?class
‣ Convert BGPs to CQs, rewrite CQs to UCQs, convert UCQs to SPARQL
‣ SPARQL translatorrewrite each BGP independently by PerfectRefE
‣ Variable assignments are rewritten to SPARQL 1.1 BIND
23
![Page 50: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/50.jpg)
‣ CQ 1:
‣ CQ 2:
‣ CQ 3:
SELECT ?X WHERE { { :Montpellier dbo:populationDensity ?X . } UNION { :Montpellier dbo:populationTotal ?p ; dbp:areaTotalKm ?a . BIND (?p/?a as ?X) } UNION { :Montpellier dbo:populationTotal ?p ; dbo:area ?a2 . BIND (?a2/1000000 as ?a) BIND (?p/?a as ?X) }}
Rewrite SPARQL query by PerfectRefrewritten SPARQL query
24
popDens(montpellier,X)
population
{popDens}(montpellier, P ),
area
{popDens}(montpellier, A), X = P/A
population
{popDens}(montpellier, P ), A = A1 ⇤ 1000000,aream2{popDens,area}(montpellier, A1), X = P/A
![Page 51: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/51.jpg)
‣ CQ 1:
‣ CQ 2:
‣ CQ 3:
SELECT ?X WHERE { { :Montpellier dbo:populationDensity ?X . } UNION { :Montpellier dbo:populationTotal ?p ; dbp:areaTotalKm ?a . BIND (?p/?a as ?X) } UNION { :Montpellier dbo:populationTotal ?p ; dbo:area ?a2 . BIND (?a2/1000000 as ?a) BIND (?p/?a as ?X) }}
Rewrite SPARQL query by PerfectRefrewritten SPARQL query
24
popDens(montpellier,X)
population
{popDens}(montpellier, P ),
area
{popDens}(montpellier, A), X = P/A
population
{popDens}(montpellier, P ), A = A1 ⇤ 1000000,aream2{popDens,area}(montpellier, A1), X = P/A
![Page 52: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/52.jpg)
RDFS with Attribute Equations via SPARQL Rewritingthe big picture
25
SPARQL query
RDFS ontology
RDF data
Results
Triple store
SPARQL transformator
PerfectRefrewriter
UCQSPARQL engine
+ equations + equations
+ equations
+ equations
![Page 53: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/53.jpg)
How does the rewriting algorithm perform on real world data?
‣ Collected data about citiesfrom several sources (e.g., DBpedia, Eurostat)254 081 triples for 3161 city contextsinconsistent and consistent dataset
‣ 6 equations, 2 subProperties and 1 subClass axioms
‣ 4 different queries
‣ 3 implementationsJena forward rules with ARQJena forward rules with ARQ with noValueRewriting with ARQ
26
![Page 54: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/54.jpg)
How does the rewriting algorithm perform on real world data?
‣ Collected data about citiesfrom several sources (e.g., DBpedia, Eurostat)254 081 triples for 3161 city contextsinconsistent and consistent dataset
‣ 6 equations, 2 subProperties and 1 subClass axioms
‣ 4 different queries
‣ 3 implementationsJena forward rules with ARQJena forward rules with ARQ with noValueRewriting with ARQ
26
(?city :area ?ar) (?city :populationDensity ?pd)product(?ar, ?pd, ?p) noValue (?city, :populationDensity)-> (?city :population ?p)
![Page 55: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/55.jpg)
Jena rules with ARQ gives no results
‣ n rules for an equation in n variables
‣ Forward chaining implementation
‣ No query returned any result within 10 minutes
‣ Even for reduced dataset
27
![Page 56: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/56.jpg)
Rewriting is signi"cantly faster than Jena rules with noValue
Query 1
Query 2
Query 3
Query 4
0 10 20 30 40
Jena rules with noValueSPARQL query rewriting
Query response time in seconds
28
![Page 57: RDFS with Attribute Equations via SPARQL Rewritingstefanbischof.at/publications/ESWC2013-slides.pdf · RDFS with Attribute Equations via SPARQL Rewriting Stefan Bischof and Axel Polleres](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010853c8dee61012f30630b/html5/thumbnails/57.jpg)
Conclusions
‣ Reasoning about equations on numerical properties is important and feasiblelots of numeric open data available
‣ Rule engines are not well suited for such attribute equationsespecially on real world data
‣ Query rewriting enables such reasoning on top of off-the-shelf SPARQL enginesalso possible on public SPARQL endpoints
‣ Query rewriting can be signi"cantly faster than forward chaining rule engines
29