Optimal Broadcasting Strategies for Conjunctive Queries over - - PowerPoint PPT Presentation

optimal broadcasting strategies for conjunctive queries
SMART_READER_LITE
LIVE PREVIEW

Optimal Broadcasting Strategies for Conjunctive Queries over - - PowerPoint PPT Presentation

Optimal Broadcasting Strategies for Conjunctive Queries over Distributed Data Bas Ketsman, Frank Neven Hasselt University & transnational University of Limburg Outline 1. Setting and Context 2. Oblivious Broadcasting Functions 3.


slide-1
SLIDE 1

Optimal Broadcasting Strategies for Conjunctive Queries over Distributed Data

Bas Ketsman, Frank Neven

Hasselt University & transnational University of Limburg

slide-2
SLIDE 2

Outline

  • 1. Setting and Context
  • 2. Oblivious Broadcasting Functions
  • 3. Correctness & Optimality
  • 4. Broadcast Dependency Sets
  • 5. Conclusion & Future Work

2

slide-3
SLIDE 3

Context

CALM conjecture: “Monotonic = No-coordination” [Hellerstein, 2010] True [Ameloot, Neven, Van den Bussche, 2011] Generalization [Ameloot, Neven, K., Zinn, 2014]

3

slide-4
SLIDE 4

Context

CALM conjecture: “Monotonic = No-coordination” [Hellerstein, 2010]

▶ True

[Ameloot, Neven, Van den Bussche, 2011] Generalization [Ameloot, Neven, K., Zinn, 2014]

3

slide-5
SLIDE 5

Context

CALM conjecture: “Monotonic = No-coordination” [Hellerstein, 2010]

▶ True

[Ameloot, Neven, Van den Bussche, 2011]

▶ Generalization

[Ameloot, Neven, K., Zinn, 2014]

3

slide-6
SLIDE 6

Computing nodes

Setting

A network N is a set of computing nodes.

4

slide-7
SLIDE 7

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

Setting

A distribution is a mapping from nodes onto instances.

5

slide-8
SLIDE 8

Setting

Communication: Asynchronous

6

slide-9
SLIDE 9

Monotonic ⊆ No-coordination

Running Example: Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

Let every node broadcast all of its data; Periodically run locally on every node

7

slide-10
SLIDE 10

Monotonic ⊆ No-coordination

Running Example: Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

▶ Let every node broadcast all of its data;

Periodically run locally on every node

7

slide-11
SLIDE 11

Monotonic ⊆ No-coordination

Running Example: Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

▶ Let every node broadcast all of its data; ▶ Periodically run Q locally on every node 7

slide-12
SLIDE 12

Monotonic ⊆ No-coordination

Running Example: Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) […] ComplainsAbout(a, b) LivesIn(e, f) […] ComplainsAbout(a, b) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a) ComplainsAbout(d, e) WorksFor(d, e) LivesIn(e, f)

▶ Let every node broadcast all of its data; ▶ Periodically run Q locally on every node 7

slide-13
SLIDE 13

Monotonic ⊆ No-coordination

Running Example: Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) […] ComplainsAbout(a, b) LivesIn(e, f) […] ComplainsAbout(a, b) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a) ComplainsAbout(d, e) WorksFor(d, e) LivesIn(e, f)

(a, b, c) (d, e, f) (a, b, c) (d, e, f) (a, b, c) (d, e, f)

▶ Let every node broadcast all of its data; ▶ Periodically run Q locally on every node 7

slide-14
SLIDE 14

Monotonic ⊆ No-coordination

Running Example: Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) […] ComplainsAbout(a, b) LivesIn(e, f) […] ComplainsAbout(a, b) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a) ComplainsAbout(d, e) WorksFor(d, e) LivesIn(e, f)

N a i v e B r

  • a

d c a s t i n g

▶ Let every node broadcast all of its data; ▶ Periodically run Q locally on every node 7

slide-15
SLIDE 15

Current Work

