Extending Consequence-Based Reasoning to ๐ฏโโ๐ญ
Andrew Bate, Boris Motik, Bernardo Cuenca Grau, Frantiลกek Simanฤรญk, and Ian Horrocks
Department of Computer Science University of Oxford
Extending Consequence-Based Reasoning to Andrew Bate, Boris Motik, - - PowerPoint PPT Presentation
Extending Consequence-Based Reasoning to Andrew Bate, Boris Motik, Bernardo Cuenca Grau, Frantiek Simank , and Ian Horrocks Department of Computer Science University of Oxford Motivation Most reasoners based on
Andrew Bate, Boris Motik, Bernardo Cuenca Grau, Frantiลกek Simanฤรญk, and Ian Horrocks
Department of Computer Science University of Oxford
โ FaCT++ โ HermiT โ Pellet โ Konclude โ Racer
โ To prove ๐ซ โจ ๐ท โ ๐ธ show ๐ท โ ยฌ๐ธ is unsat โ Bottleneck: large number of concepts โ Rebuilds entire model for each test
No need for several counter models
Horn-๐ฏโ๐ซโ๐ญ
๐โ๐โ
ELK (Java)
CEL (Common LISP)
Snorocket (Java)
Elephant (C)
jcel (Java) CB (OCaml)
Condor (C++)
โ โก Algorithm does not build models
โ Apply inference rules to derive local consequences of ontology
Derived consequences not all stored together
โ Contexts store consequences corresponding to a conjunction of concepts and roles
DL Clauses ๐ฏโโ๐ญ Calculus FOL Clauses Taxonomy
Vegetarian โ Animal Animal โ โฅ 5 eats Meat โ SideDish โ โฅ Vegetarian โ โ eats . SideDish โฅ 5 eats . ยฌMeat โ HealthyPerson HealthyPerson โ Person
DL Clauses ๐ฏโโ๐ญ Calculus FOL Clauses Taxonomy
Translate into first-order clauses with equality
แฅ
๐=1 ๐
๐๐ โ แง
๐=1 ๐
๐๐
Function-free atoms of the forms ๐ต ๐ฆ , ๐ ๐ฆ, ๐จ๐ or ๐ ๐จ๐, ๐ฆ Atoms or equations of the forms ๐จ๐ โ ๐จ๐ or ๐จ๐ โ ๐จ๐
Vegetarian ๐ฆ โ Animal ๐ฆ Vegetarian โ Animal Animal โ โฅ 5 eats Meat โ SideDish โ โฅ Vegetarian โ โ eats . SideDish โฅ 5 eats . ยฌMeat โ HealthyPerson HealthyPerson โ Person
Vegetarian ๐ฆ โ Animal ๐ฆ Animal ๐ฆ โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โฎ โฎ Animal ๐ฆ โ eats ๐ฆ, ๐
5 ๐ฆ
Animal ๐ฆ โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 Vegetarian โ Animal Animal โ โฅ 5 eats Meat โ SideDish โ โฅ Vegetarian โ โ eats . SideDish โฅ 5 eats . ยฌMeat โ HealthyPerson HealthyPerson โ Person
Vegetarian ๐ฆ โ Animal ๐ฆ Animal ๐ฆ โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โฎ โฎ Animal ๐ฆ โ eats ๐ฆ, ๐
5 ๐ฆ
Animal ๐ฆ โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 Vegetarian โ Animal Animal โ โฅ 5 eats Meat โ SideDish โ โฅ Vegetarian โ โ eats . SideDish โฅ 5 eats . ยฌMeat โ HealthyPerson HealthyPerson โ Person Meat ๐ฆ โง SideDish ๐ฆ โ โฅ
Vegetarian ๐ฆ โ Animal ๐ฆ Animal ๐ฆ โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โฎ โฎ Animal ๐ฆ โ eats ๐ฆ, ๐
5 ๐ฆ
Animal ๐ฆ โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 Vegetarian ๐ฆ โง eats ๐ฆ, ๐จ1 โ SideDish ๐จ1 Vegetarian โ Animal Animal โ โฅ 5 eats Meat โ SideDish โ โฅ Vegetarian โ โ eats . SideDish โฅ 5 eats . ยฌMeat โ HealthyPerson HealthyPerson โ Person Meat ๐ฆ โง SideDish ๐ฆ โ โฅ
Vegetarian ๐ฆ โ Animal ๐ฆ Animal ๐ฆ โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โฎ โฎ Animal ๐ฆ โ eats ๐ฆ, ๐
5 ๐ฆ
Animal ๐ฆ โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 Vegetarian ๐ฆ โง eats ๐ฆ, ๐จ1 โ SideDish ๐จ1 แฅ
๐=1 5
eats ๐ฆ, ๐จ๐ โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐จ๐ โ ๐จ๐ โจ แง
๐=1 5
Meat ๐จ๐ Vegetarian โ Animal Animal โ โฅ 5 eats Meat โ SideDish โ โฅ Vegetarian โ โ eats . SideDish โฅ 5 eats . ยฌMeat โ HealthyPerson HealthyPerson โ Person Meat ๐ฆ โง SideDish ๐ฆ โ โฅ
Vegetarian ๐ฆ โ Animal ๐ฆ Animal ๐ฆ โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โฎ โฎ Animal ๐ฆ โ eats ๐ฆ, ๐
5 ๐ฆ
Animal ๐ฆ โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 Vegetarian ๐ฆ โง eats ๐ฆ, ๐จ1 โ SideDish ๐จ1 แฅ
๐=1 5
eats ๐ฆ, ๐จ๐ โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐จ๐ โ ๐จ๐ โจ แง
๐=1 5
Meat ๐จ๐ Vegetarian โ Animal Animal โ โฅ 5 eats Meat โ SideDish โ โฅ Vegetarian โ โ eats . SideDish โฅ 5 eats . ยฌMeat โ HealthyPerson HealthyPerson โ Person Meat ๐ฆ โง SideDish ๐ฆ โ โฅ HealthyPerson ๐ฆ โ Person ๐ฆ
Vegetarian ๐ฆ โ Animal ๐ฆ Animal ๐ฆ โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โฎ โฎ Animal ๐ฆ โ eats ๐ฆ, ๐
5 ๐ฆ
Animal ๐ฆ โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 Vegetarian ๐ฆ โง eats ๐ฆ, ๐จ1 โ SideDish ๐จ1 แฅ
๐=1 5
eats ๐ฆ, ๐จ๐ โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐จ๐ โ ๐จ๐ โจ แง
๐=1 5
Meat ๐จ๐ Vegetarian โ Animal Animal โ โฅ 5 eats Meat โ SideDish โ โฅ Vegetarian โ โ eats . SideDish โฅ 5 eats . ยฌMeat โ HealthyPerson HealthyPerson โ Person Meat ๐ฆ โง SideDish ๐ฆ โ โฅ HealthyPerson ๐ฆ โ Person ๐ฆ
DL Clauses ๐ฏโโ๐ญ Calculus FOL Clauses Taxonomy
Set ๐ฒ of contexts Each context ๐ค โ ๐ฒ: Edges between contexts labelled with functions Context structure ๐ is a the graph of labelled contexts and edges
๐ต ๐ฆ โง ๐ถ(๐ฆ) โคcore๐ค โ โฏ core๐ค โง ๐ท ๐ฆ โ โฏ โฎ core๐ค โง ๐ ๐ง, ๐ฆ โ โฏ ๐ฏ๐ค core๐ค
Set ๐ฒ of contexts Each context ๐ค โ ๐ฒ: Edges between contexts labelled with functions Context structure ๐ is a the graph of labelled contexts and edges
๐ต ๐ฆ โง ๐ถ(๐ฆ) |core๐คโค โ โฏ core๐ค โง ๐ท ๐ฆ โ โฏ โฎ core๐ค โง ๐ ๐ง, ๐ฆ โ โฏ ๐ฏ๐ค core๐ค
core๐ค = ๐ต ๐ฆ โง ๐ถ(๐ฆ) core๐ฃ = ๐ท ๐ฆ โง ๐ธ(๐ฆ)
๐
๐
๐ซ โจ core๐ค โง ฮ โ ฮ for each ๐ค โ ๐ and each ฮ โ ฮ โ ๐ฏ๐ค ๐ซ โจ core๐ฃ โ core๐ค ๐ฆ โฆ ๐
๐ ๐ฆ , ๐ง โฆ ๐ฆ for each ๐ฃ, ๐ค, ๐ ๐ โ โฐ
โ โก
โค
โ
โฏ
โค โง ๐ท ๐ฆ
โ โฏ โฎ
โค โง ๐ ๐ง, ๐ฆ
โ โฏ
โค
โ
โฏ
โค โง ๐(๐ฆ, ๐ง)
โ โฏ โฎ
โค
โ โฏ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
Vegetarian ๐ฆ โ Animal ๐ฆ Animal ๐ฆ โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โฎ โฎ Animal ๐ฆ โ eats ๐ฆ, ๐
5 ๐ฆ
Animal ๐ฆ โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5
แผ แฝ โ ๐ซ
Vegetarian ๐ฆ โง eats ๐ฆ, ๐จ1 โ SideDish ๐จ1
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ โจ แง ๐=1 5
Meat ๐
๐ ๐ฆ
แฅ
๐=1 5
eats ๐ฆ, ๐จ๐ โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐จ๐ โ ๐จ
๐ โจ แง ๐=1 5
Meat ๐จ๐
แผ แฝ โ ๐ซ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ โจ แง ๐=1 5
Meat ๐
๐ ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ โจ แง ๐=1 5
Meat ๐
๐ ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ
แฅ
๐=1 5
eats ๐ฆ, ๐จ๐ โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐จ๐ โ ๐จ
๐ โจ แง ๐=1 5
Meat ๐จ๐
แผ แฝ โ ๐ซ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ โจ แง ๐=1 5
Meat ๐
๐ ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ Meat ๐ฆ โ Meat ๐ฆ Meat ๐ฆ โ โฅ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ โจ แง ๐=1 5
Meat ๐
๐ ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ Meat ๐ฆ โ Meat ๐ฆ Meat ๐ฆ โ โฅ
Meat ๐ฆ โง SideDish ๐ฆ โ โฅ
แผ แฝ โ ๐ซ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ โจ แง ๐=1 5
Meat ๐
๐ ๐ฆ
โฆ โค โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ Meat ๐ฆ โ Meat ๐ฆ Meat ๐ฆ โ โฅ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ Meat ๐ฆ โ Meat ๐ฆ Meat ๐ฆ โ โฅ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โจ แง
1โค๐<๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
โฆ โค โ HealthyPerson ๐ฆ โจ แง
1โค๐โค5
๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
โฆ โค โ HealthyPerson ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ Meat ๐ฆ โ Meat ๐ฆ Meat ๐ฆ โ โฅ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ Meat ๐ฆ โ Meat ๐ฆ Meat ๐ฆ โ โฅ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โค โ Person ๐ฆ
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ Meat ๐ฆ โ Meat ๐ฆ Meat ๐ฆ โ โฅ
HealthyPerson ๐ฆ โ Person ๐ฆ
แผ แฝ โ ๐ซ
Vegetarian ๐ฆ
โค โ Vegetarian ๐ฆ โค โ Animal ๐ฆ โค โ eats ๐ฆ, ๐
1 ๐ฆ
โฎ โค โ eats ๐ฆ, ๐
5 ๐ฆ
โค โ ๐
๐ ๐ฆ โ ๐ ๐ ๐ฆ
for 1 โค ๐ < ๐ โค 5 โค โ SideDish ๐
1 ๐ฆ
โฎ โค โ SideDish ๐
5 ๐ฆ
โค โ HealthyPerson ๐ฆ โค โ Person ๐ฆ
eats ๐ง, ๐ฆ โง SideDish ๐ฆ
๐
1
๐
2, ๐ 3, ๐ 4, ๐ 5
โค โ eats ๐ง, ๐ฆ โค โ SideDish ๐ฆ Meat ๐ฆ โ Meat ๐ฆ Meat ๐ฆ โ โฅ
Strategies Context overloading Triggers to restrict rule applications
โ PAYG behaviour on fragments of ๐ฏโโ๐ญ
Ordering on atoms and Skolem functions
โ Nominal โ fresh class โ Datatype โ fresh class โ Data property โ fresh object property โ Removed ABox assertions
Sequoia FaCT++ HermiT Konclude Pellet
10 100 1000 10000 100000
1 101 201 301 401 501 601 701
Classification Time (milliseconds) 102 103 104 105 100 200 300 400 500 600 700
H P F K S Profile H P F K S Horn H P F K S No Equality H P F K S With Equality
0% 25% 50% 75% 100%
H P F K S Profile H P F K S Horn H P F K S No Equality H P F K S With Equality
H P F K S Profile EL / QL / RL H P F K S Horn No Equality H P F K S Non-Horn No Equality H P F K S Non-Horn Equality Hard (timeout or exception) Medium (10 seconds to 5 mins) Easy (< 10 seconds)