Reasoning about Disclosure in Data Integration in the Presence of - - PowerPoint PPT Presentation

reasoning about disclosure in data integration in the
SMART_READER_LITE
LIVE PREVIEW

Reasoning about Disclosure in Data Integration in the Presence of - - PowerPoint PPT Presentation

Reasoning about Disclosure in Data Integration in the Presence of Source Constraints DIG Seminar 21/11/19 Michael Benedikt Pierre Bourhis Louis Jachiet Micha el Thomazo Louis JACHIET 1 / 32 Motivations Louis JACHIET 2 / 32


slide-1
SLIDE 1

Reasoning about Disclosure in Data Integration in the Presence of Source Constraints

DIG Seminar 21/11/19

Michael Benedikt Pierre Bourhis Louis Jachiet Micha¨ el Thomazo

Louis JACHIET 1 / 32

slide-2
SLIDE 2

Motivations

Louis JACHIET 2 / 32

slide-3
SLIDE 3

Motivations

Schema+Constraints

Louis JACHIET 2 / 32

slide-4
SLIDE 4

Motivations

֒ →

publication

Louis JACHIET 2 / 32

slide-5
SLIDE 5

Motivations

Secret

֒ →

publication

Louis JACHIET 2 / 32

slide-6
SLIDE 6

Motivations

Secret

֒ →

publication Secret leaked?

Louis JACHIET 2 / 32

slide-7
SLIDE 7

Motivations

Secret

֒ →

Safe publication? Secret leaked?

Louis JACHIET 2 / 32

slide-8
SLIDE 8

Example: Hospital setting

Patients Doctors Buildings Specialties Open hours

Louis JACHIET 3 / 32

slide-9
SLIDE 9

Example: Hospital setting

DocSpec PatSpec PatDoc DocBldg PatBldg IsOpen

Louis JACHIET 4 / 32

slide-10
SLIDE 10

Example

Database schema Predicate Meaning IsOpen(b, t) Building b is open on Date t PatBdlg(p, b) Patient p is present in Building b PatSpec(p, s) Patient p was treated for Specialty s PatDoc(p, d) Patient p was treated by Doctor d DocBldg(d, b) Doctor d is associated with Building b DocSpec(d, s) Doctor d is associated with Specialty s

Louis JACHIET 5 / 32

slide-11
SLIDE 11

Example

Views OpenHours(b, t) = IsOpen(b, t) VisitingHours(p, t) = PatBdlg(p, b) ∧ IsOpen(b, t) DocList(d, s, b) = DocSpec(d, s) ∧ DocBldg(d, b)

Louis JACHIET 6 / 32

slide-12
SLIDE 12

Example

Views OpenHours(b, t) = IsOpen(b, t) VisitingHours(p, t) = PatBdlg(p, b) ∧ IsOpen(b, t) DocList(d, s, b) = DocSpec(d, s) ∧ DocBldg(d, b) Constraints PatDoc(p, d) → ∃s PatSpec(p, s) ∧ DocSpec(d, s) PatBdlg(p, b) → ∃d PatDoc(p, d) ∧ DocBldg(d, b)

Louis JACHIET 6 / 32

slide-13
SLIDE 13

Example

Views OpenHours(b, t) = IsOpen(b, t) VisitingHours(p, t) = PatBdlg(p, b) ∧ IsOpen(b, t) DocList(d, s, b) = DocSpec(d, s) ∧ DocBldg(d, b) Constraints PatDoc(p, d) → ∃s PatSpec(p, s) ∧ DocSpec(d, s) PatBdlg(p, b) → ∃d PatDoc(p, d) ∧ DocBldg(d, b) Secret ∃p, s PatSpec(p, s)?

Louis JACHIET 6 / 32

slide-14
SLIDE 14

Example

OpenHour B1 Tuesday B2 Every day 10-17h VisitingHours Charline Tuesday DocList Alice Cancer B1 Alice Cancer B2 Bob Radiology B2 Daniel Cancer B1 Views OpenHours(b, t) = IsOpen(b, t) VisitingHours(p, t) = PatBdlg(p, b) ∧ IsOpen(b, t) DocList(d, s, b) = DocSpec(d, s) ∧ DocBldg(d, b)