No-coordination + Broadcast all No-coordination + Selective broadcasting Full CQs without self-joins 1. x y z R x y S y z 2. x y R x y S y z 3. x y R x y R y x

8

slide-16
SLIDE 16

Current Work

No-coordination + Broadcast all No-coordination + Selective broadcasting Full CQs without self-joins

  • 1. Q(x, y, z) ← R(x, y), S(y, z)
  • 2. Q(x, y) ← R(x, y), S(y, z)
  • 3. Q(x, y) ← R(x, y), R(y, x)

8

slide-17
SLIDE 17

Outline

  • 1. Setting and Context
  • 2. Oblivious Broadcasting Functions
  • 3. Correctness & Optimality
  • 4. Broadcast Dependency Sets
  • 5. Conclusion & Future Work

9

slide-18
SLIDE 18

Oblivious Broadcasting Functions

Definition

Let f be a total function from instances to instances. We call f an oblivious broadcasting function (OBF) if f is generic, and f(I) ⊆ I for every instance I.

Q f Q f Q f

10

slide-19
SLIDE 19

Running Example: Naive Broadcasting

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: broadcast everything

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

11

slide-20
SLIDE 20

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: don’t broadcast ComplainsAbout(x, y)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

12

slide-21
SLIDE 21

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: don’t broadcast ComplainsAbout(x, y)

ComplainsAbout(d, e) WorksFor(d, e) LivesIn(e, f) WorksFor(a, b) LivesIn(b, c) WorksFor(a, a) ComplainsAbout(a, b) WorksFor(a, b) LivesIn(b, c) LivesIn(e, f) WorksFor(a, a) WorksFor(d, e) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a) WorksFor(d, e) LivesIn(e, f)

12

slide-22
SLIDE 22

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: don’t broadcast ComplainsAbout(x, y)

ComplainsAbout(d, e) WorksFor(d, e) LivesIn(e, f) WorksFor(a, b) LivesIn(b, c) WorksFor(a, a) ComplainsAbout(a, b) WorksFor(a, b) LivesIn(b, c) LivesIn(e, f) WorksFor(a, a) WorksFor(d, e) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a) WorksFor(d, e) LivesIn(e, f)

(a, b, c) (d, e, f)

12

slide-23
SLIDE 23

Oblivious Broadcasting Functions

Let N be a network, I an instance, H a distribution of I over N.

Definition

Let f be a total function from instances to instances. We call f an oblivious broadcasting function (OBF) if f is generic, and f(I) ⊆ I for every instance I. Broadcast Facts B(f, H)

def

=

c∈N

f(H(c)). Distributed Output eval f H

def

c

H c B f H

13

slide-24
SLIDE 24

Oblivious Broadcasting Functions

Let N be a network, I an instance, H a distribution of I over N.

Definition

Let f be a total function from instances to instances. We call f an oblivious broadcasting function (OBF) if f is generic, and f(I) ⊆ I for every instance I. Broadcast Facts B(f, H)

def

=

c∈N

f(H(c)). Distributed Output eval(Q, f, H)

def

=

c∈N

Q(H(c) ∪ B(f, H))

13

slide-25
SLIDE 25

Outline

  • 1. Setting and Context
  • 2. Oblivious Broadcasting Functions
  • 3. Correctness & Optimality
  • 4. Broadcast Dependency Sets
  • 5. Conclusion & Future Work

14

slide-26
SLIDE 26

Correctness

Definition

An OBF is correct for CQ Q if Q(I) = eval(Q, f, H) for every instance I and distribution H for I.

f f f Broadcast enough

15

slide-27
SLIDE 27

Correctness

Definition

An OBF is correct for CQ Q if Q(I) = eval(Q, f, H) for every instance I and distribution H for I.

Q f Q f Q f Broadcast enough

15

slide-28
SLIDE 28

Correctness

Definition

Let Q be a CQ, f and g be two distinct facts. We say that f and g are compatible, written f ∼Q g, if there is a valuation V for Q that requires them both.

16

slide-29
SLIDE 29

Correctness

Definition

