• Aucun résultat trouvé

How to know how much we know

N/A
N/A
Protected

Academic year: 2022

Partager "How to know how much we know"

Copied!
111
0
0

Texte intégral

(1)

How to know how much we know

Luis Galárraga November 16th, 2017 Data Science Seminar @ LTCI

Towards a completeness-aware Semantic Web

(2)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

(3)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

Enabling completeness in SPARQL

(4)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

(5)

RDF Knowledge Bases (KBs)

Collection of structured knowledge

Français ofcialLanguage

Switzerland Romance

family

citizenOf ofcialLanguage

Italiano

family

(6)

RDF Knowledge Bases (KBs)

RDF KBs can be queried using SPARQL

Français ofcialLanguage

Switzerland Romance

family

citizenOf ofcialLanguage

Italiano

family

SELECT ?x WHERE {

(7)

RDF Knowledge Bases (KBs)

RDF KBs can be queried using SPARQL

Français ofcialLanguauaguae

Switzerland Romance

family

citizenOf ofcialLanguauaguae

Italiano

family

SELECT ?x WHERE {

Switzerland ofcialLanguauaguae ?x . ?x family Romance .

(8)

RDF Knowledge Bases (KBs)

RDF KBs can be queried using SPARQL

Français ofcialLanguauaguae

Switzerland Romance

family

citizenOf ofcialLanguauaguae

Italiano

family

SELECT ?x WHERE {

(9)

RDF Knowledge Bases (KBs)

RDF KBs can be queried using SPARQL

Français ofcialLanguauaguae

Switzerland Romance

family

citizenOf ofcialLanguauaguae

Italiano

family

SELECT ?x WHERE {

Switzerland ofcialLanguauaguae ?x . ?x family Romance .

(10)

Plenty of KBs out there!

(11)

Plenty of KBs out there!

(12)

KBs in action

(13)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

Enabling completeness in SPARQL

(14)

Completeness in RDF KBs

KBs are highly incomplete

1% of people have a citizenship in YAGO

(15)

Completeness in RDF KBs

KBs are highly incomplete

1% of people have a citizenship in YAGO

We do not know where the incompleteness lies

(16)

Completeness in RDF KBs

KBs are highly incomplete

1% of people have a citizenship in YAGO

We do not know where the incompleteness lies

A single person in the KB could be actually single or the

KB may be incomplete

(17)

Completeness in RDF KBs

KBs are highly incomplete

1% of people have a citizenship in YAGO

We do not know where the incompleteness lies

A single person in the KB could be actually single or the KB may be incomplete

Problems for data producers and consumers

(18)

Completeness in RDF KBs

KBs are highly incomplete

1% of people have a citizenship in YAGO

We do not know where the incompleteness lies

A single person in the KB could be actually single or the KB may be incomplete

Problems for data producers and consumers

(19)

Completeness in RDF KBs

(20)

Completeness in RDF KBs

(21)

Completeness

Defned with respect to a query q via a complete

hypothetical KB K*.

(22)

Completeness

Defned with respect to a query q via a complete hypothetical KB K*.

A query q is complete in K, if q(K*) q(K). ⊆

(23)

Completeness

Defned with respect to a query q via a complete hypothetical KB K*.

A query q is complete in K, if q(K*) q(K). ⊆

SELECT ?x WHERE { Switzerland ofcialLanguage ?x }

Français ofcialLanguage ofcialLanguage

Italiano

(24)

Completeness

Defned with respect to a query q via a complete hypothetical KB K*.

A query q is complete in K, if q(K*) q(K). ⊆

SELECT ?x WHERE { Switzerland ofcialLanguage ?x }

Are these all the ofcial languauaguaes of

Français ofcialLanguage ofcialLanguage

(25)

Completeness

Defned with respect to a query q via a complete hypothetical KB K*.

A query q is complete in K, if q(K*) q(K). ⊆

SELECT ?x WHERE { Switzerland ofcialLanguage ?x }

Are these all the ofcial languauaguaes of

Switzerland?

Français ofcialLanguage ofcialLanguage

Italiano

(26)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

(27)

Completeness in RDF data

Wikidata keeps lists of subject-relation pairs with missing values.

placeOfBirth

Georguae of Trebizond

(28)

Completeness in RDF data

Wikidata keeps lists of subject-relation pairs with missing values.

placeOfBirth

Georguae of Trebizond

SELECT ?x WHERE { George of Trebizond placeOfBirth ?x }

(29)

Completeness in RDF data

Wikidata keeps lists of subject-relation pairs with missing values.

placeOfBirth

Georguae of Trebizond

SELECT ?x WHERE { George of Trebizond placeOfBirth ?x }

[Incomplete query]

(30)

Completeness in RDF data

Wikidata also provides no value annotations

(31)

Completeness in RDF data

Wikidata also provides no value annotations

SELECT ?x WHERE { USA ofcialLanguage ?x }

ofcialLanguage

(32)

Completeness in RDF data

Wikidata also provides no value annotations

SELECT ?x WHERE { USA ofcialLanguage ?x }

ofcialLanguage

[Complete query]

(33)

Completeness in RDF data

Wikidata also provides no value annotations

SELECT ?x WHERE { USA ofcialLanguage ?x }

Not applicable if we know some ofcial language

[Complete query]

ofcialLanguage

(34)

Completeness in RDF data

Wikidata also provides no value annotations

SELECT ?x WHERE { USA ofcialLanguage ?x }

Not applicable if we know some ofcial language

[Complete query]

ofcialLanguage

(35)

Completeness in RDF data

[S. Razniewski, W. Nutt, 2011]

Completeness formulation, table & query completeness, complexity analysis.

Reasoning over incomplete databases, TC-TC & TC-QC

[X. Dong et al., 2014]

71% of people in Freebase does not have a place of birth

[F. Darari et al., 2013], [F. Darari et al., 2016]

(36)

Completeness in RDF data

[E. Muñoz, M. Nickels, 2017]

Mine cardinalities for object values in order to assess completeness in KBs.

[T. P. Tanon et al., 2017]

Obtain cardinality estimations to generate completeness

statements to better assess the quality of rules learned

from KBs.

(37)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles [Our contribution]

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

Enabling completeness in SPARQL

(38)

Completeness oracle

Boolean function ɷ(q, K) that guesses the

completeness of a query q in a KB K .

(39)

SR completeness oracle

[Galárraga et. al., 2017] Function ɷ that guesses the completeness of queries of the form:

SELECT ?x WHERE { subject relation ?x }

(40)

SR completeness oracle

[Galárraga et. al., 2017] Function ɷ that guesses the completeness of queries of the form:

SELECT ?x WHERE { subject relation ?x }

We use the notation ɷ(subject, relation)

(41)

SR completeness oracle

[Galárraga et. al., 2017] Function ɷ that guesses the completeness of queries of the form:

SELECT ?x WHERE { subject relation ?x }

We use the notation ɷ(subject, relation)

ɷ = pca(s, r) = partial completeness assumption

(42)

SR completeness oracle

[Galárraga et. al., 2017] Function ɷ that guesses the completeness of queries of the form:

We use the notation ɷ(subject, relation)

ɷ = pca(s, r) = partial completeness assumption

Query is complete in KB if at least one answer

SELECT ?x WHERE { subject relation ?x }

(43)

Evaluating SR oracles

ɷ = pca(s, r) = partial completeness assumption

Gold standard:

Complete instances in the domain of ofcialLanguage

Français

Français

Italiano

Dansk

Français

(44)

Evaluating SR oracles

ɷ = pca(s, r) = partial completeness assumption

Italiano PCA oracle

Gold standard:

Complete instances in the domain of ofcialLanguage

(45)

Evaluating SR oracles

ɷ = american-country-oracle(s, r)

Français

Français

Italiano

Dansk

Français PCA oracle Gold standard:

Complete instances in the domain of ofcialLanguage

(46)

Evaluating SR oracles

Français

Italiano

Dansk

PCA oracle

PCA oracle Precision = 3/5

Recall = 3/4

American country oracle Precision = 1/2

Recall = 1/4

Gold standard:

Complete instances in the domain of ofcialLanguage

(47)

SR completeness oracles

Closed World Assumption: cwa(s, r) = true

PCA: pca(s, r) = o : r(s, o) ∃

Cardinality: card(s, r) = #(o : r(s, o)) k ≥

Popular entities: popularity

pop

(s, r) = pop(s)

No-chg over time: nochange

chg

(s, r) = chg(s, r) ∼

Star : star

r1,..,rn

(s, r) = i {1,..,n} : o : r ∀ ∊ ∃

i

(s, o)

(48)

Rule mining SR oracle

Based on completeness rules

notype(x, Adult), type(x, Person) complete(x, hasChild)

dateOfDeath(x, y), lessThan1(x, placeOfDeath) incomplete(x, placeOfDeath)

(49)

Rule mining SR oracle

Based on completeness rules

notype(x, Adult), type(x, Person) complete(x, hasChild)

dateOfDeath(x, y), lessThan1(x, placeOfDeath) incomplete(x, placeOfDeath)

Learned using the AMIE [Galárraga et. al, 2013] rule mining system

On gold standard built via crowdsourcing

(50)

Rule mining SR oracle

Based on completeness rules

notype(x, Adult), type(x, Person) complete(x, hasChild)

dateOfDeath(x, y), lessThan1(x, placeOfDeath) incomplete(x, placeOfDeath)

Learned using the AMIE [Galárraga et. al, 2013] rule mining system

On gold standard built via crowdsourcing

(51)

Performance of SR oracles

Relation CWA PCA Class AMIE

diedIn 60% 22% 99% 96%

directed 40% 96% 0% 100%

graduatedFrom 89% 4% 92% 87%

hasChild 71% 1% 78% 78%

hasGender 78% 100% 95% 100%

hasParent 1% 54% 0% 100%

isCitizenOf 4% 98% 5% 100%

isConnectedTo 87% 34% 88% 89%

F1 measure of the oracles in YAGO3

(52)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

(53)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

Enabling completeness in SPARQL

(54)

Representing completeness oracles

Extensional approach [Darari, et al, 2013]

An oracle is a collection of completeness statements

about queries

(55)

Representing completeness oracles

Extensional approach [Darari, et al, 2013]

An oracle is a collection of completeness statements about queries

SELECT DISTINCT ?y WHERE { ?x hasOfcialLanguauaguae ?y } is complete in the KB

(56)

Representing completeness oracles

Extensional approach [Darari, et al, 2013]

An oracle is a collection of completeness statements about queries

statement hasPattern pattern subje

ct ?x

a Variable

SELECT DISTINCT ?y WHERE { ?x hasOfcialLanguauaguae ?y } is complete in the KB

(57)

Representing completeness oracles

Extensional approach [Darari, et al, 2013]

A call to the oracle asks for the existence of the query in the graph

statement hasPattern pattern subje

ct ?x

a

predicate hasProjectionV object

distinct

Variable

hasOfcialLanguage

SELECT DISTINCT ?y WHERE { ?x hasOfcialLanguauaguae ?y } is complete in the KB

(58)

Representing completeness oracles

Intensional approach

The oracle logic is embedded as a lambda function or a

link to a program or resource

(59)

Representing completeness oracles

Intensional approach

The oracle logic is embedded as a lambda function or a link to a program or resource

pca-citizenship a SR-Oracle amie-oracle

a

hasFormula

RM-Oracle

o : isCitizenOf(s, o)

precision

96% http://example.org/rest/oracle

address a

(60)

Providing completeness guarantees

(61)

Providing completeness guarantees

(62)

Providing completeness guarantees

SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?lang family Romance .

(63)

Providing completeness guarantees

SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?lang family Romance .

}

How to provide completeness guauarantees

for arbitrary queries?

(64)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

(65)

D completeness oracles

Oracle ɷ

d

for the completeness of queries:

SELECT DISTINCT ?x WHERE { ?x relation ?y } SELECT DISTINCT ?y WHERE { ?x relation ?y }

(66)

D completeness oracles

Oracle ɷ

d

for the completeness of queries:

We use the notation ɷ

d

(relation) or ɷ

d

(relation

-1

)

SELECT DISTINCT ?x WHERE { ?x relation ?y } SELECT DISTINCT ?y WHERE { ?x relation ?y }

SELECT DISTINCT ?y WHERE { ?x ofcialLanguage ?y }

(67)

D completeness oracles

Oracle ɷ

d

for the completeness of queries:

We use the notation ɷ

d

(relation) or ɷ

d

(relation

-1

)

SELECT DISTINCT ?x WHERE { ?x relation ?y } SELECT DISTINCT ?y WHERE { ?x relation ?y }

SELECT DISTINCT ?y WHERE { ?x ofcialLanguage ?y }

If ɷ

d

(ofcialLanguauaguae) returns true, ɷ

d

states that

the KB knows all languages that are ofcial in

(68)

Completeness guarantees for arbitrary queries

Write completeness annotations for every possible type of query

It requires a large amount of efort

(69)

Completeness guarantees for arbitrary queries

Write completeness annotations for every possible type of query

It requires a large amount of efort

Reuse existing SR and D oracles

(70)

Completeness guarantees for arbitrary queries

Write completeness annotations for every possible type of query

It requires a large amount of efort

Reuse existing SR and D oracles

SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?lang family Romance .

(71)

Completeness guarantees for arbitrary queries

Write completeness annotations for every possible type of query

It requires a large amount of efort

Reuse existing SR and D oracles

SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?lang family Romance .

}

(72)

Completeness guarantees for arbitrary queries

Write completeness annotations for every possible type of query

It requires a large amount of efort

Reuse existing SR and D oracles

SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?langua family Romance .

(73)

Completeness guarantees for arbitrary queries

Write completeness annotations for every possible type of query

It requires a large amount of efort

Reuse existing SR and D oracles

SELECT ?country WHERE {

?country ofcialLanguauaguae ?langua . ?langua family Romance .

}

(74)

Completeness guarantees for arbitrary queries

Write completeness annotations for every possible type of query

It requires a large amount of efort

Reuse existing SR and D oracles

SELECT ?country WHERE {

?country ofcialLanguauaguae ?langua .

?langua family Romance . It will guaenerate

(75)

Completeness guarantees for arbitrary queries

Write completeness annotations for every possible type of query

It requires a large amount of efort

Reuse existing SR and D oracles

If the KB misses Liguaurian, this term

returns false

SELECT ?country WHERE {

?country ofcialLanguauaguae ?langua . ?langua family Romance .

}

It will guaenerate false neguaatives

(76)

Completeness guarantees for arbitrary queries

Write completeness annotations for every possible type of query

It requires a large amount of efort

Reuse existing SR and D oracles

SELECT ?country WHERE {

?country ofcialLanguauaguae ?langua . ?langua family Romance .

Even thouguah this term does not care, because Liguaurian is not

ofcial in any country

(77)

Completeness guarantees for arbitrary queries

Multiple oracle expressions can ofer completeness

guarantees for a query.

(78)

Completeness guarantees for arbitrary queries

Multiple oracle expressions can ofer completeness guarantees for a query.

ɷ1 = ɷ(Romance, family-1) (∧

ɷ(l, ofcialLanguage-1)) SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?lang family Romance .

}

(79)

Tightness for completeness guarantees

ɷ’ ≺

q

ɷ’’ for q if K : ɷ’’(q, K) ∀ ∧ ɷ’(q, K) :

ɷ’’(q, K’) ɷ’(q, K’) K’ K.

ɷ1 = ɷ(Romance, family-1) (∧

l:family(l, Romance) ɷ(l, ofcialLanguage-1)) ɷ2 = ɷ(Romance, family-1) (∧

ɷ(l, ofcialLanguage-1))

SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?lang family Romance .

}

(80)

Tightness for completeness guarantees

ɷ’ ≺

q

ɷ’’ for q if K : ɷ’’(q, K) ∀ ∧ ɷ’(q, K) :

ɷ’’(q, K’) ɷ’(q, K’) K’ K.

ɷ1 = ɷ(Romance, family-1) (∧

ɷ(l, ofcialLanguage-1)) SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?lang family Romance .

} ɷ1 q ɷ3 q ɷ2

(81)

Cost for completeness guarantees

Number of oracle calls required for the answer

ɷ1 = ɷ(Romance, family-1) (∧

l:family(l, Romance) ɷ(l, ofcialLanguage-1)) ɷ2 = ɷ(Romance, family-1) (∧

ɷ(l, ofcialLanguage-1))

SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?lang family Romance .

}

