W3C

OWL Web Ontology Language
Test Cases

W3C Working Draft 28 May 2003 (alternative version)

This version:
http://www.w3.org/TR/2003/WD-owl-test-20030528/
Latest version:
http://www.w3.org/TR/owl-test/
Previous version:
http://www.w3.org/TR/2003/WD-owl-test-20030331/
Editors:
Jeremy J. Carroll, HP <jjc@hpl.hp.com>
Jos De Roo, AGFA,<jos.deroo@agfa.com>

The normative version of this document is a compound document. Non-normative versions consisting of a single HTML file are available in three sizes: medium (this version), large, and extra large. The tests of this document are also available in these non-normative formats: Zip archive of approved tests, Zip archive of proposed tests, the test web site.


Abstract

This document contains and presents test cases for the Web Ontology Language (OWL) approved by the Web Ontology Working Group. Many of the test cases illustrate the correct usage of the Web Ontology Language (OWL), and the formal meaning of its constructs. Other test cases illustrate the resolution of issues considered by the working group. Conformance for OWL documents and OWL document checkers is specified.

Status of this document

See the normative compound HTML document for document status.


Table of Contents


1. Introduction

As part of the definition of the Web Ontology Language (OWL) the Web Ontology Working Group provides a set of test cases. This document presents those test cases. They are intended to provide examples for, and clarification of, the normative definition of OWL found in [OWL Semantics and Abstract Syntax] to which this document is subsidiary.

This document describes the various types of test used and the format in which the tests are presented. Alternative formats of the test collection are provided. These are intended to be suitable for use by OWL developers in test harnesses, possibly as part of a test driven development process, such as Extreme Programming [XP]. The format of the Manifest files used as part of these alternative formats is described.

This document describes the process for conflict resolution and errata related to these tests.

In the non-normative appendices, this document also describes the process for creation and approval of these tests.

Further appendices show further proposed tests that are awaiting resolution by the working group.

1.1. Conformance and Scope

Various conformance levels are defined in this document in terms of [OWL Semantics and Abstract Syntax].

However, the test cases do not constitute a conformance test suite for OWL, since they are silent on several important issues. This document cannot be considered a complete specification of OWL.

The tests illustrate issue resolutions, and illustrate the use and meaning of the terms in the OWL namespace.

There are other miscellaneous tests: some arising in the literature, and in preexisting systems; others intending to show the difficulty of complete implementations of OWL Full.

2. Deliverables (Normative)

The deliverables included as part of the test cases are:

Note: Other files can be found under the top URL of the web-site which are not part of the deliverable.