Let Q be a CQ, f and g be two distinct facts. We say that f and g are compatible, written f ∼Q g, if there is a valuation V for Q that requires them both.

Example

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

▶ ComplainsAbout(a, b) ∼Q LivesIn(b, c) ▶ ComplainsAbout(a, b) ̸∼Q LivesIn(a, c) 16

slide-30
SLIDE 30

Correctness

Definition

Let Q be a CQ, f and g be two distinct facts. We say that f and g are compatible, written f ∼Q g, if there is a valuation V for Q that requires them both.

Lemma

Let Q be a CQ and f be an OBF. Then, the following are equivalent:

  • 1. f is correct for Q; and
  • 2. there are no instances I, J, and facts f, g, with f ∼Qg,

g ̸∈ I, f ̸∈ J such that f ̸∈ f(I ∪ {f}) and g ̸∈ f(J ∪ {g}).

16

slide-31
SLIDE 31

Optimality

Ideally: “One OBF that is always at least as good as all others” B f H

def

c

f H c

Definition

An OBF f for a CQ is optimal if B f H B g H for every other OBF g for and for every instance I and distribution H. No such OBF exists

17

slide-32
SLIDE 32

Optimality

Ideally: “One OBF that is always at least as good as all others” ||B(f, H)||

def

=

c∈N

|f(H(c))|

Definition

An OBF f for a CQ Q is optimal if ||B(f, H)|| ≤ ||B(g, H)|| for every other OBF g for Q and for every instance I and distribution H. No such OBF exists

17

slide-33
SLIDE 33

Optimality

Ideally: “One OBF that is always at least as good as all others” ||B(f, H)||

def

=

c∈N

|f(H(c))|

Definition

An OBF f for a CQ Q is optimal if ||B(f, H)|| ≤ ||B(g, H)|| for every other OBF g for Q and for every instance I and distribution H. No such OBF exists

17

slide-34
SLIDE 34

Proof: No Optimal OBF exists

▶ Arbitrary query: Q(x) ← R1(y1), . . . , Rk(y2) (k ≥ 2)

Assume: Optimal OBF f for Arbitrary valuation

R2 a2 R2 a3 R1 a1

At least two of these facts must be broadcast OBFs exist that broadcast only two of them

18

slide-35
SLIDE 35

Proof: No Optimal OBF exists

▶ Arbitrary query: Q(x) ← R1(y1), . . . , Rk(y2) (k ≥ 2) ▶ Assume: Optimal OBF f for Q

Arbitrary valuation

R2 a2 R2 a3 R1 a1

At least two of these facts must be broadcast OBFs exist that broadcast only two of them

18

slide-36
SLIDE 36

Proof: No Optimal OBF exists

▶ Arbitrary query: Q(x) ← R1(y1), . . . , Rk(y2) (k ≥ 2) ▶ Assume: Optimal OBF f for Q ▶ Arbitrary valuation

R2(a2) R2(a3) R1(a1)

At least two of these facts must be broadcast OBFs exist that broadcast only two of them

18

slide-37
SLIDE 37

Proof: No Optimal OBF exists

▶ Arbitrary query: Q(x) ← R1(y1), . . . , Rk(y2) (k ≥ 2) ▶ Assume: Optimal OBF f for Q ▶ Arbitrary valuation

R2(a2) R3(a3) R1(a1)

At least two of these facts must be broadcast OBFs exist that broadcast only two of them

18

slide-38
SLIDE 38

Proof: No Optimal OBF exists

▶ Arbitrary query: Q(x) ← R1(y1), . . . , Rk(y2) (k ≥ 2) ▶ Assume: Optimal OBF f for Q ▶ Arbitrary valuation

R2(a2) R3(a3) R1(a1)

▶ At least two of these facts must be broadcast

OBFs exist that broadcast only two of them

18

slide-39
SLIDE 39

Proof: No Optimal OBF exists

▶ Arbitrary query: Q(x) ← R1(y1), . . . , Rk(y2) (k ≥ 2) ▶ Assume: Optimal OBF f for Q ▶ Arbitrary valuation

R2(a2) R3(a3) R1(a1)

▶ At least two of these facts must be broadcast ▶ OBFs exist that broadcast only two of them 18

slide-40
SLIDE 40

Proof: No Optimal OBF exists

▶ Arbitrary query: Q(x) ← R1(y1), . . . , Rk(y2) (k ≥ 2) ▶ Assume: Optimal OBF f for Q ▶ Arbitrary valuation

R2(a2) R3(a3) R1(a1)

W.l.o.g: OBF does not broadcast R1(a1)

18

slide-41
SLIDE 41

Proof: No Optimal OBF exists

▶ Arbitrary query: Q(x) ← R1(y1), . . . , Rk(y2) (k ≥ 2) ▶ Assume: Optimal OBF f for Q ▶ Arbitrary valuation

R2(a2) R3(a3)

W.l.o.g: OBF does not broadcast R1(a1)

18

slide-42
SLIDE 42

Proof: No Optimal OBF exists

▶ Arbitrary query: Q(x) ← R1(y1), . . . , Rk(y2) (k ≥ 2) ▶ Assume: Optimal OBF f for Q ▶ Arbitrary valuation

R2(a2) R3(a3)

OBF exists that broadcasts less

18

slide-43
SLIDE 43

Locally-optimal OBFs

Let f and g be OBFs. Inclusion: f ⊆ g if f(I) ⊆ g(I) for every instance I

Definition

An OBF f that is correct for a CQ is locally optimal if for every

  • ther OBF g that is correct for

, g f implies f g.

19

slide-44
SLIDE 44

Locally-optimal OBFs

Let f and g be OBFs. Inclusion: f ⊆ g if f(I) ⊆ g(I) for every instance I

Definition

An OBF f that is correct for a CQ Q is locally optimal if for every

  • ther OBF g that is correct for Q, g ⊆ f implies f = g.

19

slide-45
SLIDE 45

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: Don’t broadcast ComplainsAbout(x, y)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

WorksFor d e requires ComplainsAbout d e valuations requiring ComplainsAbout d e satisfy locally

20

slide-46
SLIDE 46

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: Don’t broadcast ComplainsAbout(x, y)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

▶ WorksFor(d, e) requires ComplainsAbout(d, e)

valuations requiring ComplainsAbout d e satisfy locally

20

slide-47
SLIDE 47

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: Don’t broadcast ComplainsAbout(x, y)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

▶ WorksFor(d, e) requires ComplainsAbout(d, e) ▶ valuations requiring ComplainsAbout(d, e) satisfy locally 20

slide-48
SLIDE 48

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: Don’t broadcast ComplainsAbout(x, y) + don’t broadcast WorksFor(x, y) if ComplainsAbout(x, y) is present

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

Not necessary to broadcast WorksFor(d, e)

20

slide-49
SLIDE 49

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: Don’t broadcast ComplainsAbout(x, y) + don’t broadcast WorksFor(x, y) if ComplainsAbout(x, y) is present

ComplainsAbout(d, e) WorksFor(d, e) LivesIn(e, f) WorksFor(a, b) LivesIn(b, c) WorksFor(a, a) ComplainsAbout(a, b) WorksFor(a, b) LivesIn(b, c) LivesIn(e, f) WorksFor(a, a) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a) LivesIn(e, f)

20

slide-50
SLIDE 50

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: Don’t broadcast ComplainsAbout(x, y) + don’t broadcast WorksFor(x, y) if ComplainsAbout(x, y) is present

ComplainsAbout(d, e) WorksFor(d, e) LivesIn(e, f) WorksFor(a, b) LivesIn(b, c) WorksFor(a, a) ComplainsAbout(a, b) WorksFor(a, b) LivesIn(b, c) LivesIn(e, f) WorksFor(a, a) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a) LivesIn(e, f)

(a, b, c) (d, e, f)

20

slide-51
SLIDE 51

Locally-optimal OBFs

Lemma

Let Q be a CQ and let f be an OBF for Q. The following are equivalent:

  • 1. f is locally optimal; and
  • 2. for every instance I and fact f for which f ∈ f(I ∪ {f}), there

is an instance J and a fact g such that f ∼Q g, g ̸∈ I, f ̸∈ J, and g ∈ f(J ∪ {g}).

21

slide-52
SLIDE 52

Outline

  • 1. Setting and Context
  • 2. Oblivious Broadcasting Functions
  • 3. Correctness & Optimality
  • 4. Broadcast Dependency Sets
  • 5. Conclusion & Future Work

22

slide-53
SLIDE 53

Broadcast Dependency Sets

Building blocks: Equality types

23

slide-54
SLIDE 54

Broadcast Dependency Sets

Building blocks: Equality types

Example

▶ WorksFor(x, y), x ̸= y ▶ ComplainsAbout(x, y), x = y 23

slide-55
SLIDE 55

Broadcast Dependency Sets

Building blocks: Equality types A Broadcast Dependency set is a set of tuples (τ, T), where

▶ τ is an equality type consistent with atom of Q (key) ▶ T is a set of equality types consistent with atoms of Q

(dependency set)

▶ + additional restrictions

Semantics: Broadcast a fact only if it has a consistent equality type; and either

it does not correspond to a key in the BDS; or the facts represented by the corresponding dependency set are not all present.

23

slide-56
SLIDE 56

Broadcast Dependency Sets

Building blocks: Equality types A Broadcast Dependency set is a set of tuples (τ, T), where

▶ τ is an equality type consistent with atom of Q (key) ▶ T is a set of equality types consistent with atoms of Q

(dependency set)

▶ + additional restrictions

Semantics: Broadcast a fact only if

▶ it has a consistent equality type; and ▶ either

▶ it does not correspond to a key in the BDS; or ▶ the facts represented by the corresponding dependency

set are not all present.

23

slide-57
SLIDE 57

Complexity Results

Theorem: Deciding whether BDS is correct for Q is coNP-complete Theorem: Deciding whether correct BDS for is locally

  • ptimal is in coNP

Theorem: Complete characterization for locally optimal, correct OBFs.

24

slide-58
SLIDE 58

Complexity Results

Theorem: Deciding whether BDS is correct for Q is coNP-complete Theorem: Deciding whether correct BDS for Q is locally

  • ptimal is in coNP

Theorem: Complete characterization for locally optimal, correct OBFs.

24

slide-59
SLIDE 59

Complexity Results

Theorem: Deciding whether BDS is correct for Q is coNP-complete Theorem: Deciding whether correct BDS for Q is locally

  • ptimal is in coNP

Theorem: Complete characterization for locally optimal, correct OBFs.

24

slide-60
SLIDE 60

OBF Construction

Parameter: sequence S of all consistent equality-types for Q.

▶ D

def

= ∅

▶ Consume types τ ∈ S one-by-one:

▶ values

def

= ∅

▶ For every key τ ′ in D compatible with τ, check condition

and add to values

▶ On failure: ignore τ and jump to the next type ▶ On success: add (τ, values) to D.

Output: D Theorem: In general: exponential in Theorem: polynomial in if only considering relations

25

slide-61
SLIDE 61

OBF Construction

Parameter: sequence S of all consistent equality-types for Q.

▶ D

def

= ∅

▶ Consume types τ ∈ S one-by-one:

▶ values

def

= ∅

▶ For every key τ ′ in D compatible with τ, check condition

and add to values

▶ On failure: ignore τ and jump to the next type ▶ On success: add (τ, values) to D.

Output: D Theorem: In general: exponential in Q Theorem: polynomial in if only considering relations

25

slide-62
SLIDE 62

OBF Construction

Parameter: sequence S of all consistent equality-types for Q.

▶ D

def

= ∅

▶ Consume types τ ∈ S one-by-one:

▶ values

def

= ∅

▶ For every key τ ′ in D compatible with τ, check condition

and add to values

▶ On failure: ignore τ and jump to the next type ▶ On success: add (τ, values) to D.

Output: D Theorem: In general: exponential in Q Theorem: polynomial in Q if only considering relations

25

slide-63
SLIDE 63

Running Example: Relation-Based

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF: Don’t broadcast ComplainsAbout(x, y) + don’t broadcast WorksFor(x, y) if ComplainsAbout(x, y) is present

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

26

slide-64
SLIDE 64

Running Example: Partial Atomic Types

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF:

▶ don’t broadcast ComplainsAbout(x, y)

x y don’t broadcast WorksFor x y x y don’t broadcast ComplainsAbout x y x y if WorksFor x y is present don’t broadcast WorksFor x y x y if ComplainsAbout x y is present Correct + locally optimal

27

slide-65
SLIDE 65

Running Example: Partial Atomic Types

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF:

▶ don’t broadcast ComplainsAbout(x, y), x ̸= y

don’t broadcast WorksFor x y x y don’t broadcast ComplainsAbout x y x y if WorksFor x y is present don’t broadcast WorksFor x y x y if ComplainsAbout x y is present Correct + locally optimal

27

slide-66
SLIDE 66

Running Example: Partial Atomic Types

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF:

▶ don’t broadcast ComplainsAbout(x, y), x ̸= y ▶ don’t broadcast WorksFor(x, y), x = y

don’t broadcast ComplainsAbout x y x y if WorksFor x y is present don’t broadcast WorksFor x y x y if ComplainsAbout x y is present Correct + locally optimal

27

slide-67
SLIDE 67

Running Example: Partial Atomic Types

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF:

▶ don’t broadcast ComplainsAbout(x, y), x ̸= y ▶ don’t broadcast WorksFor(x, y), x = y ▶ don’t broadcast ComplainsAbout(x, y), x = y if

WorksFor(x, y) is present

▶ don’t broadcast WorksFor(x, y), x ̸= y if

ComplainsAbout(x, y) is present Correct + locally optimal

27

slide-68
SLIDE 68

Running Example: Partial Atomic Types

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z) OBF:

▶ don’t broadcast ComplainsAbout(x, y), x ̸= y ▶ don’t broadcast WorksFor(x, y), x = y ▶ don’t broadcast ComplainsAbout(x, y), x = y if

WorksFor(x, y) is present

▶ don’t broadcast WorksFor(x, y), x ̸= y if

ComplainsAbout(x, y) is present Correct + locally optimal

27

slide-69
SLIDE 69

Running Example: Partial Atomic Types

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

ComplainsAbout(d, e) WorksFor(d, e) WorksFor(a, b) ComplainsAbout(a, b) LivesIn(e, f) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a)

27

slide-70
SLIDE 70

Running Example: Partial Atomic Types

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

ComplainsAbout(d, e) WorksFor(d, e) LivesIn(e, f) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(a, b) WorksFor(a, b) LivesIn(b, c) LivesIn(e, f) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a) LivesIn(e, f)

27

slide-71
SLIDE 71

Running Example: Partial Atomic Types

Q(x, y, z) ← ComplainsAbout(x, y), WorksFor(x, y), LivesIn(y, z)

ComplainsAbout(d, e) WorksFor(d, e) LivesIn(e, f) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(a, b) WorksFor(a, b) LivesIn(b, c) LivesIn(e, f) WorksFor(a, b) LivesIn(b, c) ComplainsAbout(g, h) WorksFor(a, a) LivesIn(e, f)

(a, b, c) (d, e, f)

27

slide-72
SLIDE 72

Conclusion & Future Work

Summary: Semantical and syntactical characterization of OBFs, complexity results, and construction. Future work: Beyond full CQs without self-joins Less restrictions on messages Alternative notions of optimality

28

slide-73
SLIDE 73

Conclusion & Future Work

Summary: Semantical and syntactical characterization of OBFs, complexity results, and construction. Future work:

▶ Beyond full CQs without self-joins ▶ Less restrictions on messages ▶ Alternative notions of optimality 28