(82)

Cost for completeness guarantees

Number of oracle calls required for the answer

ɷ1 = ɷ(Romance, family-1) (∧

ɷ(l, ofcialLanguage-1)) SELECT ?country WHERE {

?country ofcialLanguage ?lang . ?lang family Romance .

}

cost(ɷ1) = 1 + (#l: family(l, Romance))

(83)

Automatic oracle composition

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang .

?country locatedIn Europe

ofcialLanguage ?lang family Romance

monarch ?monarch

(84)

Automatic oracle composition

Projection variable

?country locatedIn Europe

?lang family Romance

monarch ?monarch

ofcialLanguage

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

(85)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

ofcialLanguage

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang .

(86)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

Selective guaraph pattern

ofcialLanguage

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

(87)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

ɷ(Europe, locatedIn-1)

ofcialLanguage

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang .

(88)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

Non-selective guaraph pattern

ofcialLanguage

ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

(89)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

ofcialLanguage

ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang .

1. ɷd(monarch) (∧ ∧country ɷ(country, monarch)) 2. ɷd(monarch-1) (∧ ∧country ɷ(country, monarch-1))

(90)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

ofcialLanguage

ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

1. ɷd(monarch) (∧ ∧country ɷ(country, monarch)) 2. ɷd(monarch-1) (∧ ∧country ɷ(country, monarch-1))

(91)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

ofcialLanguage

ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang .

ɷd(monarch)

(∧country ɷ(country, monarch))

(92)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

ofcialLanguage

ɷd(monarch)

(∧country ɷ(country, monarch))

ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

(93)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

ɷ(Romance, family-1) ɷd(monarch)

(∧country ɷ(country, monarch)) ɷ(Europe, locatedIn-1)

ofcialLanguage

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang .

(94)

Automatic oracle composition

?country locatedIn Europe

ofcialLanguage ?lang family Romance

monarch ?monarch

ɷ(Romance, family-1) ɷd(monarch)

(∧country ɷ(country, monarch)) ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

(95)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

l : family(l, Romance) ɷ(l, ofcialLanguage-1)

ofcialLanguage

ɷ(Romance, family-1) ɷd(monarch)

(∧country ɷ(country, monarch)) ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang .

(96)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

l : family(l, Romance) ɷ(l, ofcialLanguage-1)

ofcialLanguage

ɷ(Romance, family-1) ɷd(monarch)

(∧country ɷ(country, monarch)) ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

(97)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

l : family(l, Romance) ɷ(l, ofcialLanguage-1)

ofcialLanguage

ɷ(Romance, family-1) ɷd(monarch)

(∧country ɷ(country, monarch)) ɷ(Europe, locatedIn-1)

Under bagua semantics the projection variable is irrelevant

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang . ?lang family Romance .

(98)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

c: locatedIn(c, Europe), monarch(c, x) ɷ(l, ofcialLanguage-1)

ofcialLanguage

ɷ(Romance, family-1) ɷd(monarch)

(∧country ɷ(country, monarch)) ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang .

(99)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

c: locatedIn(c, Europe), monarch(c, x) ɷ(l, ofcialLanguage-1)

ofcialLanguage

ɷ(Romance, family-1) ɷd(monarch)

(∧country ɷ(country, monarch)) ɷ(Europe, locatedIn-1)

SELECT ?country WHERE {

?country monarch ?monarch . ?country locatedIn Europe .

?country ofcialLanguage ?lang . ?lang family Romance .

Challenguae:

Evaluate frst the oracles with smaller cost!

(100)

Automatic oracle composition

?country locatedIn Europe

?lang family Romance

monarch ?monarch

c: locatedIn(c, Europe), monarch(c, x) ɷ(l, ofcialLanguage-1)

ofcialLanguage

ɷ(Romance, family-1) ɷd(monarch)

(∧country ɷ(country, monarch)) ɷ(Europe, locatedIn-1)

SELECT DISTINCT ?langua WHERE { ?country monarch ?monarch .

?country locatedIn Europe .

?country ofcialLanguage ?lang .

Projection variable matters

(101)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

Enabling completeness in SPARQL

(102)

Enabling completeness in SPARQL

Calls to completeness oracles could be embedded in the query language

(103)

Enabling completeness in SPARQL

Calls to completeness oracles could be embedded in the query language

Example: aggregated number of Spanish speakers in a

county per state, only for those states with complete

information

(104)

Enabling completeness in SPARQL

Calls to completeness oracles could be embedded in the query language

Example: aggregated number of Spanish speakers in a county per state, only for those states with complete information

SELECT ?state sum(?nspeak) WHERE {

(105)

Enabling completeness in SPARQL

Calls to completeness oracles could be embedded in the query language

Example: aggregated number of Spanish speakers in a county per state, only for those states with complete information

Boolean aguaguareguaation function on sets of bindinguas

SELECT ?state sum(?nspeak) WHERE { ?county inState ?state .

?county spanishSpeakers ?nspeak .

(106)

Enabling completeness in SPARQL

For each value of ?state check if the bindings for ?nspeak are complete

?state ?county ?nspeak Delaware

New Castle 2000

Kent 4300

Sussex 1200

Hawaii Hawaii 30000

Kalawao 1200

SELECT ?state sum(?nspeak) WHERE {

Complete list?

(107)

Enabling completeness in SPARQL

For each value of ?state check if the bindings for ?nspeak are complete

?state ?county ?nspeak Delaware

New Castle 2000

Kent 4300

Sussex 1200

Hawaii Hawaii 30000

Kalawao 1200

SELECT ?state sum(?nspeak) WHERE { ?county inState ?state .

?county spanishSpeakers ?nspeak .

SELECT complete(?nspeak) WHERE { ?county inState Delaware .

?county spanishSpeakers ?nspeak . }

(108)

Enabling completeness in SPARQL

For each value of ?state check if the bindings for ?nspeak are complete

?state ?county ?nspeak Delaware

New Castle 2000

Kent 4300

Sussex 1200

Hawaii Hawaii 30000

Kalawao 1200

SELECT ?state sum(?nspeak) WHERE {

SELECT complete(?nspeak) WHERE { ?county inState Delaware .

?county spanishSpeakers ?nspeak . }

Completeness oracles to the rescue!

(109)

Outline

Completeness in RDF knowledge bases

State of the art on completeness

Completeness oracles

Vision on Completeness-aware Semantic Web

Representations for completeness oracles

Reasoning with completeness oracles

Enabling completeness in SPARQL

(110)

Summary

Completeness is a dimension of data quality

It determines the value and reliability of the data

The state of the art provides completeness statements and oracles for simple queries

Semantic Web is not completeness-aware

Vision

Use completeness oracles for simpler queries to infer

(111)

Future work

Augment existing RDF data with completeness statements and oracles

Extend query engines with completeness reasoning

Efcient implementation for oracle composition

Extend SPARQL to support the complete agg function

Reasoning beyond SR and D oracles

Use oracles that guarantee the completeness of queries with arbitrary number of triple patterns.

Références

Documents relatifs

In [1] we illustrated how i* based goal modeling can be used for know-how map- ping, relying especially on means-ends relationships and softgoal contributions.. How- ever, our

2 Les niveaux de compétence en littératie se situent entre 1 et 5. Au niveau 1, les personnes ont de la difficulté à lire et à repérer des informations dans un texte et doivent

Emphasis was given on micro-planning (day-to-day and sprint), issue resolution – with users or other technical staff, and self estimation. TexCo made a plan for SoftCo

Nevertheless, since in our case the BTC datasets are used as representative samples of the full Web of Linked Data, this decrease can be related to the fact that in 2012 and 2011

Because setting the right recommended resale prices mainly relies on franchisor capabilities and experience acquired in the company-owned stores, is a difficult task and requires

The objective of our experimental evaluation was to compare three well-established smoothing methods against a manual optimization of the Beta parameters (which govern the smoothing

While the field of information systems engineering is largely focussed on developing methods for complex problems and larger enterprises, less is done to specifically

Vice versa, performing (non-trivial) unstandardized tasks requires creativity and problem solving capacities, and thus more general skills and knowledge. As in