DLs vs ASP DL-programs Other ASP Extensions Rule Learning Knowledge Representation for the Semantic Web Lecture 8: Answer Set Programming III Daria Stepanova D5: Databases and Information Systems Max Planck Institute for Informatics WS 2017/18 1 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning DLs vs ASP 1 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild 2 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild • RBox/TBox: A subset of OWL can be straightforwardly translated to ASP , here only a subset is given: DL syntax ASP syntax r ◦ r ⊑ r (owl:transitiveProperty) r ≡ r − (owl:symmetricProperty) r ≡ s − (owl:symmetricProperty) C 1 ⊓ . . . ⊓ C n ⊑ A ∃ r . C ⊑ A (owl:someValuesFrom, lhs) ≥ 1 r ⊑ A (owl:minCardinality 1, lhs) A ⊑ ∀ r . C (owl:allValuesFrom, rhs) A ⊑ C 1 ⊔ . . . ⊔ C n (owl:unionOf, rhs) C 1 ⊔ . . . ⊔ C n ⊑ A (owl:unionOf, lhs) 2 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild • RBox/TBox: A subset of OWL can be straightforwardly translated to ASP , here only a subset is given: DL syntax ASP syntax r ◦ r ⊑ r (owl:transitiveProperty) r ( X , Z ) ← r ( X , Y ) , r ( Y , Z ) . r ≡ r − (owl:symmetricProperty) r ≡ s − (owl:symmetricProperty) C 1 ⊓ . . . ⊓ C n ⊑ A ∃ r . C ⊑ A (owl:someValuesFrom, lhs) ≥ 1 r ⊑ A (owl:minCardinality 1, lhs) A ⊑ ∀ r . C (owl:allValuesFrom, rhs) A ⊑ C 1 ⊔ . . . ⊔ C n (owl:unionOf, rhs) C 1 ⊔ . . . ⊔ C n ⊑ A (owl:unionOf, lhs) 2 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild • RBox/TBox: A subset of OWL can be straightforwardly translated to ASP , here only a subset is given: DL syntax ASP syntax r ◦ r ⊑ r (owl:transitiveProperty) r ( X , Z ) ← r ( X , Y ) , r ( Y , Z ) . r ≡ r − (owl:symmetricProperty) r ( Y , X ) ← r ( X , Y ) . r ≡ s − (owl:symmetricProperty) C 1 ⊓ . . . ⊓ C n ⊑ A ∃ r . C ⊑ A (owl:someValuesFrom, lhs) ≥ 1 r ⊑ A (owl:minCardinality 1, lhs) A ⊑ ∀ r . C (owl:allValuesFrom, rhs) A ⊑ C 1 ⊔ . . . ⊔ C n (owl:unionOf, rhs) C 1 ⊔ . . . ⊔ C n ⊑ A (owl:unionOf, lhs) 2 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild • RBox/TBox: A subset of OWL can be straightforwardly translated to ASP , here only a subset is given: DL syntax ASP syntax r ◦ r ⊑ r (owl:transitiveProperty) r ( X , Z ) ← r ( X , Y ) , r ( Y , Z ) . r ≡ r − (owl:symmetricProperty) r ( Y , X ) ← r ( X , Y ) . r ≡ s − (owl:symmetricProperty) s ( Y , X ) ← r ( X , Y ) . C 1 ⊓ . . . ⊓ C n ⊑ A ∃ r . C ⊑ A (owl:someValuesFrom, lhs) ≥ 1 r ⊑ A (owl:minCardinality 1, lhs) A ⊑ ∀ r . C (owl:allValuesFrom, rhs) A ⊑ C 1 ⊔ . . . ⊔ C n (owl:unionOf, rhs) C 1 ⊔ . . . ⊔ C n ⊑ A (owl:unionOf, lhs) 2 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild • RBox/TBox: A subset of OWL can be straightforwardly translated to ASP , here only a subset is given: DL syntax ASP syntax r ◦ r ⊑ r (owl:transitiveProperty) r ( X , Z ) ← r ( X , Y ) , r ( Y , Z ) . r ≡ r − (owl:symmetricProperty) r ( Y , X ) ← r ( X , Y ) . r ≡ s − (owl:symmetricProperty) s ( Y , X ) ← r ( X , Y ) . C 1 ⊓ . . . ⊓ C n ⊑ A a ( X ) ← c 1 ( X ) , . . . , c n ( X ) . ∃ r . C ⊑ A (owl:someValuesFrom, lhs) ≥ 1 r ⊑ A (owl:minCardinality 1, lhs) A ⊑ ∀ r . C (owl:allValuesFrom, rhs) A ⊑ C 1 ⊔ . . . ⊔ C n (owl:unionOf, rhs) C 1 ⊔ . . . ⊔ C n ⊑ A (owl:unionOf, lhs) 2 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild • RBox/TBox: A subset of OWL can be straightforwardly translated to ASP , here only a subset is given: DL syntax ASP syntax r ◦ r ⊑ r (owl:transitiveProperty) r ( X , Z ) ← r ( X , Y ) , r ( Y , Z ) . r ≡ r − (owl:symmetricProperty) r ( Y , X ) ← r ( X , Y ) . r ≡ s − (owl:symmetricProperty) s ( Y , X ) ← r ( X , Y ) . C 1 ⊓ . . . ⊓ C n ⊑ A a ( X ) ← c 1 ( X ) , . . . , c n ( X ) . ∃ r . C ⊑ A (owl:someValuesFrom, lhs) a ( X ) ← r ( X , Y ) , c ( Y ) . ≥ 1 r ⊑ A (owl:minCardinality 1, lhs) A ⊑ ∀ r . C (owl:allValuesFrom, rhs) A ⊑ C 1 ⊔ . . . ⊔ C n (owl:unionOf, rhs) C 1 ⊔ . . . ⊔ C n ⊑ A (owl:unionOf, lhs) 2 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild • RBox/TBox: A subset of OWL can be straightforwardly translated to ASP , here only a subset is given: DL syntax ASP syntax r ◦ r ⊑ r (owl:transitiveProperty) r ( X , Z ) ← r ( X , Y ) , r ( Y , Z ) . r ≡ r − (owl:symmetricProperty) r ( Y , X ) ← r ( X , Y ) . r ≡ s − (owl:symmetricProperty) s ( Y , X ) ← r ( X , Y ) . C 1 ⊓ . . . ⊓ C n ⊑ A a ( X ) ← c 1 ( X ) , . . . , c n ( X ) . ∃ r . C ⊑ A (owl:someValuesFrom, lhs) a ( X ) ← r ( X , Y ) , c ( Y ) . ≥ 1 r ⊑ A (owl:minCardinality 1, lhs) a ( X ) ← r ( X , Y ) . A ⊑ ∀ r . C (owl:allValuesFrom, rhs) A ⊑ C 1 ⊔ . . . ⊔ C n (owl:unionOf, rhs) C 1 ⊔ . . . ⊔ C n ⊑ A (owl:unionOf, lhs) 2 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild • RBox/TBox: A subset of OWL can be straightforwardly translated to ASP , here only a subset is given: DL syntax ASP syntax r ◦ r ⊑ r (owl:transitiveProperty) r ( X , Z ) ← r ( X , Y ) , r ( Y , Z ) . r ≡ r − (owl:symmetricProperty) r ( Y , X ) ← r ( X , Y ) . r ≡ s − (owl:symmetricProperty) s ( Y , X ) ← r ( X , Y ) . C 1 ⊓ . . . ⊓ C n ⊑ A a ( X ) ← c 1 ( X ) , . . . , c n ( X ) . ∃ r . C ⊑ A (owl:someValuesFrom, lhs) a ( X ) ← r ( X , Y ) , c ( Y ) . ≥ 1 r ⊑ A (owl:minCardinality 1, lhs) a ( X ) ← r ( X , Y ) . A ⊑ ∀ r . C (owl:allValuesFrom, rhs) c ( Y ) ← r ( X , Y ) , a ( X ) . A ⊑ C 1 ⊔ . . . ⊔ C n (owl:unionOf, rhs) C 1 ⊔ . . . ⊔ C n ⊑ A (owl:unionOf, lhs) 2 / 33
DLs vs ASP DL-programs Other ASP Extensions Rule Learning What of DLs can be expressed directly in ASP? • ABox: Factual knowledge about class membership and property values can be translated to ASP “as is”: ASP syntax DL syntax person ( john ) john ∈ Person hasChild ( john , bob ) ( john , bob ) ∈ hasChild • RBox/TBox: A subset of OWL can be straightforwardly translated to ASP , here only a subset is given: DL syntax ASP syntax r ◦ r ⊑ r (owl:transitiveProperty) r ( X , Z ) ← r ( X , Y ) , r ( Y , Z ) . r ≡ r − (owl:symmetricProperty) r ( Y , X ) ← r ( X , Y ) . r ≡ s − (owl:symmetricProperty) s ( Y , X ) ← r ( X , Y ) . C 1 ⊓ . . . ⊓ C n ⊑ A a ( X ) ← c 1 ( X ) , . . . , c n ( X ) . ∃ r . C ⊑ A (owl:someValuesFrom, lhs) a ( X ) ← r ( X , Y ) , c ( Y ) . ≥ 1 r ⊑ A (owl:minCardinality 1, lhs) a ( X ) ← r ( X , Y ) . A ⊑ ∀ r . C (owl:allValuesFrom, rhs) c ( Y ) ← r ( X , Y ) , a ( X ) . A ⊑ C 1 ⊔ . . . ⊔ C n (owl:unionOf, rhs) c 1 ( X ) ∨ . . . ∨ c n ( X ) ← a ( X ) . C 1 ⊔ . . . ⊔ C n ⊑ A (owl:unionOf, lhs) 2 / 33
Recommend
More recommend