Hybrid integration of rules and
- ntologies:
Hybrid integration of rules and ontologies: A constraint-based fram - - PowerPoint PPT Presentation
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)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 2
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 3
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 4
r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
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.
T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b) T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 5
r1: price-in-usa(X,high) :- made-by(X,Y), No NoFellowCompany FellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate ericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(X,high) :- made-by(X,Y), No NoFellowCompany FellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate ericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
T-Box: European ∩ American ⊆ ⊥ NoFellowC NoFellowCompan
≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b) T-Box: European ∩ American ⊆ ⊥ NoFellowC NoFellowCompan
≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b) … constraint dom ain. Constraining extent of head predicates w ith …
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 6
r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b) T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 7
r1: price-in-usa(a,high) :- made-by(a,b), No NoFellowCompany( FellowCompany(b) b). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(a,high) :- made-by(a,b), No NoFellowCompany( FellowCompany(b) b). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b) T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 8
r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(a,high) :- made-by(a,b), AmericanAssociate(b) ericanAssociate(b), monopoly-in-usa(b,a). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(a,high) :- made-by(a,b), AmericanAssociate(b) ericanAssociate(b), monopoly-in-usa(b,a). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b) T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 9
r1: price-in-usa(a,high) :- made-by(a,b), No NoFellowCompany( FellowCompany(b) b). r2: price-in-usa(a,high) :- made-by(a,b), AmericanAssociate(b) ericanAssociate(b), monopoly-in-usa(b,a). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(a,high) :- made-by(a,b), No NoFellowCompany( FellowCompany(b) b). r2: price-in-usa(a,high) :- made-by(a,b), AmericanAssociate(b) ericanAssociate(b), monopoly-in-usa(b,a). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b) T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 10
r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b) T-Box: European ∩ American ⊆ ⊥ NoFellowCompany ≡ ∀associate.¬American EuropeanAssociate ≡ Ǝassociate.American AmericanAssociate ≡ Ǝassociate.American InternationalCompany ≡ EuropeanAssociate ∪ AmericanAssociate A-Box: InternationalCompany(b)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 11
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 12
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 13
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 14
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 15
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 16
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 17
r1: price-in-usa(X,high,[NoFello [NoFellowCompany(Y) | A] wCompany(Y) | A]) :- made-by(X,Y,A). r2: price-in-usa(X,high,[AmericanAsso [AmericanAssociate(Y) | A] ciate(Y) | A]) :- made-by(X,Y,A1 A1), monopoly-in-usa(Y,X,A2 A2), ap append(A pend(A1,A 1,A2,A ,A). r3: made-by(a,b,[] []). r4: monopoly-in-usa(b,a,[] []). r1: price-in-usa(X,high,[NoFello [NoFellowCompany(Y) | A] wCompany(Y) | A]) :- made-by(X,Y,A). r2: price-in-usa(X,high,[AmericanAsso [AmericanAssociate(Y) | A] ciate(Y) | A]) :- made-by(X,Y,A1 A1), monopoly-in-usa(Y,X,A2 A2), ap append(A pend(A1,A 1,A2,A ,A). r3: made-by(a,b,[] []). r4: monopoly-in-usa(b,a,[] []).
r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(X,high) :- made-by(X,Y), NoFellowCompany(Y). r2: price-in-usa(X,high) :- made-by(X,Y), AmericanAssociate(Y), monopoly-in-usa(Y,X). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 18
r1: price-in-usa(X,high,[NoFello [NoFellowCompany(Y) | A] wCompany(Y) | A]) :- made-by(X,Y,A). r2: price-in-usa(X,high,[AmericanAsso [AmericanAssociate(Y) | A] ciate(Y) | A]) :- made-by(X,Y,A1 A1), monopoly-in-usa(Y,X,A2 A2), ap append(A pend(A1,A 1,A2,A ,A). r3: made-by(a,b,[] []). r4: monopoly-in-usa(b,a,[] []). r1: price-in-usa(X,high,[NoFello [NoFellowCompany(Y) | A] wCompany(Y) | A]) :- made-by(X,Y,A). r2: price-in-usa(X,high,[AmericanAsso [AmericanAssociate(Y) | A] ciate(Y) | A]) :- made-by(X,Y,A1 A1), monopoly-in-usa(Y,X,A2 A2), ap append(A pend(A1,A 1,A2,A ,A). r3: made-by(a,b,[] []). r4: monopoly-in-usa(b,a,[] []).
r1: price-in-usa(a,high) :- made-by(a,b), NoFellowCompany(b). r2: price-in-usa(a,high) :- made-by(a,b), AmericanAssociate(b), monopoly-in-usa(b,a). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(a,high) :- made-by(a,b), NoFellowCompany(b). r2: price-in-usa(a,high) :- made-by(a,b), AmericanAssociate(b), monopoly-in-usa(b,a). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 19
CONSTRUCT CONSTRUCT results { all all madeby { var Product, var Manufact } } FILTER FILTER NoFellowCompany { var Manufact } FR FROM OM madeby { product { var Product }, manufacturer { var Manufact } } END END CONSTRUCT CONSTRUCT results { all all madeby { var Product, var Manufact } } FILTER FILTER NoFellowCompany { var Manufact } FR FROM OM madeby { product { var Product }, manufacturer { var Manufact } } END END CONSTRUCT CONSTRUCT results { all all monopoly { var Manufact, var Product } } FILTER FILTER AmericanAssociate { var Manufact } FR FROM OM and and { monopoly { name { var Manufact }, product { var Product } }, madeby { product { var Product }, manufacturer { var Manufact } } END END CONSTRUCT CONSTRUCT results { all all monopoly { var Manufact, var Product } } FILTER FILTER AmericanAssociate { var Manufact } FR FROM OM and and { monopoly { name { var Manufact }, product { var Product } }, madeby { product { var Product }, manufacturer { var Manufact } } END END GOAL GOAL prices [ all all high [ var Product ] ] FR FROM OM results {{
madeby [ var Product, var M ], monopoly [ var M, var Product ] } }} END END GOAL GOAL prices [ all all high [ var Product ] ] FR FROM OM results {{
madeby [ var Product, var M ], monopoly [ var M, var Product ] } }} END END
made-by [ product [ “A” ], manufacturer [ “B” ] ] monopoly [ name [ “B” ], product [ “A” ] ]
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 20
CONSTRUCT CONSTRUCT results { all all madeby { var Product, var Manufact } } FILTER FILTER NoFellowCompany { var Manufact } FR FROM OM madeby { product { var Product }, manufacturer { var Manufact } } END END CONSTRUCT CONSTRUCT results { all all madeby { var Product, var Manufact } } FILTER FILTER NoFellowCompany { var Manufact } FR FROM OM madeby { product { var Product }, manufacturer { var Manufact } } END END CONSTRUCT CONSTRUCT results { all all monopoly { var Manufact, var Product } } FILTER FILTER AmericanAssociate { var Manufact } FR FROM OM and and { monopoly { name { var Manufact }, product { var Product } }, madeby { product { var Product }, manufacturer { var Manufact } } END END GOAL GOAL prices [ all all high [ var Product ] ] FR FROM OM results {{
madeby [ var Product, var C1 ], monopoly [ var C2, var Product ] }} END END
CONSTRUCT CONSTRUCT results [ all all madeby [ var Product, var Manufact, constraint [ instance [ ind [ var Manufact ], catom [ "NoFellowCompany" ] ] ] ] ] FR FROM OM madeby { product { var Product }, manufacturer { var Manufact } } END END CONSTRUCT CONSTRUCT results [ all all madeby [ var Product, var Manufact, constraint [ instance [ ind [ var Manufact ], catom [ "NoFellowCompany" ] ] ] ] ] FR FROM OM madeby { product { var Product }, manufacturer { var Manufact } } END END
made-by [ product [ “A” ], manufacturer [ “B” ] ] monopoly [ name [ “B” ], product [ “A” ] ]
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 21
GOAL GOAL prices [ all all high [ var Product ] ] FR FROM OM results {{
madeby [ var Product, var C1 ], monopoly [ var C2, var Product ] }} END END
CONSTRUCT CONSTRUCT results { all all madeby { var Product, var Manufact } } FILTER FILTER NoFellowCompany { var Manufact } FR FROM OM madeby { product { var Product }, manufacturer { var Manufact } } END END CONSTRUCT CONSTRUCT results { all all monopoly { var Manufact, var Product } } FILTER FILTER AmericanAssociate { var Manufact } FR FROM OM and and { monopoly { name { var Manufact }, product { var Product } }, madeby { product { var Product }, manufacturer { var Manufact } } END END CONSTRUCT CONSTRUCT results { all all monopoly { var Manufact, var Product } } FILTER FILTER AmericanAssociate { var Manufact } FR FROM OM and and { monopoly { name { var Manufact }, product { var Product } }, madeby { product { var Product }, manufacturer { var Manufact } } END END
CONSTRUCT CONSTRUCT results [ all all monopoly [ var Manufact, var Product, constraint [ instance [ ind [ var Manufact ], catom [ "AmericanAssociate" ] ] ] ] ] FR FROM OM and and { monopoly { name { var Manufact }, product { var Product } }, madeby { product { var Product }, manufacturer { var Manufact } } } END END CONSTRUCT CONSTRUCT results [ all all monopoly [ var Manufact, var Product, constraint [ instance [ ind [ var Manufact ], catom [ "AmericanAssociate" ] ] ] ] ] FR FROM OM and and { monopoly { name { var Manufact }, product { var Product } }, madeby { product { var Product }, manufacturer { var Manufact } } } END END
made-by [ product [ “A” ], manufacturer [ “B” ] ] monopoly [ name [ “B” ], product [ “A” ] ]
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 22
CONSTRUCT CONSTRUCT results { all all madeby { var Product, var Manufact } } FILTER FILTER NoFellowCompany { var Manufact } FR FROM OM madeby { product { var Product }, manufacturer { var Manufact } } END END CONSTRUCT CONSTRUCT results { all all monopoly { var Manufact, var Product } } FILTER FILTER AmericanAssociate { var Manufact } FR FROM OM and and { monopoly { name { var Manufact }, product { var Product } }, madeby { product { var Product }, manufacturer { var Manufact } } END END GOAL GOAL prices [ all all high [ var Product ] ] FR FROM OM results {{
madeby [ var Product, var M ], monopoly [ var M, var Product ] } }} END END GOAL GOAL prices [ all all high [ var Product ] ] FR FROM OM results {{
madeby [ var Product, var M ], monopoly [ var M, var Product ] } }} END END GOAL GOAL prices [ all all high [ var Product, digor [ all all var C ] ] ] FR FROM OM results {{
madeby [ var Product, var M, var C ], monopoly [ var M, var Product, var C ] } }} END END GOAL GOAL prices [ all all high [ var Product, digor [ all all var C ] ] ] FR FROM OM results {{
madeby [ var Product, var M, var C ], monopoly [ var M, var Product, var C ] } }} END END
made-by [ product [ “A” ], manufacturer [ “B” ] ] monopoly [ name [ “B” ], product [ “A” ] ]
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 23
prices [ high [ "A", digor [ constraint [ instance [ ind [ name [ "B" ] ], catom [ name [ "NoFellow Com pany" ] ] ] ], constraint [ instance [ ind [ name [ "B" ] ], catom [ name [ "Am ericanAssociate" ] ] ] ] ] ], ]
GOAL GOAL prices [ all all high [ var Product, digor [ all all var C ] ] ] FR FROM OM results {{
madeby [ var Product, var M, var C ], monopoly [ var M, var Product, var C ] } }} END END GOAL GOAL prices [ all all high [ var Product, digor [ all all var C ] ] ] FR FROM OM results {{
madeby [ var Product, var M, var C ], monopoly [ var M, var Product, var C ] } }} END END
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 24
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 25
price-in-usa(a,high) made-by(a,b), European(b) European(b) European(b) European(b) r1: price-in-usa(X,high) :- made-by(X,Y), Am American(Y), monopoly-in-usa(Y,X). r2: price-in-usa(X,high) :- made-by(X,Y), Eur Europea pean(Y) (Y). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(X,high) :- made-by(X,Y), Am American(Y), monopoly-in-usa(Y,X). r2: price-in-usa(X,high) :- made-by(X,Y), Eur Europea pean(Y) (Y). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
T-Box: European European ∩ American American ⊆ ⊥ A-Box: … European(b) European(b) T-Box: European European ∩ American American ⊆ ⊥ A-Box: … European(b) European(b)
made-by(a,b), American American(b) (b), monopoly-in-usa(b,a) American American(b) (b), monopoly-in-usa(b,a) American American(b) (b)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 26
price-in-usa(a,high) made-by(a,b), European(b) European(b) European(b) European(b) r1: price-in-usa(X,high) :- made-by(X,Y), Am American(Y), monopoly-in-usa(Y,X). r2: price-in-usa(X,high) :- made-by(X,Y), Eur Europea pean(Y) (Y). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(X,high) :- made-by(X,Y), Am American(Y), monopoly-in-usa(Y,X). r2: price-in-usa(X,high) :- made-by(X,Y), Eur Europea pean(Y) (Y). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
T-Box: European European ∩ American American ⊆ ⊥ A-Box: … European(b) European(b) T-Box: European European ∩ American American ⊆ ⊥ A-Box: … European(b) European(b)
made-by(a,b), American American(b) (b), monopoly-in-usa(b,a) American American(b) (b), monopoly-in-usa(b,a) American American(b) (b)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 27
price-in-usa(a,high) made-by(a,b), European(b) European(b) European(b) European(b) r1: price-in-usa(X,high) :- made-by(X,Y), Am American(Y), monopoly-in-usa(Y,X). r2: price-in-usa(X,high) :- made-by(X,Y), Eur Europea pean(Y) (Y). r3: made-by(a,b). r4: monopoly-in-usa(b,a). r1: price-in-usa(X,high) :- made-by(X,Y), Am American(Y), monopoly-in-usa(Y,X). r2: price-in-usa(X,high) :- made-by(X,Y), Eur Europea pean(Y) (Y). r3: made-by(a,b). r4: monopoly-in-usa(b,a).
T-Box: European European ∩ American American ⊆ ⊥ A-Box: … European(b) European(b) T-Box: European European ∩ American American ⊆ ⊥ A-Box: … European(b) European(b)
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 28
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 29
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 30
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 31
11 November 2006 Jakob Henriksson, RuleML, Athens, GA 32