Conformance-v4

From OWL
Jump to: navigation, search

__NUMBEREDHEADINGS__

[Hide Review Comments]

Document title:
OWL 2 Web Ontology Language
Conformance (Second Edition)

1 Conformance (Normative)

This section uses the words MUST, MUST NOT, SHOULD and MAY as in [RFC 2119].

1.1 Document Conformance

1.1.1 Syntactic Conformance

Any RDF document [RDF Syntax] is an OWL 2 Full ontology document.

An OWL 2 Full ontology document is an OWL 2 DL ontology document iff it can be successfully parsed using the canonical RDF parsing process [OWL 2 Mapping to RDF Graphs] and the resulting ontology in the functional-style syntax satisfies all the restrictions on OWL 2 DL ontologies [OWL 2 Specification].

An OWL 2 DL ontology document is an OWL 2 EL ontology document iff it can be successfully parsed using the canonical RDF parsing process [OWL 2 Mapping to RDF Graphs] and the resulting ontology in the functional-style syntax satisfies all the restrictions on OWL 2 EL ontologies [OWL 2 Profiles].

An OWL 2 DL ontology document is an OWL 2 QL ontology document iff it can be successfully parsed using the canonical RDF parsing process [OWL 2 Mapping to RDF Graphs] and the resulting ontology in the functional-style syntax satisfies all the restrictions on OWL 2 QL ontologies [OWL 2 Profiles].

An OWL 2 Full ontology document is an OWL 2 RL ontology document iff it can be successfully parsed using the canonical RDF parsing process [OWL 2 Mapping to RDF Graphs] and the resulting ontology in the functional-style syntax satisfies all the restrictions on OWL 2 RL ontologies [OWL 2 Profiles].

1.1.2 Semantic Conformance

In OWL 2, semantic conditions are defined with respect to a datatype map [OWL 2 Specification]. This MUST be either the OWL 2 Datatype map [OWL 2 Specification] or an extension of the OWL 2 Datatype map to include additional datatypes.

1.2 Document Checker Conformance

1.2.1 Entailment Checker

An OWL 2 entailment checker takes as input two OWL 2 ontology documents O1 and O2 and checks if O1 entails O2 with respect to a datatype map and either the Model-Theoretic Semantics [OWL 2 Semantics] or the RDF-Based Semantics [OWL 2 RDF-Based Semantics]. Additionally:

  • It MUST provide a means to determine the datatypes supported by its datatype map, and any limits it has on datatype literals and datatype values [OWL 2 Specification]; for example, by listing them in its supporting documentation.
  • It MUST provide a means to determine the semantics it uses (either the Model-Theoretic Semantics [OWL 2 Semantics] or the RDF-Based Semantics [OWL 2 RDF-Based Semantics]); for example, in its supporting documentation.

An OWL 2 entailment checker returns a single result, being True, False, Unknown or Error. True indicates that the relevant entailment holds; False indicates that the relevant entailment does not hold; Unknown indicates that the algorithm used by the checker is not able to determine if the entailment holds; Error indicates that the checker encountered an error condition such as receiving an invalid input or exceeding resource limits. While sometimes needed (for example, for pragmatic reasons), Unknown and Error are not desired responses for valid inputs.

Additionally, an OWL 2 entailment checker:

  • MUST return Error if the parsing process fails (for example, due to network errors);
  • MUST return Error if an input document uses datatypes that are not supported by its datatype map or literals that it does not support (for example, very large integers); and
  • MUST return Error if the computation fails, for example as a result of exceeding resource limits.

Five different conformance classes of OWL entailment checker are defined:

An OWL 2 Full entailment checker is an OWL 2 entailment checker that takes RDF documents as input, and uses the RDF-Based Semantics [OWL 2 RDF-Based Semantics]. It MUST return True only when O1 entails O2, and it MUST return False only when O1 does not entail O2. It SHOULD NOT return Unknown.

An OWL 2 DL entailment checker is an OWL 2 entailment checker that takes OWL 2 DL ontology documents as input, and uses the Model Theoretic Semantics [OWL 2 Semantics]. It MUST return True only when O1 entails O2, and it MUST return False only when O1 does not entail O2. It SHOULD NOT return Unknown.

An OWL 2 EL entailment checker is an OWL 2 entailment checker that takes OWL 2 EL ontology documents as input, and uses the Model Theoretic Semantics [OWL 2 Semantics]. It MUST return True only when O1 entails O2, and it MUST return False only when O1 does not entail O2. It SHOULD NOT return Unknown.

