Hybrid integration of rules and ontologies: A constraint-based fram ew ork Jakob Henriksson, Jan Ma ł uszy ń ski RuleML 2006, Athens, GA
The objective • Define a scheme that from given – Rule language R (e.g. Datalog, Xcerpt) – Logical language S (e.g. OWL-DL, ...) constructs – A language R S integrating R and S: • Syntax, Semantics of R S : from syntax and semantics of R and S • A (complete) reasoner for R S by interfacing existing reasoners of R and S 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 2
Outline • Motivating example • The scheme – Principles and restrictions • Reusing reasoners – Datalog + OWL-DL – Xcerpt + OWL-DL • Practical reasoning – Eager interaction • Conclusions • Future work 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 3
Motivating example Rule component ∏ : DL component ∑ : r 1 : price-in-usa(X,high) :- T-Box: r 1 : price-in-usa(X,high) :- T-Box: made-by(X,Y), made-by(X,Y), NoFellowCompany(Y). European ∩ American ⊆ ⊥ NoFellowCompany(Y). European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀ associate.¬American NoFellowCompany ≡ ∀ associate.¬American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American made-by(X,Y), AmericanAssociate ≡ Ǝ associate.American made-by(X,Y), AmericanAssociate ≡ Ǝ associate.American AmericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ monopoly-in-usa(Y,X). AmericanAssociate monopoly-in-usa(Y,X). AmericanAssociate A-Box: A-Box: r 3 : made-by(a,b). r 3 : made-by(a,b). r 4 : monopoly-in-usa(b,a). InternationalCompany(b) r 4 : monopoly-in-usa(b,a). InternationalCompany(b) Ref: A.Levy and M C.Rousset. CARIN:A Representation Language Combining Horn rules and Description Logics . Artificial Intelligence 104(1 2):165 –209, 1998. 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 4
Motivating example Rule component ∏ : DL component ∑ : r 1 : price-in-usa(X,high) :- T-Box: r 1 : price-in-usa(X,high) :- T-Box: made-by(X,Y), made-by(X,Y), NoFellowCompany No FellowCompany(Y). European ∩ American ⊆ ⊥ No NoFellowCompany FellowCompany(Y). European ∩ American ⊆ ⊥ NoFellowC NoFellowCompan ompany ≡ ∀ associate.¬American NoFellowCompan NoFellowC ompany ≡ ∀ associate.¬American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American made-by(X,Y), AmericanAssociate AmericanAssociate ≡ Ǝ associate.American made-by(X,Y), AmericanAssociate AmericanAssociate ≡ Ǝ associate.American AmericanAssociate ericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate ericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ monopoly-in-usa(Y,X). AmericanAssociate monopoly-in-usa(Y,X). AmericanAssociate A-Box: A-Box: r 3 : made-by(a,b). r 3 : made-by(a,b). r 4 : monopoly-in-usa(b,a). InternationalCompany(b) r 4 : monopoly-in-usa(b,a). InternationalCompany(b) Constraining extent of head predicates w ith … … constraint dom ain. 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 5
Motivating example Rule component ∏ : DL component ∑ : r 1 : price-in-usa(X,high) :- T-Box: r 1 : price-in-usa(X,high) :- T-Box: made-by(X,Y), made-by(X,Y), NoFellowCompany(Y). European ∩ American ⊆ ⊥ NoFellowCompany(Y). European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀ associate.¬American NoFellowCompany ≡ ∀ associate.¬American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American made-by(X,Y), AmericanAssociate ≡ Ǝ associate.American made-by(X,Y), AmericanAssociate ≡ Ǝ associate.American AmericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ monopoly-in-usa(Y,X). AmericanAssociate monopoly-in-usa(Y,X). AmericanAssociate A-Box: A-Box: r 3 : made-by(a,b). r 3 : made-by(a,b). r 4 : monopoly-in-usa(b,a). InternationalCompany(b) r 4 : monopoly-in-usa(b,a). InternationalCompany(b) ∏ ∪ ∑ ⊨ price-in-usa(a, high) ? price-in-usa(a, high) ? 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 6
Motivating example Rule component ∏ : DL component ∑ : r 1 : price-in-usa(a,high) :- T-Box: r 1 : price-in-usa(a,high) :- T-Box: made-by(a,b), made-by(a,b), No NoFellowCompany( FellowCompany(b) b). European ∩ American ⊆ ⊥ NoFellowCompany( No FellowCompany(b) b). European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀ associate.¬American NoFellowCompany ≡ ∀ associate.¬American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American ∑ ⊭ NoFellowCompany(b) NoFellowCompany(b) made-by(X,Y), AmericanAssociate ≡ Ǝ associate.American made-by(X,Y), AmericanAssociate ≡ Ǝ associate.American AmericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ monopoly-in-usa(Y,X). AmericanAssociate monopoly-in-usa(Y,X). AmericanAssociate A-Box: A-Box: r 3 : made-by(a,b). r 3 : made-by(a,b). r 4 : monopoly-in-usa(b,a). InternationalCompany(b) r 4 : monopoly-in-usa(b,a). InternationalCompany(b) ∏ ∪ ∑ ⊨ price-in-usa(a, high) ? price-in-usa(a, high) ? 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 7
Motivating example Rule component ∏ : DL component ∑ : r 1 : price-in-usa(X,high) :- T-Box: r 1 : price-in-usa(X,high) :- T-Box: made-by(X,Y), made-by(X,Y), NoFellowCompany(Y). European ∩ American ⊆ ⊥ NoFellowCompany(Y). European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀ associate.¬American NoFellowCompany ≡ ∀ associate.¬American r 2 : price-in-usa(a,high) :- EuropeanAssociate ≡ Ǝ associate.American r 2 : price-in-usa(a,high) :- EuropeanAssociate ≡ Ǝ associate.American ∑ ⊭ AmericanAssociate(b) AmericanAssociate(b) made-by(a,b), AmericanAssociate ≡ Ǝ associate.American made-by(a,b), AmericanAssociate ≡ Ǝ associate.American AmericanAssociate(b) ericanAssociate(b), InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate(b) ericanAssociate(b), InternationalCompany ≡ EuropeanAssociate ∪ monopoly-in-usa(b,a). AmericanAssociate monopoly-in-usa(b,a). AmericanAssociate A-Box: A-Box: r 3 : made-by(a,b). r 3 : made-by(a,b). r 4 : monopoly-in-usa(b,a). InternationalCompany(b) r 4 : monopoly-in-usa(b,a). InternationalCompany(b) ∏ ∪ ∑ ⊨ price-in-usa(a, high) ? price-in-usa(a, high) ? 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 8
Motivating example Rule component ∏ : DL component ∑ : r 1 : price-in-usa(a,high) :- T-Box: r 1 : price-in-usa(a,high) :- T-Box: But: But: made-by(a,b), made-by(a,b), NoFellowCompany( No FellowCompany(b) b). European ∩ American ⊆ ⊥ NoFellowCompany( No FellowCompany(b) b). European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀ associate.¬American NoFellowCompany ≡ ∀ associate.¬American r 2 : price-in-usa(a,high) :- EuropeanAssociate ≡ Ǝ associate.American ∑ ⊨ NoFellowCompany(b) NoFellowCompany(b) r 2 : price-in-usa(a,high) :- EuropeanAssociate ≡ Ǝ associate.American made-by(a,b), AmericanAssociate ≡ Ǝ associate.American made-by(a,b), AmericanAssociate ≡ Ǝ associate.American v AmericanAssociate(b) ericanAssociate(b), InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate(b) ericanAssociate(b), InternationalCompany ≡ EuropeanAssociate ∪ monopoly-in-usa(b,a). AmericanAssociate monopoly-in-usa(b,a). AmericanAssociate AmericanAssociate(b) AmericanAssociate(b) A-Box: A-Box: r 3 : made-by(a,b). r 3 : made-by(a,b). r 4 : monopoly-in-usa(b,a). InternationalCompany(b) r 4 : monopoly-in-usa(b,a). InternationalCompany(b) ∏ ∪ ∑ ⊨ price-in-usa(a, high) ? price-in-usa(a, high) ? 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 9
Motivating example Rule component ∏ : DL component ∑ : r 1 : price-in-usa(X,high) :- T-Box: r 1 : price-in-usa(X,high) :- T-Box: made-by(X,Y), made-by(X,Y), NoFellowCompany(Y). European ∩ American ⊆ ⊥ NoFellowCompany(Y). European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀ associate.¬American NoFellowCompany ≡ ∀ associate.¬American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American r 2 : price-in-usa(X,high) :- EuropeanAssociate ≡ Ǝ associate.American made-by(X,Y), AmericanAssociate ≡ Ǝ associate.American made-by(X,Y), AmericanAssociate ≡ Ǝ associate.American AmericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate(Y), InternationalCompany ≡ EuropeanAssociate ∪ monopoly-in-usa(Y,X). AmericanAssociate monopoly-in-usa(Y,X). AmericanAssociate A-Box: A-Box: r 3 : made-by(a,b). r 3 : made-by(a,b). r 4 : monopoly-in-usa(b,a). InternationalCompany(b) r 4 : monopoly-in-usa(b,a). InternationalCompany(b) Thus, ∏ ∪ ∑ ⊨ price-in-usa(a, high) ! Thus, price-in-usa(a, high) ! 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 10
Rules we consider HEAD ← BODY – HEAD is some basic construct ( atom ) – BODY is a set of atoms – Safety : head variables appear in the body – Examples: • Datalog: atomic formulae • Xcerpt: Query terms and Construct terms 11 November 2006 Jakob Henriksson, RuleML, Athens, GA 11
Recommend
More recommend