Test case

From OWL Test Cases

Jump to:navigation, search

A test case describes certain inputs that can be provided to OWL 2 tools and specifies the behavior required to satisfy the OWL 2 conformance conditions, given the inputs. Please refer to the OWL 2 Conformance and Test Cases document for a detailed description. This page gives an overview of the various types of tests supported by this wiki.

To create new tests, use the forms on the main page.

Contents

[edit] Test Types

There are several distinguished types of test cases detailed in the following sub-sections. The type of a test determines the task and expected outcome of the test. The type thus also affects the data associated to a test case, e.g., since only certain kinds tests require the specification of an entailed ontology.

While all test cases have some primary purpose specified by their type, it is often possible to use the provided data for other tests as well. For example, the inputs of any negative entailment test can also be used in a consistency test. Such re-interpretations of test cases can generally be useful, depending on the tool being validated and the goal of validation. For this reason, a concrete test case may have more than one type and thus allow multiple uses.

[edit] Syntactic Tests

Syntactic tests can be applied to OWL tools that process OWL ontology documents, or that transform between various syntactic forms of OWL. These modes of operation are not covered by any conformance requirement, but syntactic tests may still be useful in tool development.

[edit] Profile Identification Tests

Profile identification tests validate a tool's recognition of syntactic conformance. These tests require at least one input ontology document. Each test describes the conformance of all provided input ontology documents relative to structural and syntactic restrictions that are specified by the test case.

Since all test cases usually specify the profiles of the input ontology documents, essentially all test cases can be used as profile identification tests.

[edit] Syntax Translation Tests

Syntax translation tests validate the translation of OWL ontology documents from one syntax to another, using the definition of structural equivalence defined in the OWL 2 Structural Specification. Each test case of this type specifies input ontology documents in multiple syntactic forms which describe structurally equivalent ontologies. Tools that parse and serialize ontology documents may use this data to verify their correct operation. Note that tests of this kind do not prescribe a particular syntactic form to be the outcome of a syntactic translation: Different serializations are correct as long as they describe the same ontological structure.

Tests of this type specify multiple input ontology documents, and indicate which of the provided syntactic forms are normative for the translation test.

Note: The creation of syntactic translation tests is currently not supported by this site.

[edit] Semantic Tests

Semantic tests specifically address the functionality of OWL entailment checkers. Each test case of this type specifies necessary requirements that must be satisfied by any entailment checker that meets the according conformance conditions.

Each semantic test case also specifies whether it is applicable to the OWL 2 Direct Semantics, to the OWL 2 RDF-Based Semantics, or to both. A test is only relevant for testing conformance of tools that use a semantics to which the test applies.

Semantic tests specify one or more OWL 2 ontology documents and check semantic conditions defined with respect to abstract structures obtained from the ontology documents, typically via a parsing process. In the case of an OWL Full ontology document, the abstract structure is an RDF graph; in all other cases it is an OWL 2 ontology. We will denote with Ont(d) the abstract structure obtained from the ontology document d.

[edit] Entailment Tests

Entailment tests (or positive entailment tests) specify two ontology documents: a premise ontology document d1 and a conclusion ontology document d2 where Ont(d1) entails Ont(d2) with respect to the specified semantics. If provided with inputs d1 and d2 (and, if applicable, with access to any imported ontologies), a conforming entailment checker should return True, it should not return Unknown, and it must not return False.

In all entailment tests, the ontologies Ont(d1) and Ont(d2) are consistent. Therefore, all entailment tests are also consistency tests.

See PositiveEntailmentTest for a list of all entailment test cases.

[edit] Non-Entailment Tests

Non-Entailment tests (or negative entailment tests) specify two ontology documents: a premise ontology document Ont(d1) and a non-conclusion ontology Ont(d2) where Ont(d1) does not entail Ont(d2) with respect to the specified semantics. If provided with inputs d1 and d2 (and, if applicable, with access to any imported ontologies), a conforming entailment checker should return False, it should not return Unknown, and it must not return True.

In all non-entailment tests, the ontologies Ont(d1) and Ont(d2) are consistent. Therefore, all non-entailment tests are also consistency tests.

See NegativeEntailmentTest for a list of all non-entailment test cases.

[edit] Consistency Tests

Consistency tests validate a tool's recognition of consistency, as defined in the OWL 2 Direct Semantics and the OWL 2 RDF-Based Semantics. These tests specify an input ontology document, the premise ontology document d, where Ont(d) is consistent with respect to the specified semantics.

Entailment checkers that directly support consistency checking should determine Ont(d) to be consistent, and must not determine Ont(d) to be inconsistent. Entailment checkers that do not support this operation may execute consistency tests like non-entailment test: if the ontology Ont(d) is consistent, then Ont(d) does not entail any inconsistent ontology. Further details and an example ontology that can be used for testing are given in OWL 2 Conformance and Test Cases.

See ConsistencyTest for a list of all consistency test cases.

[edit] Inconsistency Tests

Inconsistency tests validate a tool's recognition of consistency, as defined in the OWL 2 Direct Semantics and the OWL 2 RDF-Based Semantics. These tests specify an input ontology document, the premise ontology document d, where Ont(d) is inconsistent with respect to the specified semantics.

Entailment checkers that directly support inconsistency checking should determine Ont(d) to be inconsistent, and must not determine Ont(d) to be consistent. Entailment checkers that do not support this operation may execute inconsistency tests like entailment test: if the ontology Ont(d) is inconsistent, then Ont(d) entails any inconsistent ontology Oin. Further details and an example ontology that can be used for testing are given in OWL 2 Conformance and Test Cases.

See InconsistencyTest for a list of all inconsistency test cases.

[edit] Approval of Tests by the W3C OWL Working Group

The test cases contributed to this site might be considered and approved by the OWL Working Group at W3C. Such test will then be included into the official test case suite accompanying the test case document. During and after the approval process, the according test case pages in this wiki will be marked accordingly. They might also be locked for normal editing.

[edit] Test Format and Ontology

Test cases can be downloaded, stored, and exchanged in self-contained OWL 2 documents, where tests are encoded using a dedicated OWL vocavulary. For details, see test case ontology.

Navigation
OWL 2 Informative
OWL 2 Normative
Toolbox