An OWL 2 QL entailment checker is an OWL 2 entailment checker that takes OWL 2 QL ontology documents as input, and uses the Model Theoretic Semantics [OWL 2 Semantics]. It MUST return True only when O1 entails O2, and it MUST return False only when O1 does not entail O2. It SHOULD NOT return Unknown.

An OWL 2 RL entailment checker is an OWL 2 entailment checker that takes RDF documents as input, and uses the RDF-Based Semantics [OWL 2 RDF-Based Semantics]. It MUST return True only when O1 entails O2, and it MUST return False only when O1 does not entail O2; it MAY return Unknown if FO(O1)R does not entail FO(O2) under the standard first-order semantics, where R denotes the OWL 2 RL/RDF rules [OWL 2 Profiles], and FO(O) denotes the FO theory corresponding to O in which triples are represented using the T predicate — that is, T(s, p, o) represents an RDF triple with the subject s, predicate p, and the object o.

An OWL 2 entailment checker is terminating if, given sufficient resources (memory, addressing space, etc.), it will always return True, False, or Unknown in a finite amount of time (i.e., CPU cycles) on syntactically-valid inputs.

An OWL 2 entailment checker is complete if, given sufficient resources, it will always return True or False on syntactically-valid inputs.

Note: Every OWL 2 Full entailment checker is also an OWL 2 RL entailment checker.

Note: Every OWL 2 DL entailment checker is also an OWL 2 EL and OWL 2 QL entailment checker.

Note: From Theorem 1 of Profiles [OWL 2 Profiles], it follows that an OWL 2 RL entailment checker can return False if O1 and O2 satisfy the constraints described in Theorem 1, and FO(O1)R does not entail FO(O2) under the standard first-order semantics, where R denotes the OWL 2 RL/RDF rules [OWL 2 Profiles], and FO(O) denotes the FO theory corresponding to O in which triples are represented using the T predicate — that is, T(s, p, o) represents an RDF triple with the subject s, predicate p, and the object o. Implementations not wishing to check whether O1 and O2 satisfy the relevant constraints can simply return Unknown whenever they are not able to return True.

1.2.2 Query Answering

Query answering is closely related to entailment checking. A query can be thought of as an ontology Q in which some of the terms have been replaced by variables x1, ..., xn. Given an ontology O, a tuple t = <t1, ..., tn> is an answer for Q with respect to O if O entails Q[x/t], where Q[x/t] is derived from Q by substituting the variables x1, ..., xn with t1, ..., tn; the answer to Q with respect to O is the set of all such tuples.

Although highly inefficient in practice, query answering could be performed simply by iterating through all possible n-tuples formed from terms occurring in O and checking the corresponding entailment using an OWL 2 entailment checker. The properties of OWL 2 entailment checkers mean that the resulting answer will always be sound, i.e., every tuple occurring in the answer set is an answer to the query. If any one of the entailment checks might return Unknown, then the answer to the query may be incomplete, i.e., there may exist a tuple t that is an answer to the query but that does not occur in the answer set; implementations SHOULD issue a warning in this case.

The properties of OWL 2 Full, DL, EL and QL entailment checkers mean that query answering SHOULD be both sound and complete. In the case of OWL RL, query answering SHOULD be sound, and will also be complete if both the ontology and the query satisfy the constraints described in Theorem 1.

2 References

[OWL 2 Specification]
OWL 2 Web Ontology Language: Structural Specification and Functional-Style Syntax. Peter F. Patel-Schneider, Ian Horrocks, and Boris Motik, eds., 2008.
[OWL 2 Semantics]
OWL 2 Web Ontology Language: Model-Theoretic Semantics. Bernardo Cuenca Grau and Boris Motik, eds., 2008.
[OWL 2 RDF-Based Semantics]
OWL 2 Web Ontology Language: RDF-Based Semantics. Michael Schneider, 2008.
[OWL 2 Profiles]
OWL 2 Web Ontology Language: Profiles. Bernardo Cuenca Grau, Boris Motik, Zhe Wu, Achille Fokoue and Carsten Lutz, 2008.
[RDF Syntax]
RDF/XML Syntax Specification (Revised). Dave Beckett, Editor, W3C Recommendation 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ . Latest version available at http://www.w3.org/TR/rdf-syntax-grammar/ .
[SROIQ]
The Even More Irresistible SROIQ. Ian Horrocks, Oliver Kutz, and Uli Sattler. In Proc. of the 10th Int. Conf. on Principles of Knowledge Representation and Reasoning (KR 2006). AAAI Press, 2006.
[OWL Metamodeling]
On the Properties of Metamodeling in OWL. Boris Motik. Journal of Logic and Computation, 17(4):617-637, 2007.