[[EDITORS' NOTE: Do we need index files for the web site that clarify which parts are part of the deliverable and which are not?]]

2.1. Normative Status

Of the deliverables the only normative tests are those included in this document. All other deliverables are informative. Moreover, the recommendation document is informative except for the conformance statements, the test data (specified in RDF/XML [RDF/XML Syntax]), and the supporting documentation.

3. Test Types (Normative)

Each test consists of one or more RDF/XML documents and a Manifest file. Tests of one document indicate some property of that document when viewed as an OWL knowledge base. Tests of two or more documents indicate a relationship between the two documents when viewed as OWL knowledge bases.

The Manifest file is named ManifestNNN.rdf (The NNN is replaced by the test number). It contains metadata (in RDF) indicating the test type, and describing the test.

Some of the tests require that certain datatypes are, or are not, supported in the datatype theory [OWL Semantics and Abstract Syntax]. These are indicated with the test. Other datatypes which are used in the test are also indicated: the test applies whether or not these are supported in the datatype theory . The datatypes xsd:integer, xsd:string from [XML Schema Datatypes] are not indicated, even when used or required, since they must be supported.

3.1. Tests for Incorrect Use of OWL Namespace

These tests use one document. It is named badNNN.rdf. This document includes a use of the OWL namespace with a local name that is not defined by the OWL recommendation. An OWL Syntax checker SHOULD give a warning.

Note: These tests are intended to help migration from DAML+OIL [DAML+OIL], since the local names chosen are defined in the DAML+OIL namespace.

3.2. Entailment Tests

These tests use two documents. One is named premisesNNN.rdf, the other is named conclusionsNNN.rdf. The conclusions are entailed by the premises. Such entailment is defined by the OWL semantics [OWL Semantics and Abstract Syntax], (see also OWL Full entailment).

3.3. Non-Entailment Tests

These tests use two documents. One is named premisesNNN.rdf, the other is named nonconclusionsNNN.rdf. The nonconclusions are not entailed by the premises. Such entailment is defined by the OWL semantics [OWL Semantics and Abstract Syntax], (see also OWL Full entailment).

Exceptionally, test imports-002 includes a third document.

3.4. True Tests

These tests use one document. It is named conclusionsNNN.rdf. The conclusions follow from the OWL semantics [OWL Semantics and Abstract Syntax]. These tests are a special case of the entailment tests in which the premises are empty.

3.5. OWL for OWL Tests

These tests use one document. It is named conclusionsNNN.rdf. These are a special case of true tests. The conclusions follow from the OWL Full semantics [OWL Semantics and Abstract Syntax]. The tests are intended to illustrate how OWL Full can be used to describe its own properties and classes.

3.6. Consistency Tests

These tests use one document. It is named consistentNNN.rdf. The document is consistent as defined by the OWL Semantics [OWL Semantics and Abstract Syntax], (see also OWL Full consistency).

3.7. Inconsistency Tests

These tests use one document. It is named inconsistentNNN.rdf. The document is not consistent as defined by the OWL semantics [OWL Semantics and Abstract Syntax], (see also OWL Full consistency).

3.8. Import Entailment Tests

These tests use more than two documents. One is named premisesNNN.rdf, another is named conclusionsNNN.rdf, the rest have names like supportNNN-A.rdf. The support documents are in the imports closure of the premises document. The conclusions are entailed by the imports closure of the premises. Such entailment is defined by the OWL semantics [OWL Semantics and Abstract Syntax], (see also OWL Full entailment).

3.9. Import Level Tests

These tests use two documents. One is named importsNNN.rdf, the other is named mainNNN.rdf. These tests indicate the interaction between owl:imports and the sublanguage levels of the main document.

4. Conformance (Normative)

4.1. Document Conformance

4.1.1. Syntactic Conformance

An OWL Full document is any RDF/XML document [RDF/XML Syntax].

An OWL DL document is an OWL Full document such that the imports closure [OWL Semantics and Abstract Syntax] of the corresponding RDF graph [RDF Concepts] is an OWL DL ontology in RDF graph form.

An OWL Lite document is an OWL Full document such that the imports closure [OWL Semantics and Abstract Syntax] of the corresponding RDF graph [RDF Concepts] is an OWL Lite ontology in RDF graph form.

4.1.2. Semantic Conformance

An OWL Lite or OWL DL document D is consistent with respect to a datatype theory T if and only if there is some abstract OWL interpretation I with respect to T such that I satisfies an abstract ontology O equivalent to D, in which O has a separated vocabulary; (see [OWL Semantics and Abstract Syntax]).

An OWL Full document D is consistent with respect to a datatype theory T, if and only if there is some OWL Full interpretation I with respect to T such that I satisfies all the RDF graphs in some imports closed collection containing an RDF graph equivalent to D.

4.2. Document Checker Conformance

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

4.2.1. Syntax Checker

An OWL syntax checker takes a document as input, and returns one word being one of Lite, DL, Full, Other.

The return value MUST conform with the following:

Lite
The input document is an OWL Lite document.
DL
The input document is an OWL DL document but not an OWL Lite document.
Full
The input document is an OWL Full document but not an OWL DL document.
Other
The input document is not an OWL Full document.

In addition, an OWL Syntax Checker SHOULD report a warning if the RDF graph [RDF Concepts] corresponding to the document uses any URI references starting with the prefix http://www.w3.org/2002/07/owl# except those found in the [RDF Schema for OWL].

An OWL syntax checker SHOULD report network errors occurring during the computation of the imports closure.

4.2.2. Consistency Checker

An OWL consistency checker takes a document as input, and returns one word being Consistent, Inconsistent, or Unknown.

An OWL consistency checker SHOULD report network errors occurring during the computation of the imports closure.

An OWL consistency checker MUST provide a means to determine the datatypes supported by its datatype theory, [OWL Semantics and Abstract Syntax]; for example, by listing them in its supporting documentation.

An OWL consistency checker MUST be sound: it MUST return Consistent only when the input document is consistent and Inconsistent only when the input document is not consistent, with respect to the datatype theory of the checker.

If an input document uses datatypes that are not supported by the datatype theory of an OWL consistency checker then it MAY report a warning.

An OWL consistency checker is complete and terminating, if, given sufficient (but finite) resources (CPU cycles and memory) and the absence of network errors, it will always return either Consistent or Inconsistent. It has been shown that for OWL Lite and DL it is possible to construct a complete and terminating consistency checker (the languages are decidable), and that for OWL full it is not possible to construct a complete and terminating consistency checker (the language is undecidable, [Practical Reasoning]).

The datatype theory of an OWL consistency checker MUST minimally support at least xsd:integer, xsd:string from [XML Schema Datatypes].

An OWL consistency checker SHOULD NOT return Unknown. Unknown, while sometimes needed, is not a desired response.

Four different conformance classes of OWL consistency checker are defined.

An OWL Lite consistency checker is an OWL consistency checker that takes an OWL Lite document as input.

An OWL DL consistency checker is an OWL consistency checker that takes an OWL DL document as input.

An OWL Full consistency checker is an OWL consistency checker that takes an OWL Full document as input.

A complete OWL Lite consistency checker is an OWL Lite consistency checker that is complete and terminating.

Note: Every OWL Full consistency checker is also an OWL DL consistency checker. Every OWL DL consistency checker is also an OWL Lite consistency checker. The different levels are intended to be used to indicate the intended domain of a consistency checker.

Note: A complete OWL Lite consistency checker MAY return Unknown for an OWL Lite document in the case where a resource limit has been exceeded.

Note: The usage of the word 'complete' in this section follows the conventions of the description logic community. In some other communities the word 'complete' is used in a weaker sense, refering to the detection of inconsistency by logical inference systems.

5. Testing an OWL Implementation (Informative)

5.1. OWL Syntax Checkers

An OWL syntax checker when presented with any of the test files must return the indicated result.

5.2. OWL Consistency Checker

An OWL consistency checker can be tested using appropriate consistency and inconsistency tests. Appropriate tests are those of an appropriate level and for which the checker has appropriate datatype support.

An OWL consistency checker has appropriate datatype support for a test if both:

An OWL Lite consistency checker with appropriate datatype support, when presented with a file from an OWL Lite consistency test, must return Consistent or Unknown.

An OWL DL consistency checker with appropriate datatype support, when presented with a file from an OWL DL or OWL Lite consistency test, must return Consistent or Unknown.

An OWL Full consistency checker with appropriate datatype support, when presented with a file from an OWL Full, OWL DL or OWL Lite consistency test, must return Consistent or Unknown.

The corresponding inconsistency tests must return Inconsistent or Unknown.

A complete OWL Lite consistency checker should not return Unknown on the OWL Lite consistency or inconsistency tests, regardless of the use of unsupported datatypes.

6. Manifest Files (Informative)

The Manifest file follows the RDF schema developed for the RDF Test Cases [RDF Test Cases].

This is augmented by a few new properties and types which are declared in the OWL Test Ontology, found at http://www.w3.org/2002/03owlt/testOntology.

Specifically each test has its own Manifest file, and is identified from the URI reference formed from the Manifest file's URL with a fragment test.

The test has one rdf:type explicit, and this is one of:

otest:NotOwlFeatureTest
A test for the incorrect use of the OWL namespace name.
otest:PositiveEntailmentTest
An entailment test.
otest:NegativeEntailmentTest
A non-entailment test.
otest:TrueTest
A true test.
otest:OWLforOWLTest
An OWL for OWL test.
otest:ConsistencyTest
A consistency test.
otest:InconsistencyTest
An inconsistency test.
otest:ImportEntailmentTest
An import entailment test.
otest:ImportLevelTest
An import level test.

Where otest is bound to http://www.w3.org/2002/03owlt/testOntology# and rtest is bound to http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#.

The name of the original author of the test is shown using a dc:creator property, see [Dublin Core].

A description of the test is given (using XHTML markup [XHTML]) as the value of the rtest:description property.

An issue, if any, from the OWL Issues list [OWL Issues], is the value of a rtest:issue property.

An appropriate language feature, from the OWL namespace, if any, is the value of the otest:feature property.

The input documents with the test data are found as the value of the rtest:inputDocument property or as the value of both the rtest:premiseDocument and the rtest:conclusionDocument. The support files for import entailment tests, import level tests and test imports-002 are found as the values of otest:importedPremiseDocument.

The conformance level associated with both files and tests are given with the otest:level property. The value for each document and test is one of otest:Full, otest:DL, otest:Lite or otest:Other (documents only).

The datatypes used in the test are given with the otest:usedDatatype property or with one of its subproperties: otest:supportedDatatype or otest:notSupportedDatatype. These indicate that the test is only valid when the datatype is supported or not supported respectively by the datatype theory being used.

7. The OWL Tests (Normative)

7.1. By Function

7.1.1. owl:AllDifferent

FullPositive Entailment Test:001
Description: (informative) <AllDifferent/Manifest001#test>
using AllDifferent to derive differentFrom
FullPremises: <AllDifferent/premises001>
FullConclusions: <AllDifferent/conclusions001>

7.1.2. owl:FunctionalProperty

FullPositive Entailment Test:001
Description: (informative) <FunctionalProperty/Manifest001#test>
If prop belongs to owl:FunctionalProperty, and subject denotes a resource which is the subject of two prop triples, then the objects of these triples have the same denotation.
FullPremises: <FunctionalProperty/premises001>
FullConclusions: <FunctionalProperty/conclusions001>

FullPositive Entailment Test:002
Description: (informative) <FunctionalProperty/Manifest002#test>
If prop belongs to owl:FunctionalProperty, and subject denotes a resource which is the subject of two prop triples, then the objects of these triples have the same denotation.Hence any assertion made using one of them can be transferred to the other.
FullPremises: <FunctionalProperty/premises002>
FullConclusions: <FunctionalProperty/conclusions002>

FullPositive Entailment Test:003
Description: (informative) <FunctionalProperty/Manifest003#test>
If prop is an owl:FunctionalProperty, then its inverse is an owl:InverseFunctionalProperty.
FullPremises: <FunctionalProperty/premises003>
LiteConclusions: <FunctionalProperty/conclusions003>

FullPositive Entailment Test:004
Description: (informative) <FunctionalProperty/Manifest004#test>
If the range of prop is a singleton set then it is necessarily functional, (i.e. every member of its domain has a single value) and so it is an owl:FunctionalProperty.
FullPremises: <FunctionalProperty/premises004>
FullConclusions: <FunctionalProperty/conclusions004>

7.1.3. owl:InverseFunctionalProperty

FullPositive Entailment Test:001
Description: (informative) <InverseFunctionalProperty/Manifest001#test>
If prop belongs to owl:InverseFunctionalProperty, and object denotes a resource which is the object of two prop triples, then the subjects of these triples have the same denotation.
FullPremises: <InverseFunctionalProperty/premises001>
FullConclusions: <InverseFunctionalProperty/conclusions001>

FullPositive Entailment Test:002
Description: (informative) <InverseFunctionalProperty/Manifest002#test>
If prop belongs to owl:InverseFunctionalProperty, and object denotes a resource which is the object of two prop triples, then the subjects of these triples have the same denotation. Hence any assertion made using one of them can be transferred to the other.
FullPremises: <InverseFunctionalProperty/premises002>
FullConclusions: <InverseFunctionalProperty/conclusions002>

FullPositive Entailment Test:003
Description: (informative) <InverseFunctionalProperty/Manifest003#test>
If prop is an owl:InverseFunctionalProperty, then its inverse is an owl:FunctionalProperty.
FullPremises: <InverseFunctionalProperty/premises003>
FullConclusions: <InverseFunctionalProperty/conclusions003>

FullPositive Entailment Test:004
Description: (informative) <InverseFunctionalProperty/Manifest004#test>
If the domain of prop is a singleton set then it is necessarily inverse functional, (i.e. every member of its range is the value of a single item) so it is an owl:InverseFunctionalProperty.
FullPremises: <InverseFunctionalProperty/premises004>
LiteConclusions: <InverseFunctionalProperty/conclusions004>

7.1.4. owl:Nothing

DLOWL described in OWL.002
Description: (informative) <Nothing/Manifest002#test>
An empty owl:Class has the same class extension as owl:Nothing.
DLTrue: <Nothing/conclusions002>

7.1.5. owl:SymmetricProperty

FullPositive Entailment Test:001
Description: (informative) <SymmetricProperty/Manifest001#test>
A simple illustration of symmetric properties.
FullPremises: <SymmetricProperty/premises001>
FullConclusions: <SymmetricProperty/conclusions001>

7.1.6. owl:TransitiveProperty

FullPositive Entailment Test:001
Description: (informative) <TransitiveProperty/Manifest001#test>
A simple illustration of transitivity.
FullPremises: <TransitiveProperty/premises001>
FullConclusions: <TransitiveProperty/conclusions001>

7.1.7. owl:allValuesFrom

LitePositive Entailment Test:001
Description: (informative) <allValuesFrom/Manifest001#test>
A simple example.
LitePremises: <allValuesFrom/premises001>
LiteConclusions: <allValuesFrom/conclusions001>

LiteNegative Entailment Test:002
Description: (informative) <allValuesFrom/Manifest002#test>
Another simple example; contrast with owl:someValuesFrom.
LitePremises: <allValuesFrom/premises002>
LiteConclusions: <allValuesFrom/nonconclusions002>

7.1.8. owl:cardinality

LitePositive Entailment Test:001
Description: (informative) <cardinality/Manifest001#test>
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
LitePremises: <cardinality/premises001>
LiteConclusions: <cardinality/conclusions001>

LitePositive Entailment Test:002
Description: (informative) <cardinality/Manifest002#test>
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
LitePremises: <cardinality/premises002>
LiteConclusions: <cardinality/conclusions002>

DLPositive Entailment Test:003
Description: (informative) <cardinality/Manifest003#test>
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
DLPremises: <cardinality/premises003>
DLConclusions: <cardinality/conclusions003>

DLPositive Entailment Test:004
Description: (informative) <cardinality/Manifest004#test>
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
DLPremises: <cardinality/premises004>
DLConclusions: <cardinality/conclusions004>

7.1.9. owl:complementOf

FullPositive Entailment Test:001
Description: (informative) <complementOf/Manifest001#test>
complementOf is a SymmetricProperty.
FullPremises: <complementOf/premises001>
FullConclusions: <complementOf/conclusions001>

7.1.10. owl:differentFrom

FullPositive Entailment Test:001
Description: (informative) <differentFrom/Manifest001#test>
differentFrom is a SymmetricProperty.
FullPremises: <differentFrom/premises001>
FullConclusions: <differentFrom/conclusions001>

FullPositive Entailment Test:002
Description: (informative) <differentFrom/Manifest002#test>
using distinctMembers to derive differentFrom
FullPremises: <differentFrom/premises002>
FullConclusions: <differentFrom/conclusions002>

7.1.11. owl:disjointWith

DLPositive Entailment Test:001
Description: (informative) <disjointWith/Manifest001#test>
Disjoint classes have different members.
DLPremises: <disjointWith/premises001>
LiteConclusions: <disjointWith/conclusions001>

FullPositive Entailment Test:002
Description: (informative) <disjointWith/Manifest002#test>
Disjoint classes have different members.
FullPremises: <disjointWith/premises002>
FullConclusions: <disjointWith/conclusions002>

7.1.12. owl:distinctMembers

FullPositive Entailment Test:001
Description: (informative) <distinctMembers/Manifest001#test>
using distinctMembers to derive differentFrom
FullPremises: <distinctMembers/premises001>
FullConclusions: <distinctMembers/conclusions001>

7.1.13. owl:equivalentClass

LitePositive Entailment Test:001
Description: (informative) <equivalentClass/Manifest001#test>
Two classes may have the same class extension.
LitePremises: <equivalentClass/premises001>
LiteConclusions: <equivalentClass/conclusions001>

LitePositive Entailment Test:002
Description: (informative) <equivalentClass/Manifest002#test>
Two classes may be different names for the same set of individuals
LitePremises: <equivalentClass/premises002>
LiteConclusions: <equivalentClass/conclusions002>

LitePositive Entailment Test:003
Description: (informative) <equivalentClass/Manifest003#test>
Two classes may be different names for the same set of individuals
LitePremises: <equivalentClass/premises003>
LiteConclusions: <equivalentClass/conclusions003>

LitePositive Entailment Test:004
Description: (informative) <equivalentClass/Manifest004#test>
Two classes with the same complete description are equivalent.
LitePremises: <equivalentClass/premises004>
LiteConclusions: <equivalentClass/conclusions004>

LiteNegative Entailment Test:005
Description: (informative) <equivalentClass/Manifest005#test>
Two classes with the same partial description are not equivalent.
LitePremises: <equivalentClass/premises005>
LiteConclusions: <equivalentClass/nonconclusions005>

DLPositive Entailment Test:006
Description: (informative) <equivalentClass/Manifest006#test>
De Morgan's law.
LitePremises: <equivalentClass/premises006>
DLConclusions: <equivalentClass/conclusions006>

7.1.14. owl:equivalentProperty

LitePositive Entailment Test:001
Description: (informative) <equivalentProperty/Manifest001#test>
hasLeader may be stated to be the owl:equivalentProperty of hasHead.
LitePremises: <equivalentProperty/premises001>
LiteConclusions: <equivalentProperty/conclusions001>

LitePositive Entailment Test:002
Description: (informative) <equivalentProperty/Manifest002#test>
A reasoner can also deduce that hasLeader is a subProperty of hasHead and hasHead is a subProperty of hasLeader.
LitePremises: <equivalentProperty/premises002>
LiteConclusions: <equivalentProperty/conclusions002>

LitePositive Entailment Test:003
Description: (informative) <equivalentProperty/Manifest003#test>
The inverse entailment of test 002 also holds.
LitePremises: <equivalentProperty/premises003>
LiteConclusions: <equivalentProperty/conclusions003>

DLPositive Entailment Test:004
Description: (informative) <equivalentProperty/Manifest004#test>
If p and q have the same property extension then p equivalentProperty q.
DLPremises: <equivalentProperty/premises004>
LiteConclusions: <equivalentProperty/conclusions004>

FullPositive Entailment Test:005
Description: (informative) <equivalentProperty/Manifest005#test>
If p and q have the same property extension then p owl:equivalentProperty q.
FullPremises: <equivalentProperty/premises005>
FullConclusions: <equivalentProperty/conclusions005>

FullPositive Entailment Test:006
Description: (informative) <equivalentProperty/Manifest006#test>
hasLeader may be stated to be the owl:equivalentProperty of hasHead.
FullPremises: <equivalentProperty/premises006>
FullConclusions: <equivalentProperty/conclusions006>

7.1.15. owl:imports

FullImport Entailment Test:001
Description: (informative) <imports/Manifest001#test>
If a document imports another document, then it entails anything that is entailed by the conjunction of the two documents.
FullPremises: <imports/premises001>
LiteImported Premises <imports/support001-A>
FullConclusions: <imports/conclusions001>

FullNegative Entailment Test:002
Description: (informative) <imports/Manifest002#test>
If a premise document uses a namespace but does not import the document corresponding to the namespace, then the premises do not necessarily entail anything that is entailed by the conjunction of the two documents.
FullPremises: <imports/premises002>
FullConclusions: <imports/nonconclusions002>

FullImport Entailment Test:003
Description: (informative) <imports/Manifest003#test>
If a document imports a document which in turn imports a third document, then it entails anything which is entailed by the conjunction of the statements from the three documents. That is, imports is transitive.
FullPremises: <imports/premises003>
LiteImported Premises <imports/support003-A>
LiteImported Premises <imports/support003-B>
FullConclusions: <imports/conclusions003>

FullImports Level Test:004
Description: (informative) <imports/Manifest004#test>
Importing OWL Full documents may change the level of OWL Lite or OWL DL documents.
FullImported document: <imports/imports004>
FullMain document: <imports/main004>

DLImports Level Test:005
Description: (informative) <imports/Manifest005#test>
If an OWL Lite document imports an OWL DL document then it becomes OWL DL.
DLImported document: <imports/imports005>
DLMain document: <imports/main005>

LiteImports Level Test:006
Description: (informative) <imports/Manifest006#test>
The type declarations required by semantic layering can be imported into an OWL Lite or OWL DL file.
LiteImported document: <imports/imports006>
LiteMain document: <imports/main006>

LiteImports Level Test:007
Description: (informative) <imports/Manifest007#test>
The type declarations required by semantic layering can be imported into an OWL Lite or OWL DL file.
LiteImported document: <imports/imports007>
LiteMain document: <imports/main007>

LiteImports Level Test:008
Description: (informative) <imports/Manifest008#test>
It is often possible to import an ordinary RDFS document unchanged into an OWL Lite document. Aditional type declarations may be needed in the importing document.
FullImported document: <imports/imports008>
LiteMain document: <imports/main008>

7.1.16. owl:intersectionOf

FullPositive Entailment Test:001
Description: (informative) <intersectionOf/Manifest001#test>
The order of the classes in an intersectionOf construct is unimportant.
FullPremises: <intersectionOf/premises001>
FullConclusions: <intersectionOf/conclusions001>

7.1.17. owl:inverseOf

FullPositive Entailment Test:001
Description: (informative) <inverseOf/Manifest001#test>
If the pair (x,y) is an instance of P, than the pair (y,x) is an instance of the named property.
FullPremises: <inverseOf/premises001>
FullConclusions: <inverseOf/conclusions001>

7.1.18. owl:maxCardinality

FullInconsistent document.001
Description: (informative) <maxCardinality/Manifest001#test>
A property with maximum cardinality of two cannot take three distinct values on some subject node.
FullInconsistent: <maxCardinality/inconsistent001>

FullInconsistent document.002
Description: (informative) <maxCardinality/Manifest002#test>
A property with maximum cardinality of two cannot take three distinct values on some subject node. In this example, one of the three values is implicit.
FullInconsistent: <maxCardinality/inconsistent002>

7.1.19. owl:oneOf

FullConsistent document.001
Description: (informative) <oneOf/Manifest001#test>
oneOf does not indicate that the named individuals are distinct. Thus a consistent interpretation of this file is when all the individual names denote the same individual.
FullConsistent: <oneOf/consistent001>

FullPositive Entailment Test:002
Description: (informative) <oneOf/Manifest002#test>
oneOf describes a class by enumerating its individuals.
FullPremises: <oneOf/premises002>
FullConclusions: <oneOf/conclusions002>

FullPositive Entailment Test:003
Description: (informative) <oneOf/Manifest003#test>
The order of the instances in an owl:oneOf construct is unimportant.
FullPremises: <oneOf/premises003>
FullConclusions: <oneOf/conclusions003>

7.1.20. owl:someValuesFrom

FullNegative Entailment Test:002
Description: (informative) <someValuesFrom/Manifest002#test>
A simple example showing how owl:someValuesFrom differs from owl:allValuesFrom.
FullPremises: <someValuesFrom/premises002>
FullConclusions: <someValuesFrom/nonconclusions002>

7.1.21. owl:unionOf

FullPositive Entailment Test:001
Description: (informative) <unionOf/Manifest001#test>
A union is a superclass of its parts.
FullPremises: <unionOf/premises001>
FullConclusions: <unionOf/conclusions001>

FullPositive Entailment Test:002
Description: (informative) <unionOf/Manifest002#test>
A union behaves quite like set theoretic union.
FullPremises: <unionOf/premises002>
FullConclusions: <unionOf/conclusions002>

7.2. By Issue

7.2.1. Qualified Restrictions

LiteIllegal use of OWL namespace.001
Description: (informative) <I3.2/Manifest001#test>
The names used in a DAML+OIL qualified cardinality constraint are not defined the OWL namespace.
FullIncorrect: <I3.2/bad001>

LiteIllegal use of OWL namespace.002
Description: (informative) <I3.2/Manifest002#test>
The names used in a DAML+OIL qualified max cardinality constraint are not defined the OWL namespace.
FullIncorrect: <I3.2/bad002>

LiteIllegal use of OWL namespace.003
Description: (informative) <I3.2/Manifest003#test>
The names used in a DAML+OIL qualified min cardinality constraint are not defined the OWL namespace.
FullIncorrect: <I3.2/bad003>

7.2.2. UnambiguousProperty

LiteIllegal use of OWL namespace.001
Description: (informative) <I3.4/Manifest001#test>
The name UnambiguousProperty is not defined in the OWL namespace. daml:UnambiguousProperty corresponds to owl:InverseFunctionalProperty.
FullIncorrect: <I3.4/bad001>

7.2.3. UniqueProp BadName

LiteIllegal use of OWL namespace.001
Description: (informative) <I4.1/Manifest001#test>
The name UniqueProperty is not defined in the OWL namespace. daml:UniqueProperty corresponds to owl:FunctionalProperty.
FullIncorrect: <I4.1/bad001>

7.2.4. EquivalentTo

FullPositive Entailment Test:001
Description: (informative) <I4.6/Manifest001#test>
sameAs and sameIndividualAs are equivalent.
FullPremises: <I4.6/premises001>
LiteConclusions: <I4.6/conclusions001>

FullPositive Entailment Test:002
Description: (informative) <I4.6/Manifest002#test>
sameAs and sameIndividualAs are equivalent.
FullPremises: <I4.6/premises002>
FullConclusions: <I4.6/conclusions002>

FullPositive Entailment Test:003
Description: (informative) <I4.6/Manifest003#test>
owl:sameIndividualAs is stronger than owl:equivalentClass.
FullPremises: <I4.6/premises003>
LiteConclusions: <I4.6/conclusions003>

7.2.5. Uniform treatment of literal data values

FullPositive Entailment Test:001
Description: (informative) <I5.1/Manifest001#test>
stateCode example using an inverseFunctionalProperty and literals
FullPremises: <I5.1/premises001>
FullConclusions: <I5.1/conclusions001>

7.2.6. Language Compliance Levels

LiteConsistent document.001
Description: (informative) <I5.2/Manifest001#test>
A class like owl:Nothing can be defined using OWL Lite restrictions.
LiteConsistent: <I5.2/consistent001>

LitePositive Entailment Test:002
Description: (informative) <I5.2/Manifest002#test>
A class like owl:Nothing can be defined using OWL Lite restrictions.
LitePremises: <I5.2/premises002>
LiteConclusions: <I5.2/conclusions002>

7.2.7. IF-or-IFF-property-properties

FullPositive Entailment Test:001
Description: (informative) <I5.24/Manifest001#test>
This entailment is similar to one that does not hold in RDFS.
FullPremises: <I5.24/premises001>
FullConclusions: <I5.24/conclusions001>

LitePositive Entailment Test:004
Description: (informative) <I5.24/Manifest004#test>
This is a typical definition of range from description logic. It works both ways.
LitePremises: <I5.24/premises004>
LiteConclusions: <I5.24/conclusions004>

7.2.8. Semantic-Layering

FullConsistent document.005
Description: (informative) <I5.3/Manifest005#test>
Any RDF/XML document is in OWL Full.
FullConsistent: <I5.3/consistent005>

LiteConsistent document.006
Description: (informative) <I5.3/Manifest006#test>
A minimal OWL Lite version of test 005.
LiteConsistent: <I5.3/consistent006>

FullConsistent document.007
Description: (informative) <I5.3/Manifest007#test>
Any RDF/XML document is in OWL Full.
FullConsistent: <I5.3/consistent007>

LiteConsistent document.008
Description: (informative) <I5.3/Manifest008#test>
An OWL Lite version of test 007.
LiteConsistent: <I5.3/consistent008>

FullConsistent document.009
Description: (informative) <I5.3/Manifest009#test>
The use of blank nodes in OWL DL and OWL Lite is restricted.
FullConsistent: <I5.3/consistent009>

7.2.9. List syntax or semantics

FullOWL described in OWL.001
Description: (informative) <I5.5/Manifest001#test>
rdf:first is a FunctionalProperty.
FullTrue: <I5.5/conclusions001>

FullOWL described in OWL.002
Description: (informative) <I5.5/Manifest002#test>
rdf:rest is a FunctionalProperty.
FullTrue: <I5.5/conclusions002>

FullInconsistent document.003
Description: (informative) <I5.5/Manifest003#test>
rdf:nil cannot have an rdf:rest property.
FullInconsistent: <I5.5/inconsistent003>

FullInconsistent document.004
Description: (informative) <I5.5/Manifest004#test>
rdf:nil cannot have an rdf:first property.
FullInconsistent: <I5.5/inconsistent004>

7.3. Additional Description Logic Tests

These tests are ones that are either known from the literature (for instance, from [Heinsohn et al.]), or from test suites contributed by Network Inference, or developed by the Working Group.

The following additional namespace prefix is used in this section:

oiled
http://oiled.man.example.net/test#

In the N3 syntax [N3] used for namespace declarations, this as as follows:

Namespaces:
@prefix oiled: <http://oiled.man.example.net/test#> .

7.3.1. Extended Satisfiability Tests

These are general satisfiability tests that are intended to test the interaction of role hierarchies, disjoint concepts and other things within an OWL reasoner.

DLInconsistent document.001
Description: (informative) <description-logic/Manifest001#test>
DL Test: fact1.1 If a, b and c are disjoint, then: (a and b) or (b and c) or (c and a) is unsatisfiable.
DLInconsistent: <description-logic/inconsistent001>

DLInconsistent document.002
Description: (informative) <description-logic/Manifest002#test>
DL Test: fact2.1
DLInconsistent: <description-logic/inconsistent002>

DLInconsistent document.003
Description: (informative) <description-logic/Manifest003#test>
DL Test: fact3.1
DLInconsistent: <description-logic/inconsistent003>

DLInconsistent document.004
Description: (informative) <description-logic/Manifest004#test>
DL Test: fact4.1
DLInconsistent: <description-logic/inconsistent004>

DLConsistent document.005
Description: (informative) <description-logic/Manifest005#test>
DL Test: fact4.2
DLConsistent: <description-logic/consistent005>

DLConsistent document.006
Description: (informative) <description-logic/Manifest006#test>
DL Test: t1.1
DLConsistent: <description-logic/consistent006>

DLInconsistent document.007
Description: (informative) <description-logic/Manifest007#test>
DL Test: t1.2
DLInconsistent: <description-logic/inconsistent007>

DLInconsistent document.008
Description: (informative) <description-logic/Manifest008#test>
DL Test: t1.3
DLInconsistent: <description-logic/inconsistent008>

DLConsistent document.009
Description: (informative) <description-logic/Manifest009#test>
DL Test: t10.1
DLConsistent: <description-logic/consistent009>

DLInconsistent document.010
Description: (informative) <description-logic/Manifest010#test>
DL Test: t10.2
DLInconsistent: <description-logic/inconsistent010>

DLInconsistent document.011
Description: (informative) <description-logic/Manifest011#test>
DL Test: t10.3
DLInconsistent: <description-logic/inconsistent011>

DLInconsistent document.012
Description: (informative) <description-logic/Manifest012#test>
DL Test: t10.4
DLInconsistent: <description-logic/inconsistent012>

DLInconsistent document.013
Description: (informative) <description-logic/Manifest013#test>
DL Test: t10.5
DLInconsistent: <description-logic/inconsistent013>

DLInconsistent document.014
Description: (informative) <description-logic/Manifest014#test>
DL Test: t11.1
DLInconsistent: <description-logic/inconsistent014>

DLInconsistent document.015
Description: (informative) <description-logic/Manifest015#test>
DL Test: t12.1
DLInconsistent: <description-logic/inconsistent015>

DLConsistent document.016
Description: (informative) <description-logic/Manifest016#test>
DL Test: t2.1
DLConsistent: <description-logic/consistent016>

DLInconsistent document.017
Description: (informative) <description-logic/Manifest017#test>
DL Test: t2.2
DLInconsistent: <description-logic/inconsistent017>

DLConsistent document.018
Description: (informative) <description-logic/Manifest018#test>
DL Test: t3.1 There are 90 possible partitions in the satisfiable case
DLConsistent: <description-logic/consistent018>

DLInconsistent document.019
Description: (informative) <description-logic/Manifest019#test>
DL Test: t3.2 There are 301 possible partitions in the unsatisfiable case
DLInconsistent: <description-logic/inconsistent019>

DLConsistent document.020
Description: (informative) <description-logic/Manifest020#test>
DL Test: t3a.1 there are 1,701 possible partitions in the satisfiable case
DLConsistent: <description-logic/consistent020>

DLConsistent document.021
Description: (informative) <description-logic/Manifest021#test>
DL Test: t3a.2 There are 7,770 possible partitions in the unsatisfiable case
DLConsistent: <description-logic/consistent021>

DLInconsistent document.022
Description: (informative) <description-logic/Manifest022#test>
DL Test: t3a.3 There are 42,525 possible partitions in the satisfiable case
DLInconsistent: <description-logic/inconsistent022>

DLInconsistent document.023
Description: (informative) <description-logic/Manifest023#test>
DL Test: t4.1 Dynamic blocking example
DLInconsistent: <description-logic/inconsistent023>

DLConsistent document.024
Description: (informative) <description-logic/Manifest024#test>
DL Test: t5.1 Non-finite model example from paper The concept should be coherent but has no finite model
DLConsistent: <description-logic/consistent024>

DLConsistent document.025
Description: (informative) <description-logic/Manifest025#test>
DL Test: t5f.1 Non-finite model example from paper The concept should be coherent but has no finite model
DLConsistent: <description-logic/consistent025>

DLInconsistent document.026
Description: (informative) <description-logic/Manifest026#test>
DL Test: t6.1 Double blocking example. The concept should be incoherent but needs double blocking
DLInconsistent: <description-logic/inconsistent026>

DLInconsistent document.027
Description: (informative) <description-logic/Manifest027#test>
DL Test: t6f.1 Double blocking example. The concept should be incoherent but needs double blocking
DLInconsistent: <description-logic/inconsistent027>

DLConsistent document.028
Description: (informative) <description-logic/Manifest028#test>
DL Test: t7.1
DLConsistent: <description-logic/consistent028>

DLInconsistent document.029
Description: (informative) <description-logic/Manifest029#test>
DL Test: t7.2
DLInconsistent: <description-logic/inconsistent029>

DLInconsistent document.030
Description: (informative) <description-logic/Manifest030#test>
DL Test: t7.3
DLInconsistent: <description-logic/inconsistent030>

DLConsistent document.031
Description: (informative) <description-logic/Manifest031#test>
DL Test: t7f.1
DLConsistent: <description-logic/consistent031>

DLInconsistent document.032
Description: (informative) <description-logic/Manifest032#test>
DL Test: t7f.2
DLInconsistent: <description-logic/inconsistent032>

DLInconsistent document.033
Description: (informative) <description-logic/Manifest033#test>
DL Test: t7f.3
DLInconsistent: <description-logic/inconsistent033>

DLConsistent document.034
Description: (informative) <description-logic/Manifest034#test>
DL Test: t8.1
DLConsistent: <description-logic/consistent034>

7.3.2. Heinsohn's Tests

See [Heinsohn et al.].

DLInconsistent document.101
Description: (informative) <description-logic/Manifest101#test>
DL Test: heinsohn1.1 Tbox tests from [Heinsohn et al.] Tests incoherency caused by disjoint concept
DLInconsistent: <description-logic/inconsistent101>

DLInconsistent document.102
Description: (informative) <description-logic/Manifest102#test>
DL Test: heinsohn1.2 Tbox tests from [Heinsohn et al.] Tests incoherency caused by disjoint concept
DLInconsistent: <description-logic/inconsistent102>

DLInconsistent document.103
Description: (informative) <description-logic/Manifest103#test>
DL Test: heinsohn1.3 Tbox tests from [Heinsohn et al.] Tests incoherency caused by disjoint concept
DLInconsistent: <description-logic/inconsistent103>

DLInconsistent document.104
Description: (informative) <description-logic/Manifest104#test>
DL Test: heinsohn1.4 Tbox tests from [Heinsohn et al.] Tests incoherency caused by disjoint concept
DLInconsistent: <description-logic/inconsistent104>

DLInconsistent document.105
Description: (informative) <description-logic/Manifest105#test>
DL Test: heinsohn2.1 Tbox tests from [Heinsohn et al.] Tests incoherency caused by number restrictions
DLInconsistent: <description-logic/inconsistent105>

DLInconsistent document.106
Description: (informative) <description-logic/Manifest106#test>
DL Test: heinsohn2.2 Tbox tests from [Heinsohn et al.] Tests incoherency caused by number restrictions
DLInconsistent: <description-logic/inconsistent106>

DLInconsistent document.107
Description: (informative) <description-logic/Manifest107#test>
DL Test: heinsohn3.1 Tbox tests from [Heinsohn et al.] Tests incoherency caused by number restrictions and role hierarchy
DLInconsistent: <description-logic/inconsistent107>

DLInconsistent document.108
Description: (informative) <description-logic/Manifest108#test>
DL Test: heinsohn3.2 Tbox tests from [Heinsohn et al.] Tests incoherency caused by number restrictions and role hierarchy
DLInconsistent: <description-logic/inconsistent108>

DLInconsistent document.109
Description: (informative) <description-logic/Manifest109#test>
DL Test: heinsohn3c.1 Tbox tests from [Heinsohn et al.] Tests incoherency caused by number restrictions and role hierarchy
DLInconsistent: <description-logic/inconsistent109>

DLInconsistent document.110
Description: (informative) <description-logic/Manifest110#test>
DL Test: heinsohn4.1 Tbox tests from [Heinsohn et al.] Tests role restrictions
DLInconsistent: <description-logic/inconsistent110>

DLInconsistent document.111
Description: (informative) <description-logic/Manifest111#test>
DL Test: heinsohn4.2 Tbox tests from [Heinsohn et al.] Tests role restrictions
DLInconsistent: <description-logic/inconsistent111>

7.3.3. Difficult OWL Lite Tests

These tests are OWL Lite versions of the tests from the previous sections. The OWL DL constructions owl:unionOf, owl:complementOf, owl:disjointWith have been systematically replaced with OWL Lite equivalents.

LiteInconsistent document.602
Description: (informative) <description-logic/Manifest602#test>
DL Test: fact2.1
LiteInconsistent: <description-logic/inconsistent602>

LiteInconsistent document.603
Description: (informative) <description-logic/Manifest603#test>
DL Test: fact3.1
LiteInconsistent: <description-logic/inconsistent603>

LiteInconsistent document.604
Description: (informative) <description-logic/Manifest604#test>
DL Test: fact4.1
LiteInconsistent: <description-logic/inconsistent604>

LiteConsistent document.605
Description: (informative) <description-logic/Manifest605#test>
DL Test: fact4.2
LiteConsistent: <description-logic/consistent605>

LiteConsistent document.606
Description: (informative) <description-logic/Manifest606#test>
DL Test: t1.1
LiteConsistent: <description-logic/consistent606>

LiteInconsistent document.608
Description: (informative) <description-logic/Manifest608#test>
DL Test: t1.3
LiteInconsistent: <description-logic/inconsistent608>

LiteConsistent document.609
Description: (informative) <description-logic/Manifest609#test>
DL Test: t10.1
LiteConsistent: <description-logic/consistent609>

LiteInconsistent document.610
Description: (informative) <description-logic/Manifest610#test>
DL Test: t10.2
LiteInconsistent: <description-logic/inconsistent610>

LiteInconsistent document.611
Description: (informative) <description-logic/Manifest611#test>
DL Test: t10.3
LiteInconsistent: <description-logic/inconsistent611>

LiteInconsistent document.612
Description: (informative) <description-logic/Manifest612#test>
DL Test: t10.4
LiteInconsistent: <description-logic/inconsistent612>

LiteInconsistent document.613
Description: (informative) <description-logic/Manifest613#test>
DL Test: t10.5
LiteInconsistent: <description-logic/inconsistent613>

LiteInconsistent document.614
Description: (informative) <description-logic/Manifest614#test>
DL Test: t11.1
LiteInconsistent: <description-logic/inconsistent614>

LiteInconsistent document.615
Description: (informative) <description-logic/Manifest615#test>
DL Test: t12.1
LiteInconsistent: <description-logic/inconsistent615>

LiteConsistent document.616
Description: (informative) <description-logic/Manifest616#test>
DL Test: t2.1
LiteConsistent: <description-logic/consistent616>

LiteInconsistent document.617
Description: (informative) <description-logic/Manifest617#test>
DL Test: t2.2
LiteInconsistent: <description-logic/inconsistent617>

LiteInconsistent document.623
Description: (informative) <description-logic/Manifest623#test>
DL Test: t4.1 Dynamic blocking example
LiteInconsistent: <description-logic/inconsistent623>

LiteConsistent document.624
Description: (informative) <description-logic/Manifest624#test>
DL Test: t5.1 Non-finite model example from paper The concept should be coherent but has no finite model
LiteConsistent: <description-logic/consistent624>

LiteConsistent document.625
Description: (informative) <description-logic/Manifest625#test>
DL Test: t5f.1 Non-finite model example from paper The concept should be coherent but has no finite model
LiteConsistent: <description-logic/consistent625>

LiteInconsistent document.626
Description: (informative) <description-logic/Manifest626#test>
DL Test: t6.1 Double blocking example. The concept should be incoherent but needs double blocking
LiteInconsistent: <description-logic/inconsistent626>

LiteInconsistent document.627
Description: (informative) <description-logic/Manifest627#test>
DL Test: t6f.1 Double blocking example. The concept should be incoherent but needs double blocking
LiteInconsistent: <description-logic/inconsistent627>

LiteConsistent document.628
Description: (informative) <description-logic/Manifest628#test>
DL Test: t7.1
LiteConsistent: <description-logic/consistent628>

LiteInconsistent document.629
Description: (informative) <description-logic/Manifest629#test>
DL Test: t7.2
LiteInconsistent: <description-logic/inconsistent629>

LiteInconsistent document.630
Description: (informative) <description-logic/Manifest630#test>
DL Test: t7.3
LiteInconsistent: <description-logic/inconsistent630>

LiteConsistent document.631
Description: (informative) <description-logic/Manifest631#test>
DL Test: t7f.1
LiteConsistent: <description-logic/consistent631>

LiteInconsistent document.632
Description: (informative) <description-logic/Manifest632#test>
DL Test: t7f.2
LiteInconsistent: <description-logic/inconsistent632>

LiteInconsistent document.633
Description: (informative) <description-logic/Manifest633#test>
DL Test: t7f.3
LiteInconsistent: <description-logic/inconsistent633>

LiteConsistent document.634
Description: (informative) <description-logic/Manifest634#test>
DL Test: t8.1
LiteConsistent: <description-logic/consistent634>

LiteInconsistent document.641
Description: (informative) <description-logic/Manifest641#test>
DL Test: heinsohn1.1 Tbox tests from [Heinsohn et al.] Tests incoherency caused by disjoint concept
LiteInconsistent: <description-logic/inconsistent641>

LiteInconsistent document.642
Description: (informative) <description-logic/Manifest642#test>
DL Test: heinsohn1.2 Tbox tests from [Heinsohn et al.] Tests incoherency caused by disjoint concept
LiteInconsistent: <description-logic/inconsistent642>

LiteInconsistent document.643
Description: (informative) <description-logic/Manifest643#test>
DL Test: heinsohn1.3 Tbox tests from [Heinsohn et al.] Tests incoherency caused by disjoint concept
LiteInconsistent: <description-logic/inconsistent643>

7.3.4. Extended Cardinality Testing

DLPositive Entailment Test:901
Description: (informative) <description-logic/Manifest901#test>
This entailment can be replicated for any three natural numbers i, j, k such that i+j >= k. In this example, they are chosen as 2, 3 and 5.
DLPremises: <description-logic/premises901>
DLConclusions: <description-logic/conclusions901>

DLNegative Entailment Test:902
Description: (informative) <description-logic/Manifest902#test>
This non-entailment can be replicated for any three natural numbers i, j, k such that i+j < k. In this example, they are chosen as 2, 3 and 6.
DLPremises: <description-logic/premises902>
DLConclusions: <description-logic/nonconclusions902>

DLPositive Entailment Test:903
Description: (informative) <description-logic/Manifest903#test>
This entailment can be replicated for any three natural numbers i, j, k such that i+j >= k. In this example, they are chosen as 200, 300 and 500.
DLPremises: <description-logic/premises903>
DLConclusions: <description-logic/conclusions903>

DLNegative Entailment Test:904
Description: (informative) <description-logic/Manifest904#test>
This non-entailment can be replicated for any three natural numbers i, j, k such that i+j < k. In this example, they are chosen as 200, 300 and 600.
DLPremises: <description-logic/premises904>
DLConclusions: <description-logic/nonconclusions904>

7.4. Miscellaneous Tests

These tests are ones that do not fit any other category. Some are taken from the [OWL Guide]; others reflect various aspects of OWL, that were not formal issues addressed by the working group.

7.4.1. Examples from the OWL Guide

These tests are taken from the [OWL Guide].

DLConsistent document.001
Description: (informative) <miscellaneous/Manifest001#test>
Wine example taken from the guide.
Datatypes that may or may not be supported: xsd:positiveInteger,
DLConsistent: <miscellaneous/consistent001>

DLConsistent document.002
Description: (informative) <miscellaneous/Manifest002#test>
Food example taken from the guide.
DLConsistent: <miscellaneous/consistent002>

A. Test Creation, Approval and Modification (Informative)

A.1. Creation

Tests are created by members of the working group. An (optional) test editor is provided to facilitate this. Tests are then placed in the appropriate directory in the test web site. This is done using CVS access to the W3C CVS server [W3C CVS].

When created, tests are given a status of "PROPOSED". The author of the test creates a Manifest file in the directory of the new test, identifying:

A.2. Approval

At the chair's discretion, individual tests or groups of tests are put to the working group in the weekly telecon or at a face-to-face meeting.

Tests are approved by working group decision.

The working group may take account of favourable review of the tests and/or implementation reports, as well as other factors.

If the Working Group approves a test, then it is included in the test case document.

The Working Group may reject a test, in which case its status is changed to "REJECTED". This does not indicate that the converse of the test has been accepted. There may be stylistic or other grounds for rejecting technically correct tests.

The Working Group has complete discretion to approve or reject tests independent of their conformance with this process or their conformance with the OWL working drafts.

In the light of new information, and at the chairs' discretion, the working group may review any previous decision regarding any test cases. The status of "OBSOLETED" may be used where a test has ceased to be appropriate.

A.3. Modification

The editors may make editorial changes to approved and proposed tests. This includes:

B. Stylistic Preferences (Informative)

There is a preference for the following stylistic rules. None of these rules is obligatory, but test authors should be minded that it will be easier to gain working group consensus if they follow these rules.

B.1. Use of RDF/XML

Tests should normally be expressed in RDF/XML.

The following RDF/XML grammar rules [RDF/XML Syntax] are not used:

  1. Property attributes.
  2. rdf:parseType="Resource".

B.2. Use of xml:base

Test and manifest files should have an xml:base attribute [XMLBASE] on the document element. This should show the preferred URL of the document, from which it is actually retrievable.

Files that contain no relative URIs may omit the xml:base attribute.

B.3. Use of .rdf Suffix

Test and manifest files should use the ".rdf" suffix. URIs should not. The URL used for xml:base declarations does not have a suffix.

B.4. Use of example Domains

All URLs in the test and manifest files should be retrievable web resources except for those that use domain names with "example" as the penultimate component (e.g. "http://www.example.org/ontology#prop").

B.5. Copyright

The following copyright statement should be included as an XML comment in every test file:



<!--
  Copyright World Wide Web Consortium, (Massachusetts Institute of
  Technology, European Research Consortium for Informatics and 
  Mathematics, Keio University).
 
  All Rights Reserved.
 
  Please see the full Copyright clause at
  <http://www.w3.org/Consortium/Legal/copyright-software.html>

  $Id: This string is updated by cvs. $
-->

B.6. Description

The description should:

The description should be included as an XML comment in each test file, and be included as RDF content in the Manifest file.

B.7. Directory Structure

Tests that relate principally to some owl property or class, should be put in a directory named using the local name of that property of class.

Otherwise, tests that relate to an issue should be put in a directory named like I3.4 where the issue number is taken from the OWL issue list [OWL Issues].

B.8. Test Numbering

Each directory should contain tests numbered consecutively from 001.

No two tests in a single directory should have the same number.

Each file in a test should have the number of the test at the end of its name, before the suffix.

The rest of the file name should follow the conventions for the test type.

Note: the approved tests in a directory will not necessarily be contiguously numbered.

Note: this differs from the RDF Core test case numbering conventions.

B.9. Triple Format of Test Data

Both the approved and proposed tests are shown both in RDF/XML, which is their normative form, and in a triples format. This lists the triples as subject, predicate and object, similar to the N-triples format described in [RDF Test Cases]. The following additional conventions are used:

The following namespace prefixes are used throughout:

rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#
owl
http://www.w3.org/2002/07/owl#
xsd
http://www.w3.org/2001/XMLSchema#
first
The URL of the first file concatenated with #. The first file is that named premisesNNN.rdf, badNNN.rdf, consistentNNN.rdf, inconsistentNNN.rdf or importsNNN.rdf depending on the test type. (Not used for true tests or OWL for OWL tests ).
second
The URL of the second file concatenated with #. The second file is named conclusionsNNN.rdf, nonconclusionsNNN.rdf or mainNNN.rdf depending on the test type.

In the N3 syntax [N3] used for namespace declarations, the first four appear as follows:

Namespaces:
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

Other namespaces are explicitly listed with the test data.

C. Proposed Tests (Informative)

C.1. By Function

C.1.1. owl:DatatypeProperty

FullConsistent document.001
Description: (informative) <DatatypeProperty/Manifest001#test>
DatatypeProperty's may be used to related typed literals to typed literals, in OWL Full.
FullConsistent: <DatatypeProperty/consistent001>
Errors: (informative)
Unsupported datatype: xsd:nonNegativeInteger

C.1.2. owl:FunctionalProperty

FullPositive Entailment Test:005
Description: (informative) <FunctionalProperty/Manifest005#test>
If prop belongs to owl:FunctionalProperty then an OWL individual has at most one value for prop.
FullPremises: <FunctionalProperty/premises005>
FullConclusions: <FunctionalProperty/conclusions005>

C.1.3. owl:Nothing

LiteInconsistent document.001
Description: (informative) <Nothing/Manifest001#test>
The triple asserts something of type owl:Nothing, however that is the empty class.
LiteInconsistent: <Nothing/inconsistent001>

C.1.4. owl:cardinality

FullPositive Entailment Test:006
Description: (informative) <cardinality/Manifest006#test>
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
FullPremises: <cardinality/premises006>
FullConclusions: <cardinality/conclusions006>

FullNegative Entailment Test:007
Description: (informative) <cardinality/Manifest007#test>
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
FullPremises: <cardinality/premises007>
FullConclusions: <cardinality/nonconclusions007>

C.1.5. owl:equivalentClass

FullPositive Entailment Test:007
Description: (informative) <equivalentClass/Manifest007#test>
De Morgan's law.
FullPremises: <equivalentClass/premises007>
FullConclusions: <equivalentClass/conclusions007>

DLNegative Entailment Test:008
Description: (informative) <equivalentClass/Manifest008#test>
Annotation properties refer to a class instance. equivalentClass refers to the class extension.
LitePremises: <equivalentClass/premises008>
LiteConclusions: <equivalentClass/nonconclusions008>

C.1.6. owl:imports

FullOWL described in OWL.010
Description: (informative) <imports/Manifest010#test>
This test specifies the domain and range for owl:imports.
FullTrue: <imports/conclusions010>

C.1.7. owl:oneOf

DLPositive Entailment Test:004
Description: (informative) <oneOf/Manifest004#test>
This test illustrates the use of dataRange in OWL DL. This test combines some of the ugliest features of XML, RDF and OWL.
Required datatype support: xsd:short,
DLPremises: <oneOf/premises004>
LiteConclusions: <oneOf/conclusions004>

C.1.8. owl:sameIndividualAs

FullPositive Entailment Test:001
Description: (informative) <sameIndividualAs/Manifest001#test>
Annotation properties refer to a class instance. sameIndividualAs, in OWL Full, also refers to the class instance.
FullPremises: <sameIndividualAs/premises001>
LiteConclusions: <sameIndividualAs/conclusions001>

C.1.9. owl:someValuesFrom

FullPositive Entailment Test:001
Description: (informative) <someValuesFrom/Manifest001#test>
A simple example.
LitePremises: <someValuesFrom/premises001>
FullConclusions: <someValuesFrom/conclusions001>

C.2. By Issue

C.2.1. EquivalentTo

FullNegative Entailment Test:004
Description: (informative) <I4.6/Manifest004#test>
owl:sameIndividualAs is stronger than owl:equivalentClass.
LitePremises: <I4.6/premises004>
FullConclusions: <I4.6/nonconclusions004>

LiteNegative Entailment Test:005
Description: (informative) <I4.6/Manifest005#test>
owl:equivalentClass.is not related to annotations on classes.
LitePremises: <I4.6/premises005>
LiteConclusions: <I4.6/nonconclusions005>

C.2.2. Uniform treatment of literal data values

FullConsistent document.010
Description: (informative) <I5.1/Manifest010#test>
There are 128 different bytes that are also unsigned integers; and hence also 127.
Datatypes that may or may not be supported: xsd:byte, xsd:unsignedInt,
FullConsistent: <I5.1/consistent010>

C.2.3. Language Compliance Levels

LiteConsistent document.003
Description: (informative) <I5.2/Manifest003#test>
The complement of a class can be defined using OWL Lite restrictions.
LiteConsistent: <I5.2/consistent003>

DLPositive Entailment Test:004
Description: (informative) <I5.2/Manifest004#test>
The complement of a class can be defined using OWL Lite restrictions.
LitePremises: <I5.2/premises004>
DLConclusions: <I5.2/conclusions004>

DLConsistent document.005
Description: (informative) <I5.2/Manifest005#test>
The union of two classes can be defined using OWL Lite restrictions, and owl:intersectionOf.
LiteConsistent: <I5.2/consistent005>

DLPositive Entailment Test:006
Description: (informative) <I5.2/Manifest006#test>
The union of two classes can be defined using OWL Lite restrictions, and owl:intersectionOf.
LitePremises: <I5.2/premises006>
DLConclusions: <I5.2/conclusions006>

LiteConsistent document.010
Description: (informative) <I5.2/Manifest010#test>
The informal semantics for RDF container vocabulary, indicated by the comment, are not respected by the formal machinery of OWL.
LiteConsistent: <I5.2/consistent010>

LiteConsistent document.011
Description: (informative) <I5.2/Manifest011#test>
The informal semantics indicated by comments concerning user defined classes are not respected by the formal machinery of OWL.
LiteConsistent: <I5.2/consistent011>

C.2.4. IF-or-IFF-property-properties

FullPositive Entailment Test:002
Description: (informative) <I5.24/Manifest002#test>
OWL, unlike RDFS, uses iff semantics for range.
FullPremises: <I5.24/premises002>
FullConclusions: <I5.24/conclusions002>

LitePositive Entailment Test:003
Description: (informative) <I5.24/Manifest003#test>
This is a typical definition of range from description logic.
LitePremises: <I5.24/premises003>
LiteConclusions: <I5.24/conclusions003>

C.2.5. Semantic-Layering

FullConsistent document.010
Description: (informative) <I5.3/Manifest010#test>
Classes cannot be the object of regular properties in OWL DL.
FullConsistent: <I5.3/consistent010>

LiteConsistent document.011
Description: (informative) <I5.3/Manifest011#test>
Classes can be the object of annotation properties in OWL Lite and DL.
LiteConsistent: <I5.3/consistent011>

C.2.6. Datatypes

DLInconsistent document.001
Description: (informative) <I5.8/Manifest001#test>
There are only 256 different values for xsd:byte.
Required datatype support: xsd:byte,
DLInconsistent: <I5.8/inconsistent001>

DLConsistent document.002
Description: (informative) <I5.8/Manifest002#test>
There are 256 different values for xsd:byte.
Datatypes that may or may not be supported: xsd:byte,
DLConsistent: <I5.8/consistent002>

DLInconsistent document.003
Description: (informative) <I5.8/Manifest003#test>
There are only 128 different values of xsd:byte that are also xsd:unsignedInt.
Required datatype support: xsd:byte, xsd:unsignedInt,
DLInconsistent: <I5.8/inconsistent003>

DLPositive Entailment Test:004
Description: (informative) <I5.8/Manifest004#test>
There are precisely 128 different values of xsd:byte that are also xsd:unsignedInt.
Required datatype support: xsd:byte, xsd:unsignedInt,
DLPremises: <I5.8/premises004>
LiteConclusions: <I5.8/conclusions004>

DLNegative Entailment Test:005
Description: (informative) <I5.8/Manifest005#test>
There are 128 different values of xsd:byte that are also xsd:unsignedInt.
Datatypes that may or may not be supported: xsd:byte, xsd:unsignedInt,
DLPremises: <I5.8/premises005>
LiteConclusions: <I5.8/nonconclusions005>

LitePositive Entailment Test:006
Description: (informative) <I5.8/Manifest006#test>
All xsd:byte are xsd:short.
Required datatype support: xsd:byte, xsd:short,
LitePremises: <I5.8/premises006>
LiteConclusions: <I5.8/conclusions006>

LiteNegative Entailment Test:007
Description: (informative) <I5.8/Manifest007#test>
-1 is an xsd:short that is not an xsd:unsignedByte.
Datatypes that may or may not be supported: xsd:short, xsd:unsignedByte,
LitePremises: <I5.8/premises007>
LiteConclusions: <I5.8/nonconclusions007>

LitePositive Entailment Test:008
Description: (informative) <I5.8/Manifest008#test>
-1 is an xsd:short that is not an xsd:unsignedShort; 100000 is an xsd:unsignedInt that is not an xsd:unsignedShort; but there are no xsd:unsignedShort which are neither xsd:short nor xsd:unsignedInt
Required datatype support: xsd:short, xsd:unsignedInt, xsd:unsignedShort,
LitePremises: <I5.8/premises008>
LiteConclusions: <I5.8/conclusions008>

LitePositive Entailment Test:009
Description: (informative) <I5.8/Manifest009#test>
0 is the only xsd:nonNegativeInteger which is also an xsd:nonPositiveInteger. 0 is an xsd:short.
Required datatype support: xsd:nonPositiveInteger, xsd:short, xsd:nonNegativeInteger,
LitePremises: <I5.8/premises009>
LiteConclusions: <I5.8/conclusions009>

LitePositive Entailment Test:010
Description: (informative) <I5.8/Manifest010#test>
0 is the only xsd:nonNegativeInteger which is also an xsd:nonPositiveInteger.
Required datatype support: xsd:nonPositiveInteger, xsd:int, xsd:nonNegativeInteger,
LitePremises: <I5.8/premises010>
LiteConclusions: <I5.8/conclusions010>

LiteOWL described in OWL.011
Description: (informative) <I5.8/Manifest011#test>
The empty graph entails that xsd:integer and xsd:string are a rdfs:Datatype
LiteTrue: <I5.8/conclusions011>

DLConsistent document.012
Description: (informative) <I5.8/Manifest012#test>
There might be only 128 different values of xsd:byte that are also xsd:unsignedInt; but this does not follow from the datatype theory of this test. (cf. the similar inconsistency test).
Datatypes that must not be supported: xsd:byte, xsd:unsignedInt,
DLConsistent: <I5.8/consistent012>

C.3. Additional Description Logic Tests

These tests are ones that are either known from the literature (for instance, from [Heinsohn et al.]), or from test suites contributed by Network Inference, or developed by the Working Group.

The following additional namespace prefix is used in this section:

oiled
http://oiled.man.example.net/test#

In the N3 syntax [N3] used for namespace declarations, this as as follows:

Namespaces:
@prefix oiled: <http://oiled.man.example.net/test#> .

C.3.1. DL 98 Instance Tests

These tests have been ported from the DL 98 tests [DL 98 Systems Comparison].

DLPositive Entailment Test:201
Description: (informative) <description-logic/Manifest201#test>
DL Test: k_branch ABox test from DL98 systems comparison.
DLPremises: <description-logic/premises201>
LiteConclusions: <description-logic/conclusions201>

DLPositive Entailment Test:202
Description: (informative) <description-logic/Manifest202#test>
DL Test: k_d4 ABox test from DL98 systems comparison.
DLPremises: <description-logic/premises202>
LiteConclusions: <description-logic/conclusions202>

DLPositive Entailment Test:203
Description: (informative) <description-logic/Manifest203#test>
DL Test: k_dum ABox test from DL98 systems comparison.
DLPremises: <description-logic/premises203>
LiteConclusions: <description-logic/conclusions203>

DLPositive Entailment Test:204
Description: (informative) <description-logic/Manifest204#test>
DL Test: k_grz ABox test from DL98 systems comparison.
DLPremises: <description-logic/premises204>
LiteConclusions: <description-logic/conclusions204>

DLPositive Entailment Test:205
Description: (informative) <description-logic/Manifest205#test>
DL Test: k_lin ABox test from DL98 systems comparison.
DLPremises: <description-logic/premises205>
LiteConclusions: <description-logic/conclusions205>

DLPositive Entailment Test:206
Description: (informative) <description-logic/Manifest206#test>
DL Test: k_path ABox test from DL98 systems comparison.
DLPremises: <description-logic/premises206>
LiteConclusions: <description-logic/conclusions206>

DLPositive Entailment Test:207
Description: (informative) <description-logic/Manifest207#test>
DL Test: k_ph ABox test from DL98 systems comparison.
DLPremises: <description-logic/premises207>
LiteConclusions: <description-logic/conclusions207>

DLPositive Entailment Test:208
Description: (informative) <description-logic/Manifest208#test>
DL Test: k_poly ABox test from DL98 systems comparison.
DLPremises: <description-logic/premises208>
LiteConclusions: <description-logic/conclusions208>

C.3.2. The 3 SAT Problem

These tests show how the classic 3 SAT problem can be encoded in OWL DL. The comment before each test gives the 3 SAT problem in the [DIMACS] format.

DLConsistent document.501
Description: (informative) <description-logic/Manifest501#test>
c genAlea with seed 1366722535
p cnf 9 45
7 -9 -8 0
1 2 -8 0
4 7 -5 0
2 3 -1 0
-1 5 8 0
-8 -6 -3 0
-3 -8 7 0
-3 6 8 0
-4 -6 8 0
6 7 3 0
3 6 -9 0
-5 -2 3 0
5 8 2 0
-2 -7 -3 0
-6 -8 -5 0
2 7 -3 0
9 -1 -2 0
1 7 -6 0
1 9 -3 0
-8 -9 -2 0
-9 -8 2 0
5 8 4 0
-7 2 5 0
-1 7 -4 0
7 -8 4 0
-3 2 -6 0
1 -2 -9 0
7 3 -2 0
-7 8 4 0
1 -7 -5 0
-5 4 -3 0
6 7 -1 0
-1 7 -9 0
3 2 6 0
8 3 -7 0
-1 9 -8 0
5 -9 -7 0
-7 3 -9 0
3 -1 -2 0
6 1 4 0
6 -7 5 0
8 -6 3 0
5 -2 6 0
8 3 -5 0
-2 -4 -9 0
DLConsistent: <description-logic/consistent501>

DLInconsistent document.502
Description: (informative) <description-logic/Manifest502#test>
c genAlea with seed 67700557
p cnf 9 45
1 2 -4 0
-3 6 -4 0
9 -4 5 0
4 -6 -2 0
-2 -3 1 0
-3 8 7 0
-8 -2 3 0
-7 -6 9 0
1 -4 -6 0
-8 -5 -3 0
4 3 6 0
2 -1 4 0
-3 8 2 0
6 -2 9 0
7 -9 -2 0
2 -5 -7 0
5 2 9 0
6 -2 -7 0
-9 3 -2 0
1 7 4 0
-4 1 9 0
2 1 -6 0
7 -4 9 0
-5 3 -9 0
-4 9 -8 0
4 3 9 0
-7 9 5 0
4 1 3 0
-5 8 7 0
8 -7 3 0
4 -8 6 0
4 6 -5 0
-6 1 -9 0
1 9 -6 0
9 -8 3 0
6 3 -4 0
8 -4 6 0
-3 5 -8 0
-9 4 3 0
8 -4 2 0
-5 -2 -9 0
-7 -3 -4 0
-9 -4 -8 0
6 -4 -1 0
6 -7 -8 0
DLInconsistent: <description-logic/inconsistent502>

DLConsistent document.503
Description: (informative) <description-logic/Manifest503#test>
This is a different encoding of test 501.
DLConsistent: <description-logic/consistent503>

DLInconsistent document.504
Description: (informative) <description-logic/Manifest504#test>
This is a different encoding of test 502.
DLInconsistent: <description-logic/inconsistent504>

C.3.3. Difficult OWL Lite Tests

These tests are OWL Lite versions of the tests from the previous sections. The OWL DL constructions owl:unionOf, owl:complementOf, owl:disjointWith have been systematically replaced with OWL Lite equivalents.

LiteInconsistent document.601
Description: (informative) <description-logic/Manifest601#test>
DL Test: fact1.1 If a, b and c are disjoint, then: (a and b) or (b and c) or (c and a) is unsatisfiable.
LiteInconsistent: <description-logic/inconsistent601>

LiteInconsistent document.644
Description: (informative) <description-logic/Manifest644#test>
DL Test: heinsohn1.4 Tbox tests from [Heinsohn et al.] Tests incoherency caused by disjoint concept
LiteInconsistent: <description-logic/inconsistent644>

LiteInconsistent document.646
Description: (informative) <description-logic/Manifest646#test>
DL Test: heinsohn2.2 Tbox tests from [Heinsohn et al.] Tests incoherency caused by number restrictions
LiteInconsistent: <description-logic/inconsistent646>

LiteInconsistent document.650
Description: (informative) <description-logic/Manifest650#test>
DL Test: heinsohn4.1 Tbox tests from [Heinsohn et al.] Tests role restrictions
LiteInconsistent: <description-logic/inconsistent650>

LitePositive Entailment Test:661
Description: (informative) <description-logic/Manifest661#test>
DL Test: k_branch ABox test from DL98 systems comparison.
LitePremises: <description-logic/premises661>
LiteConclusions: <description-logic/conclusions661>

LitePositive Entailment Test:662
Description: (informative) <description-logic/Manifest662#test>
DL Test: k_d4 ABox test from DL98 systems comparison.
LitePremises: <description-logic/premises662>
LiteConclusions: <description-logic/conclusions662>

LitePositive Entailment Test:663
Description: (informative) <description-logic/Manifest663#test>
DL Test: k_dum ABox test from DL98 systems comparison.
LitePremises: <description-logic/premises663>
LiteConclusions: <description-logic/conclusions663>

LitePositive Entailment Test:664
Description: (informative) <description-logic/Manifest664#test>
DL Test: k_grz ABox test from DL98 systems comparison.
LitePremises: <description-logic/premises664>
LiteConclusions: <description-logic/conclusions664>

LitePositive Entailment Test:665
Description: (informative) <description-logic/Manifest665#test>
DL Test: k_lin ABox test from DL98 systems comparison.
LitePremises: <description-logic/premises665>
LiteConclusions: <description-logic/conclusions665>

LitePositive Entailment Test:666
Description: (informative) <description-logic/Manifest666#test>
DL Test: k_path ABox test from DL98 systems comparison.
LitePremises: <description-logic/premises666>
LiteConclusions: <description-logic/conclusions666>

LitePositive Entailment Test:667
Description: (informative) <description-logic/Manifest667#test>
DL Test: k_ph ABox test from DL98 systems comparison.
LitePremises: <description-logic/premises667>
LiteConclusions: <description-logic/conclusions667>

LitePositive Entailment Test:668
Description: (informative) <description-logic/Manifest668#test>
DL Test: k_poly ABox test from DL98 systems comparison.
LitePremises: <description-logic/premises668>
LiteConclusions: <description-logic/conclusions668>

C.3.4. Extended Cardinality Testing

DLConsistent document.905
Description: (informative) <description-logic/Manifest905#test>
This test shows integer multiplication in OWL DL.

N is 2. M is 3. N times M is 6.
DLConsistent: <description-logic/consistent905>

DLConsistent document.906
Description: (informative) <description-logic/Manifest906#test>
This test shows integer multiplication in OWL DL.

N is 20. M is 30. N times M is 600.
DLConsistent: <description-logic/consistent906>

DLConsistent document.907
Description: (informative) <description-logic/Manifest907#test>
This test shows integer multiplication in OWL DL.

N is 200. M is 300. N times M is 600.
DLConsistent: <description-logic/consistent907>

DLConsistent document.908
Description: (informative) <description-logic/Manifest908#test>
This test shows integer multiplication in OWL DL, interacting with infinity.

N times infinity is 2 times infinity. M times infinity is 3 times infinity. N times M times infinity is 5 times infinity.
DLConsistent: <description-logic/consistent908>

DLInconsistent document.909
Description: (informative) <description-logic/Manifest909#test>
This test shows integer multiplication in OWL DL.

For some finite K, N times K is 2 times K. M times K is 3 times K. N times M times K is not 5 times K.
DLInconsistent: <description-logic/inconsistent909>

DLInconsistent document.910
Description: (informative) <description-logic/Manifest910#test>
This test shows integer multiplication in OWL DL.

N is 20. M is 30. N times M is not 601.
DLInconsistent: <description-logic/inconsistent910>

C.4. Miscellaneous Tests

These tests are ones that do not fit any other category. Some are taken from the [OWL Guide]; others reflect various aspects of OWL, that were not formal issues addressed by the working group.

C.4.1. Detailed OWL Lite and OWL DL Syntax

These tests illustrate detailed points about the mapping rules in [OWL Semantics and Abstract Syntax], and the syntax of OWL Lite and OWL DL.

DLConsistent document.102
Description: (informative) <miscellaneous/Manifest102#test>
Abstract syntax restrictions with multiple components are in OWL DL.
DLConsistent: <miscellaneous/consistent102>

DLConsistent document.103
Description: (informative) <miscellaneous/Manifest103#test>
This description cannot be expressed as a multicomponent restriction in the abstract syntax.
DLConsistent: <miscellaneous/consistent103>

C.4.2. Concerning rdf:XMLLiteral

These tests illustrate the use of rdf:XMLLiteral.

LiteConsistent document.201
Description: (informative) <miscellaneous/Manifest201#test>
This test shows how user labels in a variety of languages can be used. Note the use of ruby annotation.
Datatypes that may or may not be supported: rdf:XMLLiteral,
LiteConsistent: <miscellaneous/consistent201>

LiteConsistent document.202
Description: (informative) <miscellaneous/Manifest202#test>
This shows that insignificant whitespace in an rdf:XMLLiteral is not significant within OWL.
Datatypes that may or may not be supported: rdf:XMLLiteral,
LiteConsistent: <miscellaneous/consistent202>

LiteInconsistent document.203
Description: (informative) <miscellaneous/Manifest203#test>
This shows that initial whitespace in an rdf:XMLLiteral is significant within OWL.
Required datatype support: rdf:XMLLiteral,
LiteInconsistent: <miscellaneous/inconsistent203>

LiteInconsistent document.204
Description: (informative) <miscellaneous/Manifest204#test>
This shows a simple inconsistency depending on the datatype rdf:XMLLiteral. This file is inconsistent with a datatype theory which supports rdf:XMLLiteral, and consistent otherwise.
Required datatype support: rdf:XMLLiteral,
LiteInconsistent: <miscellaneous/inconsistent204>

LiteConsistent document.205
Description: (informative) <miscellaneous/Manifest205#test>
This shows that an OWL consistency checker which does not support the datatype rdf:XMLLiteral should not detect inconsistencies depending on it. This file is inconsistent with a datatype theory which supports rdf:XMLLiteral, but consistent in this test, which excludes such support.
Datatypes that must not be supported: rdf:XMLLiteral,
LiteConsistent: <miscellaneous/consistent205>

C.4.3. Annotations

These tests concern the semantics of annotations.

FullNegative Entailment Test:301
Description: (informative) <miscellaneous/Manifest301#test>
Annotations participate a little in the semantics.
FullPremises: <miscellaneous/premises301>
FullConclusions: <miscellaneous/nonconclusions301>

LiteNegative Entailment Test:302
Description: (informative) <miscellaneous/Manifest302#test>
Annotations participate a little in the semantics.
LitePremises: <miscellaneous/premises302>
LiteConclusions: <miscellaneous/nonconclusions302>

LiteConsistent document.303
Description: (informative) <miscellaneous/Manifest303#test>
dc:creator may be declared as an annotation property.
LiteConsistent: <miscellaneous/consistent303>

C.5. Extra Credit (Informative)

There is no expectation that any implementation will successfully run the tests in this section; any that do gain extra credit.

The intent is to illustrate the semantics of OWL, particularly OWL Full, as specified by [OWL Semantics and Abstract Syntax], with the specific goal of showing that it is possible to say things that it is not reasonable to expect an implementation to completely understand.

C.5.1. Arithmetic in OWL

Tests that show the relationship between OWL and simple arithmetic.

FullPositive Entailment Test:002
Description: (informative) <extra-credit/Manifest002#test>
This test shows a relationship between integer multiplication and OWL Full.
Required datatype support: xsd:int,
FullPremises: <extra-credit/premises002>
FullConclusions: <extra-credit/conclusions002>

FullPositive Entailment Test:003
Description: (informative) <extra-credit/Manifest003#test>
Prime factorization can be expressed in OWL Full.
Required datatype support: xsd:int,
FullPremises: <extra-credit/premises003>
FullConclusions: <extra-credit/conclusions003>

FullPositive Entailment Test:004
Description: (informative) <extra-credit/Manifest004#test>
A more difficult prime factorization example.
Required datatype support: xsd:int,
FullPremises: <extra-credit/premises004>
FullConclusions: <extra-credit/conclusions004>

D. Index

This index does not differentiate between approved and proposed tests.

D.1. Index of OWL Feature Tests

AllDifferent
001.
DatatypeProperty
001.
FunctionalProperty
001; 002; 003; 004; 005.
InverseFunctionalProperty
001; 002; 003; 004.
Nothing
001; 002.
SymmetricProperty
001.
TransitiveProperty
001.
allValuesFrom
001; 002.
cardinality
001; 002; 003; 004; 006; 007.
complementOf
001.
differentFrom
001; 002.
disjointWith
001; 002.
distinctMembers
001.
equivalentClass
001; 002; 003; 004; 005; 006; 007; 008.
equivalentProperty
001; 002; 003; 004; 005; 006.
imports
001; 002; 003; 004; 005; 006; 007; 008; 010.
intersectionOf
001.
inverseOf
001.
maxCardinality
001; 002.
oneOf
001; 002; 003; 004.
sameIndividualAs
001.
someValuesFrom
001; 002.
unionOf
001; 002.

D.2. Index of OWL Issue Tests

I3.2 Qualified Restrictions
001; 002; 003.
I3.4 UnambiguousProperty
001.
I4.1 UniqueProp BadName
001.
I4.6 EquivalentTo
001; 002; 003; 004; 005.
I5.1 Uniform treatment of literal data values
001; 010.
I5.2 Language Compliance Levels
001; 002; 003; 004; 005; 006; 010; 011.
I5.24 IF-or-IFF-property-properties
001; 002; 003; 004.
I5.3 Semantic-Layering
005; 006; 007; 008; 009; 010; 011.
I5.5 List syntax or semantics
001; 002; 003; 004.
I5.8 Datatypes
001; 002; 003; 004; 005; 006; 007; 008; 009; 010; 011; 012.

D.3. Index of Miscellaneous Tests

Examples from the OWL Guide
001; 002.
Detailed OWL Lite and OWL DL Syntax
102; 103.
Concerning rdf:XMLLiteral
201; 202; 203; 204; 205.
Annotations
301; 302; 303.

D.4. Index of Description Logic Tests

Extended Satisfiability Tests
001; 002; 003; 004; 005; 006; 007; 008; 009; 010; 011; 012; 013; 014; 015; 016; 017; 018; 019; 020; 021; 022; 023; 024; 025; 026; 027; 028; 029; 030; 031; 032; 033; 034.
Heinsohn's Tests
101; 102; 103; 104; 105; 106; 107; 108; 109; 110; 111.
DL 98 Instance Tests
201; 202; 203; 204; 205; 206; 207; 208.
The 3 SAT Problem
501; 502; 503; 504.
Difficult OWL Lite Tests
601; 602; 603; 604; 605; 606; 608; 609; 610; 611; 612; 613; 614; 615; 616; 617; 623; 624; 625; 626; 627; 628; 629; 630; 631; 632; 633; 634; 641; 642; 643; 644; 646; 650; 661; 662; 663; 664; 665; 666; 667; 668.
Extended Cardinality Testing
901; 902; 903; 904; 905; 906; 907; 908; 909; 910.

D.5. Index of Extra Credit Tests

Arithmetic in OWL
002; 003; 004.

E. Acknowledgments (Informative)

Jeremy Carroll thanks Oreste Signore, his host at the W3C Office in Italy and Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo", part of the Consiglio Nazionale delle Ricerche, where Jeremy is a visiting researcher.

The following people have contributed tests to this document: Sean Bechhofer, Ian Horrocks, Peter F. Patel-Schneider, Jeff Heflin, Jonathan Borden, Guide editors, Dan Connolly, Martin Dürst, Masayasu Ishikawa, Jim Hendler, and the editors.

Ian Horrocks contributed to the conformance section of this document.

This document is the result of extensive discussions within the Web Ontology Working Group as a whole. The members of this group working group included: Yasser al Safadi, Jean-François Baget, James Barnette, Sean Bechhofer, Jonathan Borden, Frederik Brysse, Stephen Buswell, Peter Crowther, Jos De Roo, David De Roure, Mike Dean, Larry Eshelman, Jérôme Euzenat, Dieter Fensel, Tim Finin, Nicholas Gibbins, Pat Hayes, Jeff Heflin, Ziv Hellman, James Hendler, Bernard Horan, Masahiro Hori, Ian Horrocks, Francesco Iannuzzelli, Mario Jeckle, Ruediger Klein, Ora Lassila, Alexander Maedche, Massimo Marchiori, Deborah McGuinness, Libby Miller, Enrico Motta, Leo Obrst, Laurent Olivry , Peter Patel-Schneider, Martin Pike, Marwan Sabbouh, Guus Schreiber, Shimizu Noboru, Michael Sintek, Michael Smith, Ned Smith, John Stanton, Lynn Andrea Stein, Herman ter Horst, Lynne R. Thompson, David Trastour, Frank van Harmelen, Raphael Volz, Evan Wallace, Christopher Welty, and John Yanosy.

F. Change Log

This section gives the changes resulting from last call comments on the OWL Working Drafts. In addition, other changes to the tests are also listed.

F.1. Last Call Changes

Each change is linked to the minutes where the decision was made, and the tests that changed are listed.

RESOLVED: to add owl:Nothing to owl lite
The following tests changed from DL to Lite as a result: Nothing-001, Language Compliance Levels I5.2-002.

G. References

Normative

[OWL Semantics and Abstract Syntax]
OWL Web Ontology Language Semantics and Abstract Syntax. Peter F. Patel-Schneider, Patrick Hayes, and Ian Horrocks. W3C Working Draft 03 February 2003. Latest version is available at http://www.w3.org/TR/owl-semantics/.
[RFC 2119]
RFC 2119 - Key words for use in RFCs to Indicate Requirement Levels . S. Bradner, IETF. March 1997. This document is http://www.ietf.org/rfc/rfc2119.txt.
[RDF Concepts]
RDF Concepts and Abstract Syntax. Graham Klyne and Jeremy J. Carroll, eds. W3C Working Draft 23 January 2003. Latest version is available at http://www.w3.org/TR/rdf-concepts/.
[RDF Schema for OWL]
http://www.w3.org/2002/07/owl. Mike Dean, ed. World Wide Web Consortium.
[RDF/XML Syntax]
RDF/XML Syntax Specification (Revised). Dave Beckett, ed. W3C Working Draft 23 January 2003. Latest version is available at http://www.w3.org/TR/rdf-syntax-grammar/.
[XML Schema Datatypes]
XML Schema Part 2: Datatypes.. Paul V. Biron and Ashok Malhotra, eds. W3C Recommendation 02 May 2000. Latest version is available at http://www.w3.org/TR/xmlschema-2/.

Informative

[DAML+OIL]
DAML+OIL (March 2001) Reference Description. Dan Connolly, Frank van Harmelen, Ian Horrocks, Deborah L. McGuinness, Peter F. Patel-Schneider, and Lynn Andrea Stein. W3C Note 18 December 2001. Latest version is available at http://www.w3.org/TR/daml+oil-reference.
[Dublin Core]
http://dublincore.org/documents/
[N3]
Primer: Getting into RDF & Semantic Web using N3 Tim Berners-Lee, Dan Connolly
[OWL Guide]
OWL Web Ontology Language Guide. Michael K. Smith, Chris Welty, Deborah McGuinness, eds. 31 March 2003. The latest version of the OWL Guide is at http://www.w3.org/TR/owl-guide/.
[OWL Issues]
Web Ontology Issue Status. Michael K. Smith, ed. 26 Feb 2003.
[RDF Test Cases]
RDF Test Cases, A. Barstow, D. Beckett, J. Grant, Editors. Work in progress. World Wide Web Consortium, 23 January 2003. This version of the RDF Test Cases is http://www.w3.org/TR/2003/WD-rdf-testcases-20030123/. The latest version of the RDF Test Cases is at http://www.w3.org/TR/rdf-testcases/.
[W3C CVS]
Use of CVS in W3C (member-only link). Henrik Frystyk Nielsen, Gerald Oskoboiny. 2002.
[XHTML]
XHTML 1.0: The Extensible HyperText Markup Language, W3C Recommendation, S. Pemberton et al., 26 January 2000.
Available at: http://www.w3.org/TR/2000/REC-xhtml1-20000126
[XMLBASE]
XML Base, J. Marsh, Editor, W3C Recommendation. World Wide Web Consortium, 27 June 2001. This version of XML Base is http://www.w3.org/TR/2001/REC-xmlbase-20010627/. The latest version of XML Base is at http://www.w3.org/TR/xmlbase/.
[Practical Reasoning]
Practical reasoning for expressive description logics, I. Horrocks, U. Sattler, and S. Tobies, 1999, in Proc. of LPAR'99, vol. 1705 of LNAI.
[XP]
Extreme Programming Explained: Embrace Change, Kent Beck. 5 Oct 1999. Addison-Wesley. ISBN 0201616416.
[Heinsohn et al.]
AI 68 (1994) pp367-397.
[DIMACS]
Satisfiability Suggested Format challenge@dimacs.rutgers.edu Found at ftp://dimacs.rutgers.edu/pub/challenge/satisfiability/doc/satformat.tex May 8, 1993.
[DL 98 Systems Comparison]
DL Systems Comparison at 1998 International Workshop on Description Logics (DL 98). Peter F. Patel-Schneider, Ian Horrocks. June, 1998.