- From: Boris Motik <boris.motik@comlab.ox.ac.uk>
- Date: Tue, 5 Feb 2008 14:31:05 -0000
- To: <public-owl-wg@w3.org>
Hello, As a response to ACTION-77, here is an e-mail that (1) summarizes (my understanding of) the discussion about fragments, (2) provides answers to some questions that were raised at the telecon on 30/01/2008, and (3) provides some suggestions on going forward. 1. OWL Semantics and FO axiomatisations/theories ------------------------------------------------ An OWL DL ontology can be seen as a FO theory: classes and properties correspond directly to predicates, so an ontology containing the axiom (1) corresponds to the first-order theory (2) (I'm using the LaTeX notation here). (1) SubClassOf( (ObjectSomeValuesFrom R C) D) (2) \forall x : ( \exists y : R(x,y) \wedge C(y) ) --> D(x) The meaning of an ontology is completely defined by the corresponding FO theory, and additional FO axioms are neither necessary nor useful. In contrast, in RDF and OWL Full the classes and properties are not treated as predicates, but are "pushed a level down" and treated as constants. Thus, in OWL Full the axiom (1) is written as the following set of triples. (3) T(_:x, owl:someValuesFrom, C) (4) T(_:x, owl:onProperty, R) (5) T(_:x, rdf:subClassOf, D) Here, the only predicate is T (we can think of it as "is true", or "it holds that"), and the ontology is represented as a set of "data facts". This set of facts does not mean much by itself; therefore, we need a theory that says what these facts mean. For this purpose, OWL Full defines a set of FO axioms that give special meaning to certain combinations of facts (asserted triples). These axioms can (to a large extent) be written down in FOL. For example, to interpret (3)--(5), we can use the following axioms (x is a variable, unlike _:x which is a blank node): (6) \forall x,y,z : T(x, rdfs:subClassOf, y) <--> [ T(z, rdf:type, x) --> T(z, rdf:type, y) ] (7) \forall x,y,p,u : T(x, owl:someValuesFrom, y) \wedge T(x, owl:onProperty, p) --> { T(u, rdf:type, x) <--> \exists v : [ T(u, p, v) \wedge T(v, rdf:type, y) ] } This theory defines the entailment relation |=_{Full} for RDF graphs. 2. Fragments ------------ In the existing fragments document, each fragment is defined in terms of the syntax which is allowed; the restrictions on the syntax simply restrict the types of first-order theories you get. The resulting fragments are *syntactic* fragments: it is not that the semantics of OWL 1.1 DL is changed from one fragment to the next; rather, the fragments impose restrictions on the type of formulae that you can write down. The consequence relation stays in all cases exactly the same. 3. Example Fragment: DLP ------------------------ The DLP fragment restricts the allowed syntax of OWL 1.1 (DL) such that DLP axioms correspond to Horn clauses, and so DLP ontologies never entail the existence of new individuals. This facilitates rule-based implementations. For example, axiom (1) above is in DLP, and corresponds to the Horn clause "rule" (8): (8) R(x,y) \wedge C(y) --> D(x) 4. Syntactic Fragments in RDF ----------------------------- One way to look at fragments in RDF would be to stick to the idea that a fragment is defined in terms of syntactic restrictions. In this view, an RDF graph G is in a certain fragment iff an OWL 1.1 Structural Specification ontology O exists such that the translation of O into RDF produces G. According to this definition, an RDF graph containing the triples (3)--(5) above would be in DLP because the graph can be derived from an OWL 1.1 axiom (1). 5. The pD* Approach ---------------------------------------------- Instead of restricting the syntax of RDF graphs, pD* restricts the semantic conditions. Thus, instead of axioms (6) and (7), pD* uses the following axioms: (14) \forall x,y,z : T(x, rdfs:subClassOf, y) --> [ T(z, rdf:type, x) --> T(z, rdf:type, x) ] (15) \forall x,y,p,u : T(x, owl:someValuesFrom, y) \wedge T(x, owl:onProperty, p) --> { T(u, rdf:type, x) <-- \exists v : [ T(u, p, v) \wedge T(v, rdf:type, y) ] } Note that the first <--> in (6) is changed into -->; similarly, the second <--> in (7) is changed into <--. Thus, pD* actually defines a weaker consequence relation |=_{w-Full}. 6. A Possible Interpretation of pD* as "RDF-ized" DLP ----------------------------------------------------- In RDF graphs, the very simple syntax (everything is a triple) makes it difficult to define syntactic restrictions such as those used in the definition on DLP. However, if we look at the axioms that pD* lists, we can see that pD* actually follows the main principle of DLP---that is, the pD* weakens the semantic conditions so as to avoid entailing the existence of new individuals. We might, therefore, think of pD* as being an RDF-ized version of DLP -- that is, there is no restriction on the structure of RDF graphs, but the weakened semantic conditions may still be "sufficient" in case the graph corresponds to DLP. 7. Precise Relationship between DLP and its RDF Interpretation -------------------------------------------------------------- We can use the above idea to define a link between DLP in the sense of OWL 1.1 DL and its RDF interpretation (using pD* semantics). Let O be a DLP ontology expressed in OWL 1.1 DL, and let G be its encoding into graphs. Furthermore, let S be a set of ClassAssertion, ObjectPropertyAssertion, and DataPropertyAssertion axioms, and let S' be the translation of S into an RDF graph. Then, the following equivalences hold: O |= S iff G |=_{Full} S' iff G |=_{w-Full} S' In other words, the ground consequences of O under the OWL 1.1 DL interpretation are the same as the ground consequences of G under the OWL Full semantics, which are in turn the same as the ground consequences of G under the weakened OWL Full (i.e., the pD*) semantics. Thus, the users of OWL 1.1 DLP ontologies cannot really tell the difference between using the DL semantics, the OWL Full semantics, or the weakened OWL Full semantics if only ground consequences are considered. (Note that this equivalence does not hold for nonground consequences, such as clause subsumption relationship.) There is a disclaimer here: these equivalences hold modulo the usual problems that we have with aligning OWL 1.1 DL with OWL 1.1 Full (punning, object vs. data properties, annotations, etc.). But these issues are not specific to the fragments discussion and should not affect in any way the design of the fragments. [ Due to the weakened semantics and restriction to ground consequences we may prefer to call pD* a "conformance level" rather than a fragment. ] Regards, Boris
Received on Tuesday, 5 February 2008 14:32:02 UTC