Introduction Existing approaches Result Proof ideas Conclusion
Open-World Finite Query Answering Under Number Restrictions
Antoine Amarilli1,2
1Télécom ParisTech, Paris, France
2University of Oxford, Oxford, United Kingdom
August 12, 2014
Introduction Existing approaches Result Proof ideas Conclusion
Open-world query answering
Evaluatequery q overinstance I,open-world assumption:
The instanceIiscorrectbutincomplete
Consider all possiblecompletionsJsatisfyingconstraintsΣ Certain answersto queryqamong those completions
⇒ Formally: I,Σ|=qifJ|=qfor allJ⊇I s.t.J|=Σ
Constraints:
TGDs, especiallyinclusion dependencies (ID)
⇒ Unaryinclusion dependencies (UID):R[A]⊆S[B]
Number restrictions, especiallyfunctional dependencies(FD) Finitevs unrestricted QA
Instance: List of employees
Constraint 1: Each employee reviews some employee (UID) Constraint 2: At most one reviewer per employee (FD)
Query: Are all employees reviewed?
Introduction Existing approaches Result Proof ideas Conclusion
Open-world query answering
Evaluatequery q overinstance I,open-world assumption:
The instanceIiscorrectbutincomplete
Consider all possiblecompletionsJsatisfyingconstraintsΣ Certain answersto queryqamong those completions
⇒ Formally: I,Σ|=qifJ|=qfor allJ⊇I s.t.J|=Σ Constraints:
TGDs, especiallyinclusion dependencies (ID)
⇒ Unaryinclusion dependencies (UID):R[A]⊆S[B]
Number restrictions, especiallyfunctional dependencies(FD)
Finitevs unrestricted QA Instance: List of employees
Constraint 1: Each employee reviews some employee (UID) Constraint 2: At most one reviewer per employee (FD)
Query: Are all employees reviewed?
Introduction Existing approaches Result Proof ideas Conclusion
Open-world query answering
Evaluatequery q overinstance I,open-world assumption:
The instanceIiscorrectbutincomplete
Consider all possiblecompletionsJsatisfyingconstraintsΣ Certain answersto queryqamong those completions
⇒ Formally: I,Σ|=qifJ|=qfor allJ⊇I s.t.J|=Σ Constraints:
TGDs, especiallyinclusion dependencies (ID)
⇒ Unaryinclusion dependencies (UID):R[A]⊆S[B]
Number restrictions, especiallyfunctional dependencies(FD) Finitevs unrestricted QA
Instance: List of employees
Constraint 1: Each employee reviews some employee (UID) Constraint 2: At most one reviewer per employee (FD)
Introduction Existing approaches Result Proof ideas Conclusion
Table of Contents
1 Introduction
2 Existing approaches
3 Result
4 Proof ideas
5 Conclusion
Introduction Existing approaches Result Proof ideas Conclusion
Undecidability barrier
Entailment of IDsandFDs is undecidable[Mitchell, 1983]
Already for binary IDs andunary FDs:
R[A,B]⊆S[C,D],R[A]→R[B]
⇒ QA (finite or not) is also undecidable[Calì et al., 2003]
(Remark: this proof requires constants in the query)
⇒ We can’t have everything
Introduction Existing approaches Result Proof ideas Conclusion
Undecidability barrier
Entailment of IDsandFDs is undecidable[Mitchell, 1983]
Already for binary IDs andunary FDs:
R[A,B]⊆S[C,D],R[A]→R[B]
⇒ QA (finite or not) is also undecidable[Calì et al., 2003]
(Remark: this proof requires constants in the query)
⇒ We can’t have everything
Introduction Existing approaches Result Proof ideas Conclusion
Idea 1: Separability
The chasefor IDs: universal model
Intuition: apply all IDs with fresh elements
FDs are separablefrom IDs if they do not impact the chase Sufficient conditions for separability, e.g., non-conflicting:
⇒ exported positions must not be astrict supersetof a key When separable, we canignore FDs (just check them onI)
⇒ The chase is infinitein general so it doesn’t work in the finite
⇒ Finite QA undecidablefor separable IDs/FDs [Rosati, 2006] (intuition: their finite consequencesmay not be separable)
Introduction Existing approaches Result Proof ideas Conclusion
Idea 1: Separability
The chasefor IDs: universal model
Intuition: apply all IDs with fresh elements
FDs are separablefrom IDs if they do not impact the chase Sufficient conditions for separability, e.g., non-conflicting:
⇒ exported positions must not be astrict supersetof a key When separable, we canignore FDs (just check them onI)
⇒ The chase is infinitein general so it doesn’t work in the finite
⇒ Finite QA undecidablefor separable IDs/FDs [Rosati, 2006]
(intuition: their finite consequencesmay not be separable)
Introduction Existing approaches Result Proof ideas Conclusion
Idea 2: Finite controllability
Finite controllability means that finite and infinite QA coincide IDs are finitely controllable [Rosati, 2006]
⇒ Construction: finite chase(chase with distant reuses) Generalizes to the guarded fragment[Barany et al., 2010]
⇒ (Guardedmeans that∀/∃must be covered by an atom)
⇒ Intuition: query acyclificationand cycleblowup Generalises to IDs/FDs with foreign keyscondition [Rosati, 2006]
⇒ FDs are not expressiblein the guarded fragment.
⇒ IDs/FDs are notfinitely controllable!
Introduction Existing approaches Result Proof ideas Conclusion
Idea 2: Finite controllability
Finite controllability means that finite and infinite QA coincide IDs are finitely controllable [Rosati, 2006]
⇒ Construction: finite chase(chase with distant reuses) Generalizes to the guarded fragment[Barany et al., 2010]
⇒ (Guardedmeans that∀/∃must be covered by an atom)
⇒ Intuition: query acyclificationand cycleblowup Generalises to IDs/FDs with foreign keyscondition [Rosati, 2006]
⇒ FDs are not expressiblein the guarded fragment.
⇒ IDs/FDs are notfinitely controllable!
Introduction Existing approaches Result Proof ideas Conclusion
Idea 3: Arity-two
Finite and unrestricted QA decidablein arity-two for the two-variable guarded fragment and counting constraints [Pratt-Hartmann, 2009]
Intuition: again, encode the acyclic partof the query Satisfiabilitydecidableby reduction to an inequation system Explicit construction for DLs [Ibáñez-García et al., 2014]
⇒ Only forarity-two signatures
⇒ No clear way to generalizeto higher arity
Introduction Existing approaches Result Proof ideas Conclusion
Idea 3: Arity-two
Finite and unrestricted QA decidablein arity-two for the two-variable guarded fragment and counting constraints [Pratt-Hartmann, 2009]
Intuition: again, encode the acyclic partof the query Satisfiabilitydecidableby reduction to an inequation system Explicit construction for DLs [Ibáñez-García et al., 2014]
⇒ Only forarity-two signatures
⇒ No clear way to generalizeto higher arity
Introduction Existing approaches Result Proof ideas Conclusion
Table of Contents
1 Introduction
2 Existing approaches
3 Result
4 Proof ideas
5 Conclusion
Introduction Existing approaches Result Proof ideas Conclusion
Our setting
So:
FiniteQA
TGDs and EGDs withinteraction (not FC) High-aritysignatures
⇒ Can we haveall three?
⇒ What if we restrict the language to UIDsandFDs? Nodirect encodingto arity-two (unlike UIDs/UKDs...) UIDsare important IDs in practice
UIDsmatch the DL intuition UIDsare less expressive than BIDs and...
Introduction Existing approaches Result Proof ideas Conclusion
Our setting
So:
FiniteQA
TGDs and EGDs withinteraction (not FC) High-aritysignatures
⇒ Can we haveall three?
⇒ What if we restrict the language to UIDsandFDs?
Nodirect encodingto arity-two (unlike UIDs/UKDs...) UIDsare important IDs in practice
UIDsmatch the DL intuition UIDsare less expressive than BIDs and...
Introduction Existing approaches Result Proof ideas Conclusion
Our setting
So:
FiniteQA
TGDs and EGDs withinteraction (not FC) High-aritysignatures
⇒ Can we haveall three?
⇒ What if we restrict the language to UIDsandFDs?
Nodirect encodingto arity-two (unlike UIDs/UKDs...) UIDsare important IDs in practice
UIDsmatch the DL intuition UIDsare less expressive than BIDs and...
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure for UIDs and FDs
Implication of UIDs/FDs isdecidable and PTIME [Cosmadakis et al., 1990]
Unrestricted and finite do not coincide
For unrestricted: implication of FDs and UIDs in isolation For finite: addcycle reversal:
Consider onlyunary FDs: R[i]→S[j] WhenR[i]⊆S[j]we have|R[i]| ≤ |S[j]| WhenR[i]→S[j] we have|R[i]| ≥ |S[j]| Inequalitycycleswith this encoding
⇒ In the finite, such cycles must bereversed
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure for UIDs and FDs
Implication of UIDs/FDs isdecidable and PTIME [Cosmadakis et al., 1990]
Unrestricted and finite do not coincide
For unrestricted: implication of FDs and UIDs in isolation
For finite: addcycle reversal:
Consider onlyunary FDs: R[i]→S[j] WhenR[i]⊆S[j]we have|R[i]| ≤ |S[j]| WhenR[i]→S[j] we have|R[i]| ≥ |S[j]| Inequalitycycleswith this encoding
⇒ In the finite, such cycles must bereversed
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure for UIDs and FDs
Implication of UIDs/FDs isdecidable and PTIME [Cosmadakis et al., 1990]
Unrestricted and finite do not coincide
For unrestricted: implication of FDs and UIDs in isolation For finite: addcycle reversal:
Consider onlyunary FDs: R[i]→S[j]
WhenR[i]⊆S[j]we have|R[i]| ≤ |S[j]| WhenR[i]→S[j]we have|R[i]| ≥ |S[j]| Inequalitycycleswith this encoding
⇒ In the finite, such cycles must bereversed
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure for UIDs and FDs
Implication of UIDs/FDs isdecidable and PTIME [Cosmadakis et al., 1990]
Unrestricted and finite do not coincide
For unrestricted: implication of FDs and UIDs in isolation For finite: addcycle reversal:
Consider onlyunary FDs: R[i]→S[j]
WhenR[i]⊆S[j]we have|R[i]| ≤ |S[j]| WhenR[i]→S[j]we have|R[i]| ≥ |S[j]| Inequalitycycleswith this encoding
⇒ In the finite, such cycles must bereversed
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure example
I
R( )
R( )
R[2]R[2]⊆→R[1]R[1]⇒ |R[2]| ≤ |R[1]|
⇒ |R[1]| ≤ |R[2]|
⇒ |R[2]|=|R[1]| Add R[1]⊆R[2] Add
⇒ No finite model!
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure example
I
R( ) R( )
R( )
R[2]R[2]⊆→R[1]R[1]⇒ |R[2]| ≤ |R[1]|
⇒ |R[1]| ≤ |R[2]|
⇒ |R[2]|=|R[1]| Add R[1]⊆R[2] Add
⇒ No finite model!
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure example
I
R( ) R( ) R( )
R( )
R[2]R[2]⊆→R[1]R[1]⇒ |R[2]| ≤ |R[1]|
⇒ |R[1]| ≤ |R[2]|
⇒ |R[2]|=|R[1]| Add R[1]⊆R[2] Add
⇒ No finite model!
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure example
I
R( ) R( ) R( ) R( )
R( )
R[2]⊆R[1]
R[2]→R[1]
⇒ |R[2]| ≤ |R[1]|
⇒ |R[1]| ≤ |R[2]|
⇒ |R[2]|=|R[1]| Add R[1]⊆R[2] Add
⇒ No finite model!
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure example
I
R( ) R( ) R( ) R( )
R( )
R[2]⊆R[1]
R[2]→R[1]
⇒ |R[2]| ≤ |R[1]|
⇒ |R[1]| ≤ |R[2]|
⇒ |R[2]|=|R[1]| Add R[1]⊆R[2] Add
⇒ No finite model!
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure example
I
R( ) R( ) R( ) R( )
R( )
R[2]⊆R[1]
R[2]→R[1]
⇒ |R[2]| ≤ |R[1]|
⇒ |R[1]| ≤ |R[2]|
⇒ |R[2]|=|R[1]|
Add R[1]⊆R[2] Add
⇒ No finite model!
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure example
I
R( ) R( ) R( ) R( )
R( )
R[2]⊆R[1]
R[2]→R[1]
⇒ |R[2]| ≤ |R[1]|
⇒ |R[1]| ≤ |R[2]|
⇒ |R[2]|=|R[1]| Add R[1]⊆R[2]
Add R[1]→R[2]
⇒ No finite model!
Introduction Existing approaches Result Proof ideas Conclusion
Finite closure example
I
R( ) R( ) R( ) R( )
R( )
!
⇒ R[2]R[2]|R[2]⊆→| ≤ |R[1]R[1]R[1]|⇒ |R[1]| ≤ |R[2]|
⇒ |R[2]|=|R[1]| Add R[1]⊆R[2]
Add R[1]→R[2]
⇒ No finite model!
Introduction Existing approaches Result Proof ideas Conclusion
Finite controllability up to closure
In arity-two, UIDs/UFDs finitely controllableup to finite closure [Rosati, 2008, Ibáñez-García et al., 2014]
⇒ To perform finite QAon instance I, UIDs/UFDsΣ:
ComputeΣ∗ thefinite closureofΣ Check ifIsatisfies the UFDsofΣ∗ Performunrestricted QA withIandΣ∗
Easy because UIDs/UFDs arenon-conflictingsoseparable
⇒ Does this also hold with higher-arityrelations and FDs?
Introduction Existing approaches Result Proof ideas Conclusion
Finite controllability up to closure
In arity-two, UIDs/UFDs finitely controllableup to finite closure [Rosati, 2008, Ibáñez-García et al., 2014]
⇒ To perform finite QAon instance I, UIDs/UFDsΣ:
ComputeΣ∗ thefinite closureofΣ Check ifIsatisfies the UFDsofΣ∗ Performunrestricted QA withIandΣ∗
Easy because UIDs/UFDs arenon-conflictingsoseparable
⇒ Does this also hold with higher-arityrelations and FDs?
Introduction Existing approaches Result Proof ideas Conclusion
The result
Theorem
UIDs and FDs, though not finitely controllable, are finitely controllable up to finite closure, on arbitrary arity signatures.
⇒ It suffices to show that for any k,I, and Σ∗, there is afinite completionofIbyΣ∗ which isuniversalfor queries of size≤k
Introduction Existing approaches Result Proof ideas Conclusion
The result
Theorem
UIDs and FDs, though not finitely controllable, are finitely controllable up to finite closure, on arbitrary arity signatures.
⇒ It suffices to show that for any k,I, and Σ∗, there is a finite completionofIbyΣ∗ which isuniversalfor queries of size≤k
Introduction Existing approaches Result Proof ideas Conclusion
Table of Contents
1 Introduction
2 Existing approaches
3 Result
4 Proof ideas
5 Conclusion
Introduction Existing approaches Result Proof ideas Conclusion
Quotienting the chase
R[2] ⊆ R[1]
R( )
chase
R( ) R( ) R( )
Considerk-neighborhood equivalence
Quotient the chase by this relation May violate FDs
Notuniversal (cycles) even for ≤k Yet universal for ≤k acyclic queries Keep ahomomorphismto this quotient
Introduction Existing approaches Result Proof ideas Conclusion
Quotienting the chase
R[2] ⊆ R[1]
R( )
chase
R( ) R( ) R( )
Considerk-neighborhood equivalence Quotient the chase by this relation
May violate FDs
Notuniversal (cycles) even for ≤k Yet universal for ≤k acyclic queries Keep ahomomorphismto this quotient
Introduction Existing approaches Result Proof ideas Conclusion
Quotienting the chase
R[2] ⊆ R[1]
R( )
chase chase/≡2
R( ) R( ) R( )
R( ) R( ) R( ) R( )
Considerk-neighborhood equivalence Quotient the chase by this relation
May violate FDs
Notuniversal (cycles) even for ≤k Yet universal for ≤k acyclic queries Keep ahomomorphismto this quotient
Introduction Existing approaches Result Proof ideas Conclusion
Quotienting the chase
R[2] ⊆ R[1]
R( )
chase chase/≡2
R( ) R( ) R( )
R( ) R( ) R( ) R( )
Considerk-neighborhood equivalence Quotient the chase by this relation May violate FDs
Notuniversal (cycles) even for ≤k Yet universal for ≤k acyclic queries Keep ahomomorphismto this quotient
Introduction Existing approaches Result Proof ideas Conclusion
Quotienting the chase
R[2] ⊆ R[1]
R( )
chase chase/≡2
R( ) R( ) R( )
R( ) R( ) R( ) R( ) !
Considerk-neighborhood equivalence Quotient the chase by this relation May violate FDs
Notuniversal (cycles) even for ≤k Yet universal for ≤k acyclic queries Keep ahomomorphismto this quotient
Introduction Existing approaches Result Proof ideas Conclusion
Quotienting the chase
R[2] ⊆ R[1]
R( )
chase chase/≡2
R( ) R( ) R( )
R( ) R( ) R( ) R( )
Considerk-neighborhood equivalence Quotient the chase by this relation May violate FDs
Notuniversal (cycles) even for≤k
Yet universal for ≤k acyclic queries Keep ahomomorphismto this quotient
Introduction Existing approaches Result Proof ideas Conclusion
Quotienting the chase
R[2] ⊆ R[1]
R( )
chase chase/≡2
R( ) R( ) R( )
R( ) R( ) R( ) R( ) !
Considerk-neighborhood equivalence Quotient the chase by this relation May violate FDs
Notuniversal (cycles) even for≤k
Yet universal for ≤k acyclic queries Keep ahomomorphismto this quotient
Introduction Existing approaches Result Proof ideas Conclusion
Quotienting the chase
R[2] ⊆ R[1]
R( )
chase chase/≡2
R( ) R( ) R( )
R( ) R( ) R( ) R( )
Considerk-neighborhood equivalence Quotient the chase by this relation May violate FDs
Notuniversal (cycles) even for≤k Yet universal for ≤k acyclic queries
Keep ahomomorphismto this quotient
Introduction Existing approaches Result Proof ideas Conclusion
Quotienting the chase
R[2] ⊆ R[1]
R( )
chase chase/≡2
R( ) R( ) R( )
R( ) R( ) R( ) R( )
Considerk-neighborhood equivalence Quotient the chase by this relation May violate FDs
Notuniversal (cycles) even for≤k Yet universal for ≤k acyclic queries Keep ahomomorphismto this quotient
Introduction Existing approaches Result Proof ideas Conclusion
Frugal chase steps
R( )
Follow thechase
Partition positions:
Exportedposition Dangerouspositions (determiners for an UFD) Non-dangerouspositions (the rest)
Createfresh elementsfor dangerous Reuseclusters for non-dangerous created byinitial chasing
Introduction Existing approaches Result Proof ideas Conclusion
Frugal chase steps
R( )
R[3] ⊆ S[1]
Follow thechase
Partition positions:
Exportedposition Dangerouspositions (determiners for an UFD) Non-dangerouspositions (the rest)
Createfresh elementsfor dangerous Reuseclusters for non-dangerous created byinitial chasing
Introduction Existing approaches Result Proof ideas Conclusion
Frugal chase steps
R( )
R[3] ⊆ S[1]
S( ) * * * *
Follow thechase
Partition positions:
Exportedposition Dangerouspositions (determiners for an UFD) Non-dangerouspositions (the rest)
Createfresh elementsfor dangerous Reuseclusters for non-dangerous created byinitial chasing
Introduction Existing approaches Result Proof ideas Conclusion
Frugal chase steps
R( )
R[3] ⊆ S[1]
S( ) * * * *
Follow thechase Partition positions:
Exportedposition Dangerouspositions (determiners for an UFD) Non-dangerouspositions (the rest)
Createfresh elementsfor dangerous Reuseclusters for non-dangerous created byinitial chasing
Introduction Existing approaches Result Proof ideas Conclusion
Frugal chase steps
R( )
R[3] ⊆ S[1]
S( )
dangernon-danger
* * * *
Follow thechase Partition positions:
Exportedposition Dangerouspositions (determiners for an UFD) Non-dangerouspositions (the rest)
Createfresh elementsfor dangerous Reuseclusters for non-dangerous created byinitial chasing
Introduction Existing approaches Result Proof ideas Conclusion
Frugal chase steps
R( )
R[3] ⊆ S[1]
S( )
dangernon-danger
* * * *
Follow thechase Partition positions:
Exportedposition Dangerouspositions (determiners for an UFD) Non-dangerouspositions (the rest)
Createfresh elementsfor dangerous
Reuseclusters for non-dangerous created byinitial chasing
Introduction Existing approaches Result Proof ideas Conclusion
Frugal chase steps
R( )
R[3] ⊆ S[1]
S( )
dangernon-danger
* *
Follow thechase Partition positions:
Exportedposition Dangerouspositions (determiners for an UFD) Non-dangerouspositions (the rest)
Createfresh elementsfor dangerous
Reuseclusters for non-dangerous created byinitial chasing
Introduction Existing approaches Result Proof ideas Conclusion
Frugal chase steps
R( )
R[3] ⊆ S[1]
S( )
dangernon-danger
* *
Follow thechase Partition positions:
Exportedposition Dangerouspositions (determiners for an UFD) Non-dangerouspositions (the rest)
Createfresh elementsfor dangerous Reuseclusters for non-dangerous created byinitial chasing
Introduction Existing approaches Result Proof ideas Conclusion
Frugal chase steps
R( )
R[3] ⊆ S[1]
S( )
dangernon-danger initial segment
Follow thechase Partition positions:
Exportedposition Dangerouspositions (determiners for an UFD) Non-dangerouspositions (the rest)
Createfresh elementsfor dangerous Reuseclusters for non-dangerous created byinitial chasing
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths... ... but only within acycle
Connect it back(match elements) Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( )
R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
⊆ ←
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
⊆ ←
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( )
R( ) R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
⊆ ←
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( ) R( ) R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
⊆ ←
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements)
Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( ) R( ) R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
⊆ ←
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements)
Morecomplex if many positions of many relations are involved... Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( ) R( ) R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
R( )
⊆ ←
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplexif many positions of many relations are involved...
Uses cardinalityalong cycles... ... but also initial chasing
to force “generic neighborhoods”
I R( ) R( ) R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
R( )
⊆ ←
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplexif many positions of many relations are involved...
Uses cardinalityalong cycles...
... but also initial chasing
to force “generic neighborhoods”
I R( ) R( ) R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
R( )
⊆ ←
Introduction Existing approaches Result Proof ideas Conclusion
Blueprint
Infinite functional paths...
... but only within acycle
Connect it back(match elements) Morecomplexif many positions of many relations are involved...
Uses cardinalityalong cycles...
... but also initial chasing
to force “generic neighborhoods”
I R( ) R( ) R( )
R( ) R( ) A( )
R[2] ⊆ R[1] R[2] → R[1]
R( )
⊆ ←
Introduction Existing approaches Result Proof ideas Conclusion
Dependency graph
R( ) * * * * ( ) * *
S
Build a DAGon the dependencycycles
We never create fresh elements for ahigher dependencyin the DAG Satisfy cycles along a topological sort
⇒ Finite extension that satisfies UIDs/UFDs with ahomomorphism to the quotient
Introduction Existing approaches Result Proof ideas Conclusion
Dependency graph
R( ) * * * * ( ) * *
S
Build a DAGon the dependencycycles
We never create fresh elements for ahigher dependencyin the DAG Satisfy cycles along a topological sort
⇒ Finite extension that satisfies UIDs/UFDs with ahomomorphism to the quotient
Introduction Existing approaches Result Proof ideas Conclusion
Dependency graph
R( ) * * * * ( ) * *
S
Build a DAGon the dependencycycles
We never create fresh elements for ahigher dependencyin the DAG Satisfy cycles along a topological sort
⇒ Finite extension that satisfies UIDs/UFDs with ahomomorphism to the quotient
Introduction Existing approaches Result Proof ideas Conclusion
Dependency graph
R( ) * * * * ( ) * *
S
Build a DAGon the dependencycycles We never create fresh elements
for ahigher dependencyin the DAG
Satisfy cycles along a topological sort
⇒ Finite extension that satisfies UIDs/UFDs with ahomomorphism to the quotient
Introduction Existing approaches Result Proof ideas Conclusion
Dependency graph
R( ) * * * * ( ) * *
S
Build a DAGon the dependencycycles We never create fresh elements
for ahigher dependencyin the DAG Satisfy cycles along a topological sort
⇒ Finite extension that satisfies UIDs/UFDs with ahomomorphism to the quotient
Introduction Existing approaches Result Proof ideas Conclusion
Dependency graph
R( ) * * * * ( ) * *
S
Build a DAGon the dependencycycles We never create fresh elements
for ahigher dependencyin the DAG Satisfy cycles along a topological sort
⇒ Finite extension that satisfies UIDs/UFDs with ahomomorphism to the quotient
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
Ignored so far
May only be triggered at non-dangerous reuses
Idea: if non-dangerousbut dangerous for higher-arity FD then no unary key
R( )
export non-danger
Idea:
create manyreuse candidates combine them in differentpatterns
⇒ Lemma: if no UKD then O(n>1) patterns forO(n) elements
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
Ignored so far
May only be triggered at non-dangerous reuses
Idea: if non-dangerousbut dangerous for higher-arity FD then no unary key
R( )
export non-danger
!
Idea:
create manyreuse candidates combine them in differentpatterns
⇒ Lemma: if no UKD then O(n>1) patterns forO(n) elements
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
Ignored so far
May only be triggered at non-dangerous reuses
Idea: if non-dangerousbut dangerous for higher-arity FD then no unary key
R( )
export non-danger
!
Idea:
create manyreuse candidates
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
I
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
R( ) I
reuse candidates
R( )
R( )
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
R( ) I
reuse candidates O(n)
elements
O(n>1)
patterns
R( )
R( )
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
R( )
R( ) I
reuse candidates
...
O(n) elements
O(n>1)
patterns
R( )
R( )
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
R( )
R( ) I
reuse candidates
...
O(n) elements
O(n>1)
patterns
R( )
R( )
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
R( )
R( ) R( ) I
reuse candidates
...
O(n) elements
O(n>1)
patterns
R( )
R( )
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
R( )
R( ) R( ) I
reuse candidates
...
O(n) elements
O(n>1)
patterns
R( )
R( )
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
R( )
R( ) R( ) I
reuse candidates
...
O(n) elements
O(n>1)
patterns
R( )
R( )
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
R( )
R( ) R( ) I
reuse candidates
...
O(n) elements
O(n>1)
patterns
R( )
R( )
Introduction Existing approaches Result Proof ideas Conclusion
Higher-arity FDs
R( )
R( ) R( ) I
reuse candidates
...
O(n) elements
O(n>1)
patterns
O(n) reuses
R( )
R( )
Introduction Existing approaches Result Proof ideas Conclusion
Blowing up cycles
Usually: product with a group ofhigh girth[Otto, 2002]
Ensures all non-instancecyclesare large
We cannot do it directlyas it would violate theFDs
However, intuition:
FD violations can only appear onnon-dangerous reuses... ... and those facts are mapped to thesame quotient fact ... so cycles on them areself-homomorphicin the quotient
R( ) R( )
model M
non-danger reuses
⇒ Blow up cycles, but not those cycles
Introduction Existing approaches Result Proof ideas Conclusion
Blowing up cycles
Usually: product with a group ofhigh girth[Otto, 2002]
Ensures all non-instancecyclesare large
We cannot do it directlyas it would violate theFDs However, intuition:
FD violations can only appear onnon-dangerous reuses...
... and those facts are mapped to thesame quotient fact ... so cycles on them areself-homomorphicin the quotient
R( ) R( )
model M
non-danger reuses
⇒ Blow up cycles, but not those cycles
Introduction Existing approaches Result Proof ideas Conclusion
Blowing up cycles
Usually: product with a group ofhigh girth[Otto, 2002]
Ensures all non-instancecyclesare large
We cannot do it directlyas it would violate theFDs However, intuition:
FD violations can only appear onnon-dangerous reuses...
... and those facts are mapped to thesame quotient fact ... so cycles on them areself-homomorphicin the quotient
R( ) R( )
model M chase/≡k
non-danger reuses
R( )
h
⇒ Blow up cycles, but not those cycles
Introduction Existing approaches Result Proof ideas Conclusion
Blowing up cycles
Usually: product with a group ofhigh girth[Otto, 2002]
Ensures all non-instancecyclesare large
We cannot do it directlyas it would violate theFDs However, intuition:
FD violations can only appear onnon-dangerous reuses...
... and those facts are mapped to thesame quotient fact ... so cycles on them areself-homomorphicin the quotient
R( ) R( )
model M chase/≡k
non-danger reuses
R( )
h
Introduction Existing approaches Result Proof ideas Conclusion
Blowing up cycles via the product
chase/≡
kk-acyclic-
universal
Introduction Existing approaches Result Proof ideas Conclusion
Blowing up cycles via the product
chase/≡
khom
k-acyclic- universal
M
satisfies Σ*
safe overlaps
Introduction Existing approaches Result Proof ideas Conclusion
Blowing up cycles via the product
chase/≡
khom
k-acyclic- universal
M
satisfies Σ*
safe overlaps
k-universal
chase/≡ ×G
kM ×G
prod prod
satisfies Σ*
Introduction Existing approaches Result Proof ideas Conclusion
Blowing up cycles via the product
chase/≡
khom
k-acyclic- universal
M
satisfies Σ*
safe overlaps
k-universal
chase/≡ ×G
kM ×G
prod prod
hom
satisfies Σ*
Introduction Existing approaches Result Proof ideas Conclusion
Table of Contents
1 Introduction
2 Existing approaches
3 Result
4 Proof ideas
5 Conclusion
Introduction Existing approaches Result Proof ideas Conclusion
Summary
UIDs/FDs finitely controllable up to closure Maindifferences with arity-two:
Clustersfor non-dangerous reuses Combinationsfor higher-arity FDs More complexreconnexionsalong cycles
More elaboratecycle elimination(via the quotient)
⇒ Generalize to richer unary languagesfor high arity?
Need construction forfinite implication Does thefinite model constructionadapt?
Thanks for your attention!
Introduction Existing approaches Result Proof ideas Conclusion
Summary
UIDs/FDs finitely controllable up to closure Maindifferences with arity-two:
Clustersfor non-dangerous reuses Combinationsfor higher-arity FDs More complexreconnexionsalong cycles
More elaboratecycle elimination(via the quotient)
⇒ Generalize to richer unary languagesfor high arity?
Need construction forfinite implication Does thefinite model constructionadapt?
Thanks for your attention!
References I
Barany, V., Gottlob, G., and Otto, M. (2010).
Querying the guarded fragment.
InLICS.
Calì, A., Lembo, D., and Rosati, R. (2003).
On the decidability and complexity of query answering over inconsistent and incomplete databases.
InPODS.
Cosmadakis, S. S., Kanellakis, P. C., and Vardi, M. Y. (1990).
Polynomial-time implication problems for unary inclusion dependencies.
JACM, 37(1).
References II
Ibáñez-García, Y., Lutz, C., and Schneider, T. (2014).
Finite model reasoning in horn description logics.
InKR.
Mitchell, J. C. (1983).
The implication problem for functional and inclusion dependencies.
Information and Control, 56(3).
Otto, M. (2002).
Modal and guarded characterisation theorems over finite transition systems.
InLICS.
References III
Pratt-Hartmann, I. (2009).
Data-complexity of the two-variable fragment with counting quantifiers.
Inf. Comput., 207(8).
Rosati, R. (2006).
On the decidability and finite controllability of query processing in databases with incomplete information.
InPODS.
Rosati, R. (2008).
Finite model reasoning in DL-Lite.
InESWC.