Louis JACHIET 7 / 32

slide-15
SLIDE 15

Example

OpenHour B1 Tuesday B2 Every day 10-17h VisitingHours Charline Tuesday DocList Alice Cancer B1 Alice Cancer B2 Bob Radiology B2 Daniel Cancer B1 Views OpenHours(b, t) = IsOpen(b, t) VisitingHours(p, t) = PatBdlg(p, b) ∧ IsOpen(b, t) DocList(d, s, b) = DocSpec(d, s) ∧ DocBldg(d, b)

Louis JACHIET 7 / 32

slide-16
SLIDE 16

Example

OpenHour B1 Tuesday B2 Every day 10-17h VisitingHours Charline Tuesday DocList Alice Cancer B1 Alice Cancer B2 Bob Radiology B2 Daniel Cancer B1 Constraints PatBdlg(p, b) → ∃d PatDoc(p, d) ∧ DocBldg(d, b) Views OpenHours(b, t) = IsOpen(b, t) VisitingHours(p, t) = PatBdlg(p, b) ∧ IsOpen(b, t) DocList(d, s, b) = DocSpec(d, s) ∧ DocBldg(d, b)

Louis JACHIET 7 / 32

slide-17
SLIDE 17

Example

OpenHour B1 Tuesday B2 Every day 10-17h VisitingHours Charline Tuesday DocList Alice Cancer B1 Alice Cancer B2 Bob Radiology B2 Daniel Cancer B1 Constraints PatBdlg(p, b) → ∃d PatDoc(p, d) ∧ DocBldg(d, b) Views OpenHours(b, t) = IsOpen(b, t) VisitingHours(p, t) = PatBdlg(p, b) ∧ IsOpen(b, t) DocList(d, s, b) = DocSpec(d, s) ∧ DocBldg(d, b)

Louis JACHIET 7 / 32

slide-18
SLIDE 18

Example

OpenHour B1 Tuesday B2 Every day 10-17h VisitingHours Charline Tuesday DocList Alice Cancer B1 Alice Cancer B2 Bob Radiology B2 Daniel Cancer B1 Constraints PatBdlg(p, b) → ∃d PatDoc(p, d) ∧ DocBldg(d, b) PatDoc(p, d) → ∃s PatSpec(p, s) ∧ DocSpec(d, s) Views OpenHours(b, t) = IsOpen(b, t) VisitingHours(p, t) = PatBdlg(p, b) ∧ IsOpen(b, t) DocList(d, s, b) = DocSpec(d, s) ∧ DocBldg(d, b)

Louis JACHIET 7 / 32

slide-19
SLIDE 19

Formalism

Data represented by databases R(1, 17), R(2, 42), S(23, 45), . . .

Louis JACHIET 8 / 32

slide-20
SLIDE 20

Formalism

Data represented by databases R(1, 17), R(2, 42), S(23, 45), . . .

֒ →+ secret

Mappings and secrets are CQ V (x, z) := R(x, y) ∧ S(y, z)

Louis JACHIET 8 / 32

slide-21
SLIDE 21

Formalism

Data represented by databases R(1, 17), R(2, 42), S(23, 45), . . .

֒ →+ secret

Mappings and secrets are CQ V (x, z) := R(x, y) ∧ S(y, z) Constraints are TGD R(x, y) → ∃z, S(y, z)

Louis JACHIET 8 / 32

slide-22
SLIDE 22

Safe publication

Secret

֒ →

Louis JACHIET 9 / 32

slide-23
SLIDE 23

Safe publication

Secret

֒ → ← ֓

No secret

Louis JACHIET 9 / 32

slide-24
SLIDE 24

Safe publication

Secret

֒ → ← ֓

No secret View Problem Given (schema, constraints C, views V, secret S, visible ) do we have such that C( ), V( ) = and ¬S( )?

Louis JACHIET 9 / 32

slide-25
SLIDE 25

Safe publication

Secret

֒ → ← ֓

No secret Schema Problem Given (schema, constraints C, views V, secret S) do we have for all an instance such that C( ), V( ) = V( ) and ¬S( )?

Louis JACHIET 9 / 32

slide-26
SLIDE 26

Which configurations are decidable/tractable for the schema problem?

Louis JACHIET 10 / 32

slide-27
SLIDE 27

Which configurations are decidable/tractable for the schema problem? Secrets Views Constraints

Louis JACHIET 10 / 32

slide-28
SLIDE 28

Which configurations are decidable/tractable for the schema problem? Secrets Views Constraints CQ

Louis JACHIET 10 / 32

slide-29
SLIDE 29

Which configurations are decidable/tractable for the schema problem? Secrets Views Constraints CQ CQ

Louis JACHIET 10 / 32

slide-30
SLIDE 30

Which configurations are decidable/tractable for the schema problem? Secrets Views Constraints CQ CQ ProjMap AtomMap GuardedMap CQMap

Louis JACHIET 10 / 32

slide-31
SLIDE 31

Which configurations are decidable/tractable for the schema problem? Secrets Views Constraints CQ CQ ProjMap AtomMap GuardedMap CQMap Let’s talk about constraints...

Louis JACHIET 10 / 32

slide-32
SLIDE 32

Ontologies

slide-33
SLIDE 33

Ontologies in a few words

An ontology represents entities and their relationship to each other.

Louis JACHIET 11 / 32

slide-34
SLIDE 34

Ontologies in a few words

An ontology represents entities and their relationship to each other. Ontologies can be seen as a sort of expressive schema.

Louis JACHIET 11 / 32

slide-35
SLIDE 35

Ontologies in a few words

An ontology represents entities and their relationship to each other. Ontologies can be seen as a sort of expressive schema. Ontologies allows to enrich data by inferring new facts from existing ones.

Louis JACHIET 11 / 32

slide-36
SLIDE 36

An example of ontology

With plain words: All cats are mammals. All mammals are animals.

Louis JACHIET 12 / 32

slide-37
SLIDE 37

An example of ontology

With plain words: All cats are mammals. All mammals are animals. With Tuple Generating Dependencies: CAT(x) → MAMMAL(x) MAMMAL(x) → ANIMAL(x)

Louis JACHIET 12 / 32

slide-38
SLIDE 38

An example of ontology

With plain words: All cats are mammals. All mammals are animals. Database: {CAT( )}

Louis JACHIET 12 / 32

slide-39
SLIDE 39

An example of ontology

With plain words: All cats are mammals. All mammals are animals. Database: {CAT( )} Query: Are there animals? (∃X, ANIMAL(X)?)

Louis JACHIET 12 / 32

slide-40
SLIDE 40

An example of ontology

With plain words: All cats are mammals. All mammals are animals. Database: {CAT( )} Query: Are there animals? (∃X, ANIMAL(X)?) Answer: Yes: CAT( ) ⇒ MAMMAL( ) ⇒ ANIMAL( )

Louis JACHIET 12 / 32

slide-41
SLIDE 41

More complex ontological rules

Foreign key constraint: SEMINAR(team, speaker, room, date) → ∃pers, RESERVED(room, date, pers)

Louis JACHIET 13 / 32

slide-42
SLIDE 42

More complex ontological rules

Foreign key constraint: SEMINAR(team, speaker, room, date) → ∃pers, RESERVED(room, date, pers) Even more complex constraints: SEMINAR(team, speaker, room, date) → ∃pers, RESERVED(room, date, pers)∧MEMBER(pers, team)

Louis JACHIET 13 / 32

slide-43
SLIDE 43

More complex ontological rules

Foreign key constraint: SEMINAR(team, speaker, room, date) → ∃pers, RESERVED(room, date, pers) Even more complex constraints: SEMINAR(team, speaker, room, date) → ∃pers, RESERVED(room, date, pers)∧MEMBER(pers, team) MEMBER(person, team) → ∃date, room, SEMINAR(team, person, room, date)

Louis JACHIET 13 / 32

slide-44
SLIDE 44

Tuple Generating Dependencies

∀ X, Y ϕ( X, Y ) ⇒ ∃ Z ψ( Y , Z)

Louis JACHIET 14 / 32

slide-45
SLIDE 45

Tuple Generating Dependencies

∀ X, Y ϕ( X, Y ) ⇒ ∃ Z ψ( Y , Z) Often Omitted

Louis JACHIET 14 / 32

slide-46
SLIDE 46

Tuple Generating Dependencies

ϕ( X, Y ) ⇒ ∃ Z ψ( Y , Z) Body Head

Louis JACHIET 14 / 32

slide-47
SLIDE 47

Tuple Generating Dependencies

ϕ( X, Y ) ⇒ ∃ Z ψ( Y , Z) Frontier

Louis JACHIET 14 / 32

slide-48
SLIDE 48

Open World Query Answering

slide-49
SLIDE 49

Open World Query Answering (OWQA)

Open World Query Answering

  • A set of facts F
  • A set of TGD constraints C
  • A conjunctive query Q

Do we have, for all : (F ⊆ ∧ C( )) ⇒ Q( )?

Louis JACHIET 15 / 32

slide-50
SLIDE 50

Open World Query Answering

OWQA(F, C, Q) asks if Q is true in all completions of F (respecting C).

Louis JACHIET 16 / 32

slide-51
SLIDE 51

Open World Query Answering

OWQA(F, C, Q) asks if Q is true in all completions of F (respecting C). The Chase algorithms build a universal model.

Louis JACHIET 16 / 32

slide-52
SLIDE 52

Open World Query Answering

OWQA(F, C, Q) asks if Q is true in all completions of F (respecting C). The Chase algorithms build a universal model. OWQA(F, C, Q) ⇔ Chase(F, C) Q

Louis JACHIET 16 / 32

slide-53
SLIDE 53

The Chase

Intuitively the chase simply “applies” the constraints.

Louis JACHIET 17 / 32

slide-54
SLIDE 54

The Chase

Intuitively the chase simply “applies” the constraints. With:

  • F = CAT(

)

  • C = {CAT(X) → MAMMAL(X), MAMMAL(X) →

ANIMAL(X)} We obtain:

  • 1. F1 = {CAT(

)}

Louis JACHIET 17 / 32

slide-55
SLIDE 55

The Chase

Intuitively the chase simply “applies” the constraints. With:

  • F = CAT(

)

  • C = {CAT(X) → MAMMAL(X), MAMMAL(X) →

ANIMAL(X)} We obtain:

  • 1. F1 = {CAT(

)}

  • 2. F2 = {CAT(

), MAMMAL( )}

Louis JACHIET 17 / 32

slide-56
SLIDE 56

The Chase

Intuitively the chase simply “applies” the constraints. With:

  • F = CAT(

)

  • C = {CAT(X) → MAMMAL(X), MAMMAL(X) →

ANIMAL(X)} We obtain:

  • 1. F1 = {CAT(

)}

  • 2. F2 = {CAT(

), MAMMAL( )}

  • 3. F3 = {CAT(

), MAMMAL( ), ANIMAL( )}

Louis JACHIET 17 / 32

slide-57
SLIDE 57

The Chase

Intuitively the chase simply “applies” the constraints.

Louis JACHIET 18 / 32

slide-58
SLIDE 58

The Chase

Intuitively the chase simply “applies” the constraints. With:

  • F = {PERSON(alice)}
  • C = {PERSON(X) → ∃Y , PARENT(X, Y )}

We obtain:

  • 1. F1 = {PERSON(alice)}

Louis JACHIET 18 / 32

slide-59
SLIDE 59

The Chase

Intuitively the chase simply “applies” the constraints. With:

  • F = {PERSON(alice)}
  • C = {PERSON(X) → ∃Y , PARENT(X, Y )}

We obtain:

  • 1. F1 = {PERSON(alice)}
  • 2. F2 = {PERSON(alice), PARENT(alice, Y )}

Louis JACHIET 18 / 32

slide-60
SLIDE 60

The Chase

Intuitively the chase simply “applies” the constraints. With:

  • F = {PERSON(alice)}
  • C = {PERSON(X) → ∃Y , PARENT(X, Y )}

We obtain:

  • 1. F1 = {PERSON(alice)}
  • 2. F2 = {PERSON(alice), PARENT(alice, Y )}

Louis JACHIET 18 / 32

slide-61
SLIDE 61

The Chase

With:

  • F = {PERSON(alice)}
  • C = {PERSON(X) → ∃Y , PARENT(X, Y )

PARENT(X, Y ) → ∃PERSON(Y )} We obtain:

  • 1. F1 = {PERSON(alice)}

Louis JACHIET 19 / 32

slide-62
SLIDE 62

The Chase

With:

  • F = {PERSON(alice)}
  • C = {PERSON(X) → ∃Y , PARENT(X, Y )

PARENT(X, Y ) → ∃PERSON(Y )} We obtain:

  • 1. F1 = {PERSON(alice)}
  • 2. F2 = {PERSON(alice), PARENT(alice, Y )}

Louis JACHIET 19 / 32

slide-63
SLIDE 63

The Chase

With:

  • F = {PERSON(alice)}
  • C = {PERSON(X) → ∃Y , PARENT(X, Y )

PARENT(X, Y ) → ∃PERSON(Y )} We obtain:

  • 1. F1 = {PERSON(alice)}
  • 2. F2 = {PERSON(alice), PARENT(alice, Y )}
  • 3. F3 = {PERSON(alice), PARENT(alice, Y ), PERSON(Y )}

Louis JACHIET 19 / 32

slide-64
SLIDE 64

The Chase

With:

  • F = {PERSON(alice)}
  • C = {PERSON(X) → ∃Y , PARENT(X, Y )

PARENT(X, Y ) → ∃PERSON(Y )} We obtain:

  • 1. F1 = {PERSON(alice)}
  • 2. F2 = {PERSON(alice), PARENT(alice, Y )}
  • 3. F3 = {PERSON(alice), PARENT(alice, Y ), PERSON(Y )}
  • 4. F4 = {PERSON(alice), PARENT(alice, Y ), PERSON(Y ),

PARENT(Y , Y ′)}

Louis JACHIET 19 / 32

slide-65
SLIDE 65

The Chase

With:

  • F = {PERSON(alice)}
  • C = {PERSON(X) → ∃Y , PARENT(X, Y )

PARENT(X, Y ) → ∃PERSON(Y )} We obtain:

  • 1. F1 = {PERSON(alice)}
  • 2. F2 = {PERSON(alice), PARENT(alice, Y )}
  • 3. F3 = {PERSON(alice), PARENT(alice, Y ), PERSON(Y )}
  • 4. F4 = {PERSON(alice), PARENT(alice, Y ), PERSON(Y ),

PARENT(Y , Y ′)} . . .

Louis JACHIET 19 / 32

slide-66
SLIDE 66

The Chase

The Chase model is not always finite.

Louis JACHIET 20 / 32

slide-67
SLIDE 67

The Chase

The Chase model is not always finite. When it is not finite it sometimes has a regularity that allows for decidable OWQA.

Louis JACHIET 20 / 32

slide-68
SLIDE 68

The Chase

The Chase model is not always finite. When it is not finite it sometimes has a regularity that allows for decidable OWQA. And in general the OWQA is undecidable. . .

Louis JACHIET 20 / 32

slide-69
SLIDE 69

Decidable Classes of TGD

  • UID, the foreign key constraint with one variable

A(x, Y ) → ∃Z, B(x, Z)

Louis JACHIET 21 / 32

slide-70
SLIDE 70

Decidable Classes of TGD

  • UID, the foreign key constraint with one variable

A(x, Y ) → ∃Z, B(x, Z)

  • IncDep, the foreign key constraint

A( X, Y ) → ∃Z, B( X, Z)

Louis JACHIET 21 / 32

slide-71
SLIDE 71

Decidable Classes of TGD

  • UID, the foreign key constraint with one variable

A(x, Y ) → ∃Z, B(x, Z)

  • IncDep, the foreign key constraint

A( X, Y ) → ∃Z, B( X, Z)

  • LTGD, the foreign key constraint with repetition of atoms

A(x, x, y) → ∃Z, B(x, y, y, z)

Louis JACHIET 21 / 32

slide-72
SLIDE 72

Decidable Classes of TGD

  • UID, the foreign key constraint with one variable

A(x, Y ) → ∃Z, B(x, Z)

  • IncDep, the foreign key constraint

A( X, Y ) → ∃Z, B( X, Z)

  • LTGD, the foreign key constraint with repetition of atoms

A(x, x, y) → ∃Z, B(x, y, y, z)

  • GTGD, one atom in the body guards all variables

A(x, y, z) ∧ B(x) ∧ C(y, z) → ∃w, D(x, y, w)

Louis JACHIET 21 / 32

slide-73
SLIDE 73

Decidable Classes of TGD

  • UID, the foreign key constraint with one variable

A(x, Y ) → ∃Z, B(x, Z)

  • IncDep, the foreign key constraint

A( X, Y ) → ∃Z, B( X, Z)

  • LTGD, the foreign key constraint with repetition of atoms

A(x, x, y) → ∃Z, B(x, y, y, z)

  • GTGD, one atom in the body guards all variables

A(x, y, z) ∧ B(x) ∧ C(y, z) → ∃w, D(x, y, w)

  • FGTGD, one atom in the body guards all the frontier variables

A(w, y, y) ∧ B(x) ∧ C(y, z) → ∃u, D(x, y, u)

Louis JACHIET 21 / 32

slide-74
SLIDE 74

Decidable Classes of TGD

  • UID, the foreign key constraint with one variable

A(x, Y ) → ∃Z, B(x, Z)

  • IncDep, the foreign key constraint

A( X, Y ) → ∃Z, B( X, Z)

  • LTGD, the foreign key constraint with repetition of atoms

A(x, x, y) → ∃Z, B(x, y, y, z)

  • GTGD, one atom in the body guards all variables

A(x, y, z) ∧ B(x) ∧ C(y, z) → ∃w, D(x, y, w)

  • FGTGD, one atom in the body guards all the frontier variables

A(w, y, y) ∧ B(x) ∧ C(y, z) → ∃u, D(x, y, u)

  • Fr1LTGD, one atom in the body guards the only frontier

variable A(w, y, y) ∧ B(x) ∧ C(y, z) → ∃u, D(x, u)

Louis JACHIET 21 / 32

slide-75
SLIDE 75

Another approach: query rewriting

With

  • MAMMAL(X) → ANIMAL(X)
  • CAT(X) → MAMMAL(X)

And the query ∃X, ANIMAL(X), we obtain:

  • ANIMAL(X)

Louis JACHIET 22 / 32

slide-76
SLIDE 76

Another approach: query rewriting

With

  • MAMMAL(X) → ANIMAL(X)
  • CAT(X) → MAMMAL(X)

And the query ∃X, ANIMAL(X), we obtain:

  • ANIMAL(X)
  • ANIMAL(X) ∨ MAMMAL(X)

Louis JACHIET 22 / 32

slide-77
SLIDE 77

Another approach: query rewriting

With

  • MAMMAL(X) → ANIMAL(X)
  • CAT(X) → MAMMAL(X)

And the query ∃X, ANIMAL(X), we obtain:

  • ANIMAL(X)
  • ANIMAL(X) ∨ MAMMAL(X)
  • ANIMAL(X) ∨ MAMMAL(X) ∨ CAT(X)

Louis JACHIET 22 / 32

slide-78
SLIDE 78

Solving our problem

slide-79
SLIDE 79

Back to our problems

View Problem Given (schema, constraints C, views V, secret S, visible ) do we have such that C( ), V( ) = and ¬S( )? Schema Problem Given (schema, constraints C, views V, secret S) do we have for all an instance such that C( ), V( ) = V( ) and ¬S( )?

Louis JACHIET 23 / 32

slide-80
SLIDE 80

Solving the schema problem

The critical instance The instance

C contains one fact per relation, with one

constant: C.

Louis JACHIET 24 / 32

slide-81
SLIDE 81

Solving the schema problem

The critical instance The instance

C contains one fact per relation, with one

constant: C. We note

C = V( C) its view image.

Louis JACHIET 24 / 32

slide-82
SLIDE 82

Solving the schema problem

The critical instance The instance

C contains one fact per relation, with one

constant: C. We note

C = V( C) its view image.

Reduction for schema problem SchemaProblem(C, V, S) reduces to ViewProblem(

C, C, V, S)

From Querying Visible and Invisible Information. LICS 2016

Louis JACHIET 24 / 32

slide-83
SLIDE 83

Reduction to Open World Query Answering (OWQA)

Open World Query Answering

  • A set of facts F
  • A set of TGD constraints C
  • A query Q

Do we have, for all : (F ⊆ ∧ C( )) ⇒ Q( )?

Louis JACHIET 25 / 32

slide-84
SLIDE 84

Reduction to Open World Query Answering

Encoding ViewProblem(

C, C, V, S) as OWQA

Louis JACHIET 26 / 32

slide-85
SLIDE 85

Reduction to Open World Query Answering

Encoding ViewProblem(

C, C, V, S) as OWQA

  • The query is S

Louis JACHIET 26 / 32

slide-86
SLIDE 86

Reduction to Open World Query Answering

Encoding ViewProblem(

C, C, V, S) as OWQA

  • The query is S
  • The initial facts encode the forward constraints

C ⊆ V(

)

Louis JACHIET 26 / 32

slide-87
SLIDE 87

Reduction to Open World Query Answering

Encoding ViewProblem(

C, C, V, S) as OWQA

  • The query is S
  • The initial facts encode the forward constraints

C ⊆ V(

)

  • The constraints are the original constraints C.

Louis JACHIET 26 / 32

slide-88
SLIDE 88

Reduction to Open World Query Answering

Encoding ViewProblem(

C, C, V, S) as OWQA

  • The query is S
  • The initial facts encode the forward constraints

C ⊆ V(

)

  • The constraints are the original constraints C.

But we also need to encode the backward constraints V( ) ⊆

C!

Louis JACHIET 26 / 32

slide-89
SLIDE 89

Reduction to Open World Query Answering

Encoding ViewProblem(

C, C, V, S) as OWQA

  • The query is S
  • The initial facts encode the forward constraints

C ⊆ V(

)

  • The constraints are the original constraints C.

But we also need to encode the backward constraints V( ) ⊆

C!

For this we use that adom(V( )) = {C}

Louis JACHIET 26 / 32

slide-90
SLIDE 90

Lower bounds

Various reductions from:

  • OWQA

Louis JACHIET 27 / 32

slide-91
SLIDE 91

Lower bounds

Various reductions from:

  • OWQA
  • Query evaluation

Louis JACHIET 27 / 32

slide-92
SLIDE 92

Lower bounds

Various reductions from:

  • OWQA
  • Query evaluation
  • Alternating Turing Machines

Louis JACHIET 27 / 32

slide-93
SLIDE 93

Complexity results

Constraints Views ProjMap AtomMap GuardedMap CQMap IncDep PSpace ExpTime 2ExpTime 2ExpTime LTGD ExpTime ExpTime 2ExpTime 2ExpTime GTGD 2ExpTime 2ExpTime 2ExpTime 2ExpTime FGTGD 2ExpTime 2ExpTime 2ExpTime 2ExpTime

Table 1: Complexity of disclosure

⇒ all bounds are tight!

Louis JACHIET 28 / 32

slide-94
SLIDE 94

Complexity results

Constraints Views ProjMap AtomMap GuardedMap CQMap IncDep NP NP ExpTime 2ExpTime LTGD NP NP ExpTime 2ExpTime GTGD ExpTime ExpTime ExpTime 2ExpTime FGTGD 2ExpTime 2ExpTime 2ExpTime 2ExpTime

Table 2: Complexity of disclosure in bounded arity

⇒ all bounds are tight!

Louis JACHIET 29 / 32

slide-95
SLIDE 95

Complexity results

In PTime:

  • CQ secret, foreign keys constraints and projection views

Louis JACHIET 30 / 32

slide-96
SLIDE 96

Complexity results

In PTime:

  • CQ secret, foreign keys constraints and projection views
  • bounded CQ secret, ProjMap, LTGD

Louis JACHIET 30 / 32

slide-97
SLIDE 97

Future Works

  • Implement model checker for publication methods.

Louis JACHIET 31 / 32

slide-98
SLIDE 98

Future Works

  • Implement model checker for publication methods.
  • How to synthesize publications automatically?

Louis JACHIET 31 / 32

slide-99
SLIDE 99

Thank you!

Questions?

Louis JACHIET 32 / 32