W3C

Web Ontology Language (OWL) Test Cases

Working Draft 04 February 2003

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

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

This section describes the status of this document at the time of its publication. ther documents may supersede this document. The latest status of this document series is maintained at the W3C.

This is the Last Call Working Draft of "OWL Test Cases" for review by members of the W3C and other interested parties in the general public. The Last Call review is intended primarily to review the text of this document. The tests are still in development and are being changed during the last call review period, up to the publication of the corresponding Proposed Recommendation. Each test may be edited or have a change of status according to the process specified below. Further tests are being added. An editors' version of this document, with the latest tests, can be found at http://www.w3.org/2002/03owlt/editors-draft/snapshot. Other resulting changes expected before Proposed Recommendation are indicated by editors' notes. Despite this flux, the working group would value implementor feedback on the tests both in this document and those found in the editors' version. The Last Call review period ends 07 March 2003.

This document is subsidiary to the normative definition of the Web Ontology Language [OWL Abstract Syntax and Semantics]).

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than "work in progress". A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.

Patent disclosures relevant to this specification may be found on the Working Group's public patent disclosure page.

Comments on this document should be sent to public-webont-comments@w3.org, a mailing list with a public archive. General discussion of related technology is welcome in www-rdf-logic@w3.org (archive).

This document has been produced as part of the W3C Semantic Web Activity (Activity Statement) following the procedures set out for the W3C Process. The document has been written by the Web Ontology Working Group. The goals of the Web Ontology working group are discussed in the Web Ontology Working Group charter.


Table of Contents


1. Introduction

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

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 Abstract Syntax and Semantics].

However, the test cases do not constitute a conformance test suite for 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.

2.2. Conflict Resolution

When the normative tests and the other normative OWL recommendations diverge the following process should be followed.

If the OWL working drafts are at or before Proposed Recommendation then:

  1. The conflict is reported to public-webont-comments@w3.org.
  2. The working group makes appropriate modifications to remove the conflict.

If the OWL recommendation has passed Proposed Recommendation then:

  1. The conflict is reported to public-webont-comments@w3.org.
  2. The working group, or its successors, considers the conflict.

    While this happens the other recommendation documents take precedence over the test case.
  1. If there is working group consensus to retain the test case as normative and to publish an erratum against the other recommendation document(s) then this is done.
  2. Otherwise an erratum is published which deletes the test case.

Note: this last step does not require consensus, or even a majority.

Note: the errata process over the tests is monotonic decreasing; i.e. after Proposed Recommendation, any system that passes all the test cases will necessarily pass all the test case with errata.

3. Test Types (Normative)

Each test consists of either 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.

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.

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 Abstract Syntax and Semantics], (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 Abstract Syntax and Semantics], (see also OWL Full entailment).

3.4. True Tests

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

3.5. OWL for OWL

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 Abstract Syntax and Semantics]. 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 Abstract Syntax and Semantics], (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 Abstract Syntax and Semantics], (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 beginning supportNNN.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 Abstract Syntax and Semantics], (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 an RDF/XML document [RDF/XML Syntax], for which the corresponding RDF graph [RDF Concepts] does not use 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 DL document is an OWL Full document such that the imports closure [OWL Abstract Syntax and Semantics] 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 Abstract Syntax and Semantics] of the corresponding RDF graph [RDF Concepts] is an OWL Lite ontology in RDF graph form.

4.1.2. Semantic Conformance

A consistent OWL document is an OWL Full document for which the corresponding RDF graph [RDF Concepts] is consistent according to the [OWL Abstract Syntax and Semantics].

4.2. Software 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 outputs one word being one of Lite, DL, Full, Other.

The output 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.

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 outputs one word being Consistent, Inconsistent, or Unknown.

Five different conformance classes of OWL consistency checker are defined.

An OWL consistency checker MUST NOT output Consistent unless the input document is a consistent OWL document.

An OWL consistency checker MUST NOT output Inconsistent unless the input document is not a consistent OWL document.

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

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.

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. Every OWL Lite consistency checker can be trivially transformed into an OWL Full consistency checker.

The different levels are intended to be used to indicate the intended domain of a consistency checker.

Note: there are trivial implementations of these consistency checkers; for example, one which always outputs Unknown.

A complete OWL Lite consistency checker is an OWL consistency checker that takes an OWL Lite document as input, and is logically complete with respect to [OWL Abstract Syntax and Semantics] over the set of all OWL Lite documents.

A complete OWL DL consistency checker is an OWL consistency checker that takes an OWL DL document as input, and is logically complete with respect to [OWL Abstract Syntax and Semantics] over the set of all OWL DL documents.

Note: Complete OWL DL consistency checkers and Complete OWL Lite consistency checkers MAY return Unknown on an OWL DL document or OWL Lite document in the case where a resource limit has been exceeded.

5. Testing an OWL Implementation (Informative)

[WG note: The use of must, should etc. is consistent with [RFC 2119], but since this section is informative I have not imported the definitions.]

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 Lite consistency checker, when presented with a file from an OWL Lite consistency test, must output Consistent or Unknown.

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

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

The corresponding inconsistency tests must result in output of Inconsistent or Unknown.

A complete OWL Lite consistency checker or a complete OWL DL consistency checker should not return Unknown on the relevant consistency or inconsistency tests.

Many of the non-entailment tests can be converted into consistency tests by negating the conclusions. Many of the entailment tests can be converted into inconsistency tests by negating the conclusions. When this process is applied to an OWL Lite entailment or non-entailment, the resulting consistent or inconsistent document is usually an OWL DL document.

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 us of OWL namespace.
otest:PositiveEntailmentTest
An entailment test.
otest:NegativeEntailmentTest
A non-entailment test.
otest:TrueTest
A true test.
otest:OWLforOWL
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 and import level tests 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).

7. The OWL Tests (Normative)

7.1. By Function

7.1.1. owl:FunctionalProperty

FullPositive Entailment Test:001
Description: (informative)
If prop belongs to owl:FunctionalProperty, and subject denotes a resource and has two outgoing prop arcs, then the objects of these arcs have the same denotation.
FullPremises:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:first="http://www.w3.org/2002/03owlt/FunctionalProperty/premises001#" 
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises001" >
    <owl:FunctionalProperty rdf:ID="prop"/>
    <rdf:Description rdf:ID="subject">
      <first:prop rdf:resource="#object1" />
      <first:prop rdf:resource="#object2" />
    </rdf:Description>
</rdf:RDF>
FullConclusions:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions001" >
    <rdf:Description rdf:about="premises001#object1">
      <owl:sameIndividualAs rdf:resource="premises001#object2" />
    </rdf:Description>
</rdf:RDF>

FullPositive Entailment Test:002
Description: (informative)
If prop belongs to owl:FunctionalProperty, and subject denotes a resource and has two outgoing prop arcs, then the objects of these arcs have the same denotation. Hence an arc originating in object1 can be copied to object2.
FullPremises:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:eg ="http://www.example.org/"
  xmlns:first="http://www.w3.org/2002/03owlt/FunctionalProperty/premises002#" 
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises002" >
    <owl:FunctionalProperty rdf:ID="prop"/>
    <rdf:Description rdf:ID="subject">
      <first:prop>
          <rdf:Description rdf:ID="object1">
            <eg:prop2>value</eg:prop2>
          </rdf:Description>
      </first:prop>
      <first:prop rdf:resource="#object2" />
    </rdf:Description>
</rdf:RDF>
FullConclusions:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:eg ="http://www.example.org/"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions002" >
    <rdf:Description rdf:about="premises002#object2" >
        <eg:prop2>value</eg:prop2>
    </rdf:Description>
</rdf:RDF>

7.1.2. owl:InverseFunctionalProperty

FullPositive Entailment Test:001
Description: (informative)
If prop belongs to owl:InverseFunctionalProperty, and object denotes a resource and has two incoming prop arcs, then the subjects of these arcs have the same denotation.
FullPremises:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:first="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises001#" 
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises001" >
    <owl:InverseFunctionalProperty rdf:ID="prop"/>
    <rdf:Description rdf:ID="subject1">
      <first:prop rdf:resource="#object" />
    </rdf:Description>
    <rdf:Description rdf:ID="subject2">
      <first:prop rdf:resource="#object" />
    </rdf:Description>
</rdf:RDF>
FullConclusions:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/conclusions001" >
    <rdf:Description rdf:about="premises001#subject1">
      <owl:sameIndividualAs rdf:resource="premises001#subject2" />
    </rdf:Description>
</rdf:RDF>

FullPositive Entailment Test:002
Description: (informative)
If prop belongs to owl:InverseFunctionalProperty, and object denotes a resource and has two incoming prop arcs, then the subjects of these arcs have the same denotation. Hence an arc originating in subject1 can be copied to subject2.
FullPremises:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:eg ="http://www.example.org/"
  xmlns:first="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises002#" 
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises002" >
    <owl:InverseFunctionalProperty rdf:ID="prop"/>
    <rdf:Description rdf:ID="subject1" >
      <first:prop rdf:resource="#object" />
      <eg:prop2>value</eg:prop2>
    </rdf:Description>
    <rdf:Description rdf:ID="subject2" >
      <first:prop rdf:resource="#object" />
    </rdf:Description>
</rdf:RDF>
FullConclusions:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:eg ="http://www.example.org/"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/conclusions002" >
    <rdf:Description rdf:about="premises002#subject2" >
      <eg:prop2>value</eg:prop2>
    </rdf:Description>
</rdf:RDF>

7.1.3. owl:inverseOf

FullPositive Entailment Test:001
Description: (informative)
If the pair (x,y) is an instance of P, than the pair (y,x) is an instance of the named property.
FullPremises:
<rdf:RDF 
    xmlns:my="http://example.net/myVocab#"
    xmlns:eg="http://example.net/vocab#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:your="http://example.net/yourVocab#">

    <rdf:Description rdf:about="http://example.net/myVocab#hasBrother">
        <owl:inverseOf rdf:resource="http://example.net/yourVocab#isBrotherOf"/>
    </rdf:Description>

    <rdf:Description rdf:about="http://example.net/vocab#joe">
        <my:hasBrother rdf:resource="http://example.net/vocab#bob"/>
    </rdf:Description>
</rdf:RDF>
FullConclusions:
<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:your="http://example.net/yourVocab#">

    <rdf:Description rdf:about="http://example.net/vocab#bob">
        <your:isBrotherOf rdf:resource="http://example.net/vocab#joe"/>
    </rdf:Description>
</rdf:RDF>

7.2. By Issue

7.2.1. Qualified Restrictions

LiteIllegal use of OWL namespace.001
Description: (informative)
A DAML+OIL qualified cardinality constraint is not legal OWL.
LiteIncorrect:
<!DOCTYPE rdf:RDF [ 
   <!ENTITY owl "http://www.w3.org/2002/07/owl#">
]> 

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:eg="http://example.org/"
         xmlns:owl="&owl;"
    >

   <owl:Restriction owl:cardinalityQ="1">
      <owl:onProperty rdf:resource="#exampleProp"/>
      <owl:hasClassQ rdf:resource="#exampleClass"/>
   </owl:Restriction>
  
</rdf:RDF>

LiteIllegal use of OWL namespace.002
Description: (informative)
A DAML+OIL qualified max cardinality constraint is not legal OWL.
LiteIncorrect:
<!DOCTYPE rdf:RDF [ 
   <!ENTITY owl "http://www.w3.org/2002/07/owl#">
]> 

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:owl="&owl;"
    >
   <owl:Restriction owl:maxCardinalityQ="1">
      <owl:onProperty rdf:resource="#exampleProp"/>
      <owl:hasClassQ rdf:resource="#exampleClass"/>
   </owl:Restriction>
  
</rdf:RDF>

LiteIllegal use of OWL namespace.003
Description: (informative)
A DAML+OIL qualified min cardinality constraint is not legal OWL.
LiteIncorrect:
<!DOCTYPE rdf:RDF [ 
   <!ENTITY owl "http://www.w3.org/2002/07/owl#">
]> 


<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:eg="http://example.org/"
         xmlns:owl="&owl;"
    >

   <owl:Restriction owl:minCardinalityQ="1">
      <owl:onProperty rdf:resource="#exampleProp"/>
      <owl:hasClassQ rdf:resource="#exampleClass"/>
   </owl:Restriction>
  
</rdf:RDF>

7.3. Additional Description Logic Tests

These tests are ones that are either known from the literature (specifically from [DL ref-1] and [DL ref-2]), or from test suites contributed by DL implementors (specifically some group and some other group).

Some actual tests in this category ...

7.4. Miscellaneous Tests

These tests, taken from the [OWL Guide] are ones that do not fit any other category.

wine.owl, and food.owl by reference rather than verbatim ...

7.5. Extra Credit (Informative)

There is no expectation that any implementation will successful 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 Abstract Syntax and Semantics], 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.

Some actual tests in this category ... Tests concerning prime factorization. tests concerning dominos and transitiveproperties with cardinality constraints. Tests concerning peculiar extensions of the OWL vocabulary.

A. Test Creation, Approval and Modification

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.

Many of the tests are proposed by Carroll and verified by De Roo's implementation.

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

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. Bag ID.
  3. 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.

C. The Tests as Triples (Informative)

This section repeats the normative tests.

This time the test data is shown in simple triples, using N-triple syntax [RDF Test Cases] with qnames. Qnames are used in place of URIs in the syntax with no delimiters. This syntax conforms with the usage in N3 [N3], the namespace prefixes are also declared using N3 syntax [N3].

Relative URLs in the triples are with respect to the following base: http://www.w3.org/2002/03owlt/.

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/2005/XMLSchema#
first
The URL of the first file concatenated with #
second
The URL of the second file concatenated with #

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/2005/XMLSchema#> .

Other namespaces are explicitly listed with the test data.

C.1. By Function

C.1.1. owl:FunctionalProperty

FullPositive Entailment Test:001
Description:
If prop belongs to owl:FunctionalProperty, and subject denotes a resource and has two outgoing prop arcs, then the objects of these arcs have the same denotation.
FullPremises:
first:prop rdf:type owl:FunctionalProperty .
first:subject first:prop first:object1 .
first:subject first:prop first:object2 .
FullConclusions:
first:object1 owl:sameIndividualAs first:object2 .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

FullPositive Entailment Test:002
Description:
If prop belongs to owl:FunctionalProperty, and subject denotes a resource and has two outgoing prop arcs, then the objects of these arcs have the same denotation. Hence an arc originating in object1 can be copied to object2.
Namespaces:
@prefix eg: <http://www.example.org/> .
FullPremises:
first:prop rdf:type owl:FunctionalProperty .
first:object1 eg:prop2 "value" .
first:subject first:prop first:object1 .
first:subject first:prop first:object2 .
FullConclusions:
first:object2 eg:prop2 "value" .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in conclusions002.

C.1.2. owl:InverseFunctionalProperty

FullPositive Entailment Test:001
Description:
If prop belongs to owl:InverseFunctionalProperty, and object denotes a resource and has two incoming prop arcs, then the subjects of these arcs have the same denotation.
FullPremises:
first:prop rdf:type owl:InverseFunctionalProperty .
first:subject1 first:prop first:object .
first:subject2 first:prop first:object .
FullConclusions:
first:subject1 owl:sameIndividualAs first:subject2 .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

FullPositive Entailment Test:002
Description:
If prop belongs to owl:InverseFunctionalProperty, and object denotes a resource and has two incoming prop arcs, then the subjects of these arcs have the same denotation. Hence an arc originating in subject1 can be copied to subject2.
Namespaces:
@prefix eg: <http://www.example.org/> .
FullPremises:
first:prop rdf:type owl:InverseFunctionalProperty .
first:subject1 first:prop first:object .
first:subject1 eg:prop2 "value" .
first:subject2 first:prop first:object .
FullConclusions:
first:subject2 eg:prop2 "value" .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in conclusions002.

C.1.3. owl:inverseOf

FullPositive Entailment Test:001
Description:
If the pair (x,y) is an instance of P, than the pair (y,x) is an instance of the named property.
Namespaces:
@prefix my: <http://example.net/myVocab#> .
@prefix your: <http://example.net/yourVocab#> .
@prefix eg: <http://example.net/vocab#> .
FullPremises:
my:hasBrother owl:inverseOf your:isBrotherOf .
eg:joe my:hasBrother eg:bob .
FullConclusions:
eg:bob your:isBrotherOf eg:joe .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

C.2. By Issue

C.2.1. Qualified Restrictions

LiteIllegal use of OWL namespace.001
Description:
A DAML+OIL qualified cardinality constraint is not legal OWL.
Namespaces:
@prefix eg: <http://example.org/> .
LiteIncorrect:
_:a rdf:type owl:Restriction .
_:a owl:cardinalityQ "1" .
_:a owl:onProperty first:exampleProp .
_:a owl:hasClassQ first:exampleClass .
Errors:
Incorrect copyright statement in bad001.

LiteIllegal use of OWL namespace.002
Description:
A DAML+OIL qualified max cardinality constraint is not legal OWL.
LiteIncorrect:
_:a rdf:type owl:Restriction .
_:a owl:maxCardinalityQ "1" .
_:a owl:onProperty first:exampleProp .
_:a owl:hasClassQ first:exampleClass .
Errors:
Incorrect copyright statement in bad002.

LiteIllegal use of OWL namespace.003
Description:
A DAML+OIL qualified min cardinality constraint is not legal OWL.
Namespaces:
@prefix eg: <http://example.org/> .
LiteIncorrect:
_:a rdf:type owl:Restriction .
_:a owl:minCardinalityQ "1" .
_:a owl:onProperty first:exampleProp .
_:a owl:hasClassQ first:exampleClass .
Errors:
Incorrect copyright statement in bad003.

C.3. Additional Description Logic Tests

These tests are ones that are either known from the literature (specifically from [DL ref-1] and [DL ref-2]), or from test suites contributed by DL implementors (specifically some group and some other group).

Some actual tests in this category ...

C.4. Miscellaneous Tests

These tests, taken from the [OWL Guide] are ones that do not fit any other category.

wine.owl, and food.owl by reference rather than verbatim ...

C.5. Extra Credit

There is no expectation that any implementation will successful 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 Abstract Syntax and Semantics], 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.

Some actual tests in this category ... Tests concerning prime factorization. tests concerning dominos and transitiveproperties with cardinality constraints. Tests concerning peculiar extensions of the OWL vocabulary.

D. Proposed Tests (Informative)

D.1. By Function

D.1.1. owl:FunctionalProperty

FullPositive Entailment Test:003
Description:
If prop is an owl:FunctionalProperty, then its inverse is an owl:InverseFunctionalProperty.
FullPremises:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises003" >
    <owl:FunctionalProperty rdf:ID="prop">
      <owl:inverseOf rdf:resource="#inv"/>
    </owl:FunctionalProperty>
</rdf:RDF>
FullConclusions:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions003" >
    <owl:InverseFunctionalProperty rdf:about="premises003#inv"/>
</rdf:RDF>

FullPositive Entailment Test:004
Description:
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:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"  
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises004" >
    <owl:ObjectProperty rdf:ID="prop">
      <rdfs:range rdf:resource="#Singleton"/>
    </owl:ObjectProperty>
    <rdfs:Class rdf:ID="Singleton">
      <owl:oneOf rdf:parseType="Collection">
          <rdf:Description/>
      </owl:oneOf>
    </rdfs:Class>
</rdf:RDF>
FullConclusions:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions004" >
    <owl:FunctionalProperty rdf:about="premises004#prop"/>
</rdf:RDF>

FullPositive Entailment Test:005
Description:
If prop belongs to owl:FunctionalProperty then an OWL object has at most one value for prop.
FullPremises:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:eg ="http://www.example.org/">
    <owl:FunctionalProperty rdf:about="http://www.example.org/foo#prop" />
    <owl:Thing rdf:about="http://www.example.org/foo#object" />
</rdf:RDF>
FullConclusions:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:eg ="http://www.example.org/">
    <owl:Thing rdf:about="http://www.example.org/foo#object">
      <rdf:type>
        <owl:Restriction>
   <owl:onProperty>
     <owl:FunctionalProperty rdf:about="http://www.example.org/foo#prop" />
   </owl:onProperty>
   <owl:maxCardinality 
      rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
      >1</owl:maxCardinality>
        </owl:Restriction>
      </rdf:type>
    </owl:Thing>
</rdf:RDF>

D.1.2. owl:InverseFunctionalProperty

FullPositive Entailment Test:003
Description:
If prop is an owl:InverseFunctionalProperty, then its inverse is an owl:FunctionalProperty.
FullPremises:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises003" >
    <owl:InverseFunctionalProperty rdf:ID="prop">
      <owl:inverseOf rdf:resource="#inv"/>
    </owl:InverseFunctionalProperty>
</rdf:RDF>
FullConclusions:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/conclusions003" >
    <owl:FunctionalProperty rdf:about="premises003#inv"/>
</rdf:RDF>

FullPositive Entailment Test:004
Description:
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:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"  
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises004" >
    <owl:ObjectProperty rdf:ID="prop">
      <rdfs:domain rdf:resource="#Singleton"/>
    </owl:ObjectProperty>
    <rdfs:Class rdf:ID="Singleton">
      <owl:oneOf rdf:parseType="Collection">
          <rdf:Description/>
      </owl:oneOf>
    </rdfs:Class>
</rdf:RDF>
FullConclusions:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/conclusions004" >
    <owl:InverseFunctionalProperty rdf:about="premises004#prop"/>
</rdf:RDF>

D.1.3. owl:Nothing

FullInconsistent document.001
Description:
The triple asserts something of type Nothing, however that is the empty class.
FullInconsistent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#">

  <owl:Nothing/>
</rdf:RDF>

FullPositive Entailment Test:002
Description:
There is one empty owl:Class, and it is often called Nothing.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    >


</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#">

   <owl:Class>
      <owl:oneOf rdf:parseType="Collection"/>
      <owl:sameClassAs  rdf:resource="http://www.w3.org/2002/07/owl#Nothing" />
   </owl:Class>

</rdf:RDF>

D.1.4. owl:SymmetricProperty

FullPositive Entailment Test:001
Description:
A simple illustration of symmetric properties.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/SymmetricProperty/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/SymmetricProperty/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/SymmetricProperty/premises001" >

    <rdf:Description rdf:about="premises001#Ghent">
        <first:path rdf:resource="premises001#Antwerp"/>
    </rdf:Description>

    <owl:SymmetricProperty rdf:about="premises001#path"/>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/SymmetricProperty/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/SymmetricProperty/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/SymmetricProperty/conclusions001" >

    <rdf:Description rdf:about="premises001#Antwerp">
        <first:path rdf:resource="premises001#Ghent"/>
    </rdf:Description>

</rdf:RDF>

D.1.5. owl:TransitiveProperty

FullPositive Entailment Test:001
Description:
A simple illustration of transitivity.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/TransitiveProperty/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/TransitiveProperty/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/TransitiveProperty/premises001" >

    <rdf:Description rdf:about="premises001#Antwerp">
        <first:path rdf:resource="premises001#Amsterdam"/>
    </rdf:Description>

    <rdf:Description rdf:about="premises001#Ghent">
        <first:path rdf:resource="premises001#Antwerp"/>
    </rdf:Description>

    <owl:TransitiveProperty rdf:about="premises001#path"/>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/TransitiveProperty/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/TransitiveProperty/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/TransitiveProperty/conclusions001" >

    <rdf:Description rdf:about="premises001#Ghent">
        <first:path rdf:resource="premises001#Amsterdam"/>
    </rdf:Description>

</rdf:RDF>

D.1.6. owl:allValuesFrom

LitePositive Entailment Test:001
Description:
A simple example.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/allValuesFrom/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/allValuesFrom/premises001" >
    <owl:Class rdf:ID="r">
      <rdfs:subClassOf>
        <owl:Restriction>
            <owl:onProperty rdf:resource="#p"/>
            <owl:allValuesFrom rdf:resource="#c"/>
        </owl:Restriction>
      </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty rdf:ID="p"/>
    <owl:Class rdf:ID="c"/>
    <first:r rdf:ID="i">
       <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
       <first:p>
         <owl:Thing rdf:ID="o" />
       </first:p>
    </first:r>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:first="http://www.w3.org/2002/03owlt/allValuesFrom/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/allValuesFrom/conclusions001" >
    <first:c rdf:about="premises001#o">
       <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    </first:c>
</rdf:RDF>

LiteNegative Entailment Test:002
Description:
See allValuesFrom.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/allValuesFrom/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/allValuesFrom/premises002" >
    <owl:Class rdf:ID="r">
      <rdfs:subClassOf>
        <owl:Restriction>
            <owl:onProperty rdf:resource="#p"/>
            <owl:allValuesFrom rdf:resource="#c"/>
        </owl:Restriction>
      </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty rdf:ID="p"/>

    <owl:Class rdf:ID="c"/>
    <first:r rdf:ID="i">
      <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    </first:r>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/allValuesFrom/premises002#"
    xmlns:second="http://www.w3.org/2002/03owlt/allValuesFrom/nonconclusions002#"
    xml:base="http://www.w3.org/2002/03owlt/allValuesFrom/nonconclusions002" >
    <owl:Thing rdf:about="premises002#i">
        <first:p>
           <first:c rdf:nodeID="o" />
         </first:p>
    </owl:Thing>
    <owl:Thing rdf:nodeID="o" />
</rdf:RDF>

D.1.7. owl:cardinality

LitePositive Entailment Test:001
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises001" >
    <owl:Class rdf:ID="c">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:cardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/conclusions001" >
    <owl:Class rdf:about="premises001#c">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="premises001#p"/>
                   <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:maxCardinality>
                </owl:Restriction>
                <owl:Restriction>
                   <owl:onProperty rdf:resource="premises001#p"/>
                   <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:minCardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:about="premises001#p"/>
</rdf:RDF>

LitePositive Entailment Test:002
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises002" >    
    <owl:Class rdf:about="conclusions002#c">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="conclusions002#p"/>
                   <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:maxCardinality>
                </owl:Restriction>
                <owl:Restriction>
                   <owl:onProperty rdf:resource="conclusions002#p"/>
                   <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:minCardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:about="conclusions002#p"/>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/conclusions002" >
    <owl:Class rdf:ID="c">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:cardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>

DLPositive Entailment Test:003
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
DLPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises003" >
    <owl:Class rdf:ID="c">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >2</owl:cardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
DLConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/conclusions003" >
    <owl:Class rdf:about="premises003#c">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="premises003#p"/>
                   <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >2</owl:maxCardinality>
                </owl:Restriction>
                <owl:Restriction>
                   <owl:onProperty rdf:resource="premises003#p"/>
                   <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >2</owl:minCardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:about="premises003#p"/>
</rdf:RDF>

DLPositive Entailment Test:004
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
DLPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises004" >    
    <owl:Class rdf:about="conclusions004#c">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="conclusions004#p"/>
                   <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >2</owl:maxCardinality>
                </owl:Restriction>
                <owl:Restriction>
                   <owl:onProperty rdf:resource="conclusions004#p"/>
                   <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >2</owl:minCardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:about="conclusions004#p"/>
</rdf:RDF>
DLConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/conclusions004" >
    <owl:Class rdf:ID="c">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >2</owl:cardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>

FullPositive Entailment Test:005
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises005" >
    <owl:Restriction  rdf:ID="c">
      <owl:onProperty rdf:resource="#p"/>
      <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
       >1</owl:cardinality>
    </owl:Restriction>
</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/conclusions005" >
    <rdf:Description rdf:about="premises005#c">
      <owl:intersectionOf rdf:parseType="Collection">
         <owl:Restriction>
            <owl:onProperty rdf:resource="premises005#p"/>
            <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
             >1</owl:maxCardinality>
          </owl:Restriction>
          <owl:Restriction>
          <owl:onProperty rdf:resource="premises005#p"/>
          <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
           >1</owl:minCardinality>
       </owl:Restriction>
     </owl:intersectionOf>
   </rdf:Description>
</rdf:RDF>

FullPositive Entailment Test:006
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises006" >    
  <rdf:Description rdf:about="conclusions006#c">
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Restriction>
           <owl:onProperty rdf:resource="conclusions006#p"/>
           <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
            >1</owl:maxCardinality>
         </owl:Restriction>
         <owl:Restriction>
            <owl:onProperty rdf:resource="conclusions006#p"/>
            <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
             >1</owl:minCardinality>
          </owl:Restriction>
       </owl:intersectionOf>
    </rdf:Description>
</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/conclusions006" >
  <rdf:Description  rdf:ID="c">
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Restriction>
           <owl:onProperty rdf:resource="#p"/>
           <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
           >1</owl:cardinality>
        </owl:Restriction>
      </owl:intersectionOf>
   </rdf:Description>
</rdf:RDF>

D.1.8. owl:complementOf

FullPositive Entailment Test:001
Description:
complementOf is a SymmetricProperty.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/complementOf/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/complementOf/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/complementOf/premises001" >

    <rdf:Description rdf:about="premises001#A">
        <owl:complementOf rdf:resource="premises001#B"/>
    </rdf:Description>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/complementOf/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/complementOf/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/complementOf/conclusions001" >

    <rdf:Description rdf:about="premises001#B">
        <owl:complementOf rdf:resource="premises001#A"/>
    </rdf:Description>

</rdf:RDF>

D.1.9. owl:differentFrom

FullPositive Entailment Test:001
Description:
differentFrom is a SymmetricProperty.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/differentFrom/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/differentFrom/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/differentFrom/premises001" >

    <rdf:Description rdf:about="premises001#a">
        <owl:differentFrom rdf:resource="premises001#b"/>
    </rdf:Description>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/differentFrom/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/differentFrom/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/differentFrom/conclusions001" >

    <rdf:Description rdf:about="premises001#b">
        <owl:differentFrom rdf:resource="premises001#a"/>
    </rdf:Description>

</rdf:RDF>

FullPositive Entailment Test:002
Description:
using distinctMembers to derive differentFrom
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/differentFrom/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/differentFrom/premises002" >

    <owl:AllDifferent> 
      <owl:distinctMembers rdf:parseType="Collection">
        <first:Person rdf:about="#Fred" />
        <first:Person rdf:about="#Wilma" />
        <first:Person rdf:about="#Barney" />
        <first:Person rdf:about="#Betty" />
      </owl:distinctMembers>
    </owl:AllDifferent> 

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/differentFrom/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/differentFrom/conclusions002" >

    <rdf:Description rdf:about="premises002#Barney">
        <owl:differentFrom rdf:resource="premises002#Wilma"/>
    </rdf:Description>

</rdf:RDF>

D.1.10. owl:disjointWith

DLPositive Entailment Test:001
Description:
Disjoint classes have different members.
DLPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:first="http://www.w3.org/2002/03owlt/disjointWith/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/disjointWith/premises001" >
   <owl:Class rdf:ID="A">
      <owl:disjointWith>
           <owl:Class rdf:ID="B"/>
      </owl:disjointWith>
   </owl:Class>
   <first:A rdf:ID="a"/>
   <owl:Thing rdf:about="#a"/>
   <first:B rdf:ID="b"/>
   <owl:Thing rdf:about="#b"/>
</rdf:RDF>
DLConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/disjointWith/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/disjointWith/conclusions001" >
    <owl:Thing rdf:about="premises001#a">
       <owl:differentFrom>
          <owl:Thing rdf:about="premises001#b"/>
       </owl:differentFrom>
    </owl:Thing>
</rdf:RDF>

FullPositive Entailment Test:002
Description:
Disjoint classes have different members; OWL Full.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/disjointWith/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/disjointWith/premises002" >

   <rdf:Description rdf:ID="A">
      <owl:disjointWith>
           <rdf:Description rdf:ID="B"/>
      </owl:disjointWith>
   </rdf:Description>
   <first:A rdf:ID="a"/>
   <first:B rdf:ID="b"/>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/disjointWith/conclusions002" >
    <rdf:Description rdf:about="premises002#a">
       <owl:differentFrom rdf:resource="premises002#b"/>
    </rdf:Description>
</rdf:RDF>

D.1.11. owl:imports

FullImport Entailment Test:001
Description:
If a document imports another document, then it entails anything that is entailed by the conjunction of the two documents.
Fullhttp://www.w3.org/2002/03owlt/imports/premises001
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
    xmlns:owl='http://www.w3.org/2002/07/owl#'
    xmlns:ont='http://www.w3.org/2002/03owlt/imports/support001-A#'
    xml:base='http://www.w3.org/2002/03owlt/imports/premises001' >

    <rdf:Description rdf:about=''>
        <owl:imports rdf:resource='http://www.w3.org/2002/03owlt/imports/support001-A'/>
    </rdf:Description>

    <ont:Man rdf:about='http://example.org/data#Socrates'/>

</rdf:RDF>
LiteImported Premises
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
    xmlns:owl='http://www.w3.org/2002/07/owl#'
    xml:base='http://www.w3.org/2002/03owlt/imports/support001-A' >

    <owl:Ontology rdf:about=''/>

    <owl:Class rdf:ID='Man'>
        <rdfs:subClassOf rdf:resource='#Mortal'/>
    </owl:Class>

    <owl:Class rdf:ID='Mortal'/>

</rdf:RDF>
Fullhttp://www.w3.org/2002/03owlt/imports/conclusions001
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
    xmlns:owl='http://www.w3.org/2002/07/owl#'
    xml:base='http://www.w3.org/2002/03owlt/imports/conclusions001' >

    <rdf:Description rdf:about='http://example.org/data#Socrates'>
        <rdf:type rdf:resource='http://www.w3.org/2002/03owlt/imports/support001-A#Mortal'/>
    </rdf:Description>

</rdf:RDF>

FullNegative Entailment Test:002
Description:
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:
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
    xmlns:owl='http://www.w3.org/2002/07/owl#'
    xmlns:ont='http://www.w3.org/2002/03owlt/imports/support002-A#'
    xml:base='http://www.w3.org/2002/03owlt/imports/premises002' >

    <ont:Man rdf:about='http://example.org/data#Socrates'/>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
    xmlns:owl='http://www.w3.org/2002/07/owl#'
    xml:base='http://www.w3.org/2002/03owlt/imports/nonconclusions002' >

    <rdf:Description rdf:about='http://example.org/data#Socrates'>
        <rdf:type rdf:resource='http://www.w3.org/2002/03owlt/imports/support002-A#Mortal'/>
    </rdf:Description>

</rdf:RDF>

FullImport Entailment Test:003
Description:
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.
Fullhttp://www.w3.org/2002/03owlt/imports/premises003
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
    xmlns:owl='http://www.w3.org/2002/07/owl#'
    xmlns:ont='http://www.w3.org/2002/03owlt/imports/support003-A#'
    xml:base='http://www.w3.org/2002/03owlt/imports/premises003' >

    <rdf:Description rdf:about=''>
        <owl:imports rdf:resource='http://www.w3.org/2002/03owlt/imports/support003-A'/>
    </rdf:Description>

    <ont:Man rdf:about='http://example.org/data#Socrates'/>

</rdf:RDF>
LiteImported Premises
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
    xmlns:owl='http://www.w3.org/2002/07/owl#'
    xml:base='http://www.w3.org/2002/03owlt/imports/support003-A' >

    <owl:Ontology rdf:about=''>
        <owl:imports rdf:resource='http://www.w3.org/2002/03owlt/imports/support003-B'/>
    </owl:Ontology>

    <owl:Class rdf:ID='Man'>
        <rdfs:subClassOf rdf:resource='#Person'/>
    </owl:Class>

    <owl:Class rdf:ID='Person'/>

</rdf:RDF>
LiteImported Premises
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
    xmlns:owl='http://www.w3.org/2002/07/owl#'
    xml:base='http://www.w3.org/2002/03owlt/imports/support003-B' >

    <owl:Ontology rdf:about=''/>

    <owl:Class rdf:about='http://www.w3.org/2002/03owlt/imports/support003-A#Person'>
        <rdfs:subClassOf rdf:resource='#Mortal'/>
    </owl:Class>

    <owl:Class rdf:ID='Mortal'/>

</rdf:RDF>
Fullhttp://www.w3.org/2002/03owlt/imports/conclusions003
<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
    xmlns:owl='http://www.w3.org/2002/07/owl#'
    xml:base='http://www.w3.org/2002/03owlt/imports/conclusions003' >

    <rdf:Description rdf:about='http://example.org/data#Socrates'>
        <rdf:type rdf:resource='http://www.w3.org/2002/03owlt/imports/support003-B#Mortal'/>
    </rdf:Description>

</rdf:RDF>

FullImports Level Test:004
Description:
Importing OWL Full documents may change the level of OWL Lite or OWL DL documents.
FullImported document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/imports/imports004" >
    <rdfs:Class rdf:ID="c" />
</rdf:RDF>
FullMain document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/imports/main004" >
    <owl:Ontology rdf:about="">
      <owl:imports rdf:resource="imports004" />
    </owl:Ontology>
</rdf:RDF>

DLImports Level Test:005
Description:
OWL DL documents cannot be imported by OWL Lite documents.
DLImported document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/imports/imports005" >
    <owl:Class rdf:ID="c">
      <owl:oneOf rdf:parseType="Collection">
        <owl:Thing rdf:ID="x"/>
      </owl:oneOf>
    </owl:Class>
</rdf:RDF>
DLMain document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/imports/main005" >
    <owl:Ontology rdf:about="">
      <owl:imports rdf:resource="imports005" />
    </owl:Ontology>
</rdf:RDF>

LiteImports Level Test:006
Description:
The type declarations required by semantic layering can be imported into an OWL Lite or OWL DL file.
LiteImported document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/imports/imports006" >
    <owl:Class rdf:ID="c"/>
</rdf:RDF>
LiteMain document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/imports/imports006#"
    xml:base="http://www.w3.org/2002/03owlt/imports/main006" >
    <owl:Ontology rdf:about="">
      <owl:imports rdf:resource="imports006"/>
    </owl:Ontology>
    <first:c rdf:ID="x"/>
</rdf:RDF>

LiteImports Level Test:007
Description:
The type declarations required by semantic layering can be imported into an OWL Lite or OWL DL file.
LiteImported document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/imports/imports007" >
    <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
LiteMain document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/imports/imports007#"
    xml:base="http://www.w3.org/2002/03owlt/imports/main007" >
    <owl:Ontology rdf:about="">
      <owl:imports rdf:resource="imports007"/>
    </owl:Ontology>
    <owl:Thing>
      <first:p>
        <owl:Thing />
      </first:p>
    </owl:Thing>
</rdf:RDF>

LiteImports Level Test:008
Description:
Some RDFS files can have type declarations added to make a useful OWL Lite file.
FullImported document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/imports/imports008#"
    xmlns:second="http://www.w3.org/2002/03owlt/imports/main008#"
    xml:base="http://www.w3.org/2002/03owlt/imports/imports008" >
   <rdfs:Class rdf:ID="sub">
     <rdfs:subClassOf rdf:resource="#super"/>
   </rdfs:Class>
</rdf:RDF>
LiteMain document:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/imports/imports008#"
    xmlns:second="http://www.w3.org/2002/03owlt/imports/main008#"
    xml:base="http://www.w3.org/2002/03owlt/imports/main008" >
    <owl:Ontology rdf:about="">
      <owl:imports rdf:resource="imports008"/>
    </owl:Ontology>
    <owl:Class rdf:about="imports008#sub"/>
    <owl:Class rdf:about="imports008#super"/>
</rdf:RDF>

D.1.12. owl:intersectionOf

FullPositive Entailment Test:001
Description:
The order of the classes in an intersectionOf construct is unimportant.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/intersectionOf/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/intersectionOf/premises001" >

    <rdf:Description rdf:about="premises001#B">
        <owl:intersectionOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises001#Student"/>
            <rdf:Description rdf:about="premises001#Employee"/>
        </owl:intersectionOf>
    </rdf:Description>

    <rdf:Description rdf:about="premises001#C">
        <owl:intersectionOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises001#Employee"/>
            <rdf:Description rdf:about="premises001#Student"/>
        </owl:intersectionOf>
    </rdf:Description>

    <first:B rdf:about="premises001#John"/>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:first="http://www.w3.org/2002/03owlt/intersectionOf/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/intersectionOf/conclusions001" >

    <first:C rdf:about="premises001#John"/>

</rdf:RDF>

D.1.13. owl:maxCardinality

FullInconsistent document.001
Description:
A property with maximum cardinality of two cannot take three distinct values on some subject node.
FullInconsistent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/maxCardinality/inconsistent001#"
    xml:base="http://www.w3.org/2002/03owlt/maxCardinality/inconsistent001" >

    <rdf:Description rdf:about="inconsistent001#sb1">
        <rdf:type rdf:parseType="Resource">
            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
            <owl:maxCardinality
              rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
             >2</owl:maxCardinality>
            <owl:onProperty rdf:resource="inconsistent001#prop"/>
        </rdf:type>
        <first:prop rdf:resource="inconsistent001#ob1"/>
        <first:prop rdf:resource="inconsistent001#ob2"/>
        <first:prop rdf:resource="inconsistent001#ob3"/>
    </rdf:Description>

    <rdf:Description rdf:about="inconsistent001#ob1">
        <owl:differentIndividualFrom rdf:resource="inconsistent001#ob2"/>
        <owl:differentIndividualFrom rdf:resource="inconsistent001#ob3"/>
    </rdf:Description>

    <rdf:Description rdf:about="inconsistent001#ob2">
        <owl:differentIndividualFrom rdf:resource="inconsistent001#ob3"/>
    </rdf:Description>

    <owl:ObjectProperty rdf:about="inconsistent001#prop"/>

</rdf:RDF>

FullInconsistent document.002
Description:
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:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/maxCardinality/inconsistent002#"
    xml:base="http://www.w3.org/2002/03owlt/maxCardinality/inconsistent002" >

    <rdf:Description rdf:about="inconsistent002#sb1">
        <rdf:type rdf:parseType="Resource">
            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
            <owl:maxCardinality>2</owl:maxCardinality>
            <owl:onProperty rdf:resource="inconsistent002#prop"/>
        </rdf:type>
        <first:prop rdf:resource="inconsistent002#ob1"/>
        <first:prop rdf:resource="inconsistent002#ob2"/>
        <first:otherprop rdf:resource="inconsistent002#ob3"/>
    </rdf:Description>

    <rdf:Description rdf:about="inconsistent002#ob1">
        <owl:differentIndividualFrom rdf:resource="inconsistent002#ob2"/>
        <owl:differentIndividualFrom rdf:resource="inconsistent002#ob3"/>
    </rdf:Description>

    <rdf:Description rdf:about="inconsistent002#ob2">
        <owl:differentIndividualFrom rdf:resource="inconsistent002#ob3"/>
    </rdf:Description>

    <owl:ObjectProperty rdf:about="inconsistent002#prop"/>

    <rdf:Description rdf:about="inconsistent002#otherprop">
        <rdfs:subPropertyOf rdf:resource="inconsistent002#prop"/>
    </rdf:Description>

</rdf:RDF>

D.1.14. owl:oneOf

FullConsistent document.001
Description:
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:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/oneOf/consistent001#"
    xml:base="http://www.w3.org/2002/03owlt/oneOf/consistent001" >
   <owl:Class>
      <owl:oneOf rdf:parseType="Collection">
         <rdf:Description rdf:ID="amy"/>
         <rdf:Description rdf:ID="bob"/>
         <rdf:Description rdf:ID="caroline"/>
      </owl:oneOf>
      <owl:sameClassAs>
           <owl:Class>
             <owl:oneOf rdf:parseType="Collection">
               <rdf:Description rdf:ID="yolanda"/>
               <rdf:Description rdf:ID="zebedee"/>
             </owl:oneOf>
           </owl:Class>
      </owl:sameClassAs>
   </owl:Class>

</rdf:RDF>

FullPositive Entailment Test:002
Description:
oneOf describes a class by enumerating its individuals.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/oneOf/premises002#"
    xmlns:second="http://www.w3.org/2002/03owlt/oneOf/conclusions002#"
    xml:base="http://www.w3.org/2002/03owlt/oneOf/premises002" >

    <rdf:Description rdf:about="premises002#TShirt">
        <owl:oneOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises002#small"/>
            <rdf:Description rdf:about="premises002#medium"/>
            <rdf:Description rdf:about="premises002#large"/>
        </owl:oneOf>
    </rdf:Description>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/oneOf/premises002#"
    xmlns:second="http://www.w3.org/2002/03owlt/oneOf/conclusions002#"
    xml:base="http://www.w3.org/2002/03owlt/oneOf/conclusions002" >

    <first:TShirt rdf:about="premises002#small"/>

</rdf:RDF>

FullPositive Entailment Test:003
Description:
The order of the instances in an oneOf construct is unimportant.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/oneOf/premises003#"
    xml:base="http://www.w3.org/2002/03owlt/oneOf/premises003" >

    <rdf:Description rdf:about="premises003#T1">
        <owl:oneOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises003#small"/>
            <rdf:Description rdf:about="premises003#medium"/>
            <rdf:Description rdf:about="premises003#large"/>
        </owl:oneOf>
    </rdf:Description>

    <rdf:Description rdf:about="premises003#T2">
        <owl:oneOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises003#large"/>
            <rdf:Description rdf:about="premises003#medium"/>
            <rdf:Description rdf:about="premises003#small"/>
        </owl:oneOf>
    </rdf:Description>

    <first:T1 rdf:about="premises003#myT"/>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:first="http://www.w3.org/2002/03owlt/oneOf/premises003#"
    xml:base="http://www.w3.org/2002/03owlt/oneOf/conclusions003" >

    <first:T2 rdf:about="premises003#myT"/>

</rdf:RDF>

D.1.15. owl:sameClassAs

LitePositive Entailment Test:001
Description:
Two classes may be different names for the same set of individuals
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/sameClassAs/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/premises001" >
   <owl:Class rdf:ID="Car">
     <owl:sameClassAs>
       <owl:Class rdf:ID="Automobile"/>
     </owl:sameClassAs>
  </owl:Class>
  <first:Car rdf:ID="car">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Car>
  <first:Automobile rdf:ID="auto">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Automobile>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/sameClassAs/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/conclusions001" >
  <first:Car rdf:about="premises001#auto">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Car>
  <first:Automobile rdf:about="premises001#car">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Automobile>
</rdf:RDF>

LitePositive Entailment Test:002
Description:
Two classes may be different names for the same set of individuals
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/premises002" >
   <owl:Class rdf:ID="Car">
     <owl:sameClassAs>
       <owl:Class rdf:ID="Automobile"/>
     </owl:sameClassAs>
  </owl:Class>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/conclusions002" >
   <owl:Class rdf:about="premises002#Car">
     <rdfs:subClassOf>
       <owl:Class rdf:about="premises002#Automobile">
          <rdfs:subClassOf rdf:resource="premises002#Car" />
       </owl:Class>
     </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>

LitePositive Entailment Test:003
Description:
Two classes may be different names for the same set of individuals
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/premises003" >
   <owl:Class rdf:about="conclusions003#Car">
     <rdfs:subClassOf>
       <owl:Class rdf:about="conclusions003#Automobile">
          <rdfs:subClassOf rdf:resource="conclusions003#Car" />
       </owl:Class>
     </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/conclusions003" >
   <owl:Class rdf:ID="Car">
     <owl:sameClassAs>
       <owl:Class rdf:ID="Automobile"/>
     </owl:sameClassAs>
  </owl:Class>
</rdf:RDF>

LitePositive Entailment Test:004
Description:
Two classes with the same complete description are the same.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/premises004" >
    <owl:Class rdf:ID="c1">
      <owl:sameClassAs>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:cardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </owl:sameClassAs>
     </owl:Class>
    <owl:Class rdf:ID="c2">
      <owl:sameClassAs>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:cardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </owl:sameClassAs>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/conclusions004" >
<owl:Class rdf:about="premises004#c1">
     <owl:sameClassAs>
       <owl:Class rdf:about="premises004#c2"/>
     </owl:sameClassAs>
  </owl:Class>
</rdf:RDF>

LiteNegative Entailment Test:005
Description:
Two classes with the same partial description are not the same.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/premises005" >
    <owl:Class rdf:ID="c1">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:cardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
    <owl:Class rdf:ID="c2">
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:cardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/nonconclusions005" >
<owl:Class rdf:about="premises005#c1">
     <owl:sameClassAs>
       <owl:Class rdf:about="premises005#c2"/>
     </owl:sameClassAs>
  </owl:Class>
</rdf:RDF>

DLPositive Entailment Test:006
Description:
De Morgan's law.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/premises006" >
   <owl:Class rdf:ID="A"/>
   <owl:Class rdf:ID="B"/>
</rdf:RDF>
DLConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/conclusions006" >
   <rdf:Description>
      <owl:intersectionOf rdf:parseType="Collection">
          <rdf:Description>
             <owl:complementOf rdf:resource="premises006#A"/>
          </rdf:Description>
          <rdf:Description>
             <owl:complementOf rdf:resource="premises006#B"/>
          </rdf:Description>
      </owl:intersectionOf>
      <owl:sameClassAs>
        <rdf:Description>
          <owl:complementOf>
             <rdf:Description>
               <owl:unionOf rdf:parseType="Collection">
                 <rdf:Description rdf:about="premises006#A"/>
                 <rdf:Description rdf:about="premises006#B"/>
               </owl:unionOf>
             </rdf:Description>
          </owl:complementOf>
        </rdf:Description>
      </owl:sameClassAs>
   </rdf:Description>   
   <owl:Class rdf:about="premises006#A"/>
   <owl:Class rdf:about="premises006#B"/>
</rdf:RDF>

FullPositive Entailment Test:007
Description:
De Morgan's law.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/premises007" >
   <rdfs:Class rdf:ID="A"/>
   <rdfs:Class rdf:ID="B"/>
</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/sameClassAs/conclusions007" >
   <rdf:Description>
      <owl:intersectionOf rdf:parseType="Collection">
          <rdf:Description>
             <owl:complementOf rdf:resource="premises007#A"/>
          </rdf:Description>
          <rdf:Description>
             <owl:complementOf rdf:resource="premises007#B"/>
          </rdf:Description>
      </owl:intersectionOf>
      <owl:sameClassAs>
         <rdf:Description>
           <owl:complementOf>
             <rdf:Description>
               <owl:unionOf rdf:parseType="Collection">
                 <rdf:Description rdf:about="premises007#A"/>
                 <rdf:Description rdf:about="premises007#B"/>
               </owl:unionOf>
             </rdf:Description>
           </owl:complementOf>
         </rdf:Description>
      </owl:sameClassAs>
   </rdf:Description>   
</rdf:RDF>

D.1.16. owl:samePropertyAs

LitePositive Entailment Test:001
Description:
hasLeader may be stated to be the samePropertyAs hasHead.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/samePropertyAs/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/premises001" >
   <owl:ObjectProperty rdf:ID="hasHead">
      <owl:samePropertyAs>
         <owl:ObjectProperty rdf:ID="hasLeader"/>
      </owl:samePropertyAs>
   </owl:ObjectProperty>
   <owl:Thing rdf:ID="X">
     <first:hasLeader>
        <owl:Thing rdf:ID="Y"/>
     </first:hasLeader>
   </owl:Thing>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/samePropertyAs/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/conclusions001" >
   <owl:Thing rdf:about="premises001#X">
     <first:hasHead rdf:resource="premises001#Y"/>
   </owl:Thing>   
   <owl:ObjectProperty rdf:about="premises001#hasHead"/>
</rdf:RDF>

LitePositive Entailment Test:002
Description:
A reasoner can also deduce that hasLeader is a subProperty of hasHead and hasHead is a subProperty of hasLeader.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/samePropertyAs/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/premises002" >
   <owl:ObjectProperty rdf:ID="hasHead">
      <owl:samePropertyAs>
         <owl:ObjectProperty rdf:ID="hasLeader"/>
      </owl:samePropertyAs>
   </owl:ObjectProperty>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/samePropertyAs/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/conclusions002" >
   <owl:ObjectProperty rdf:about="premises002#hasHead">
      <rdfs:subPropertyOf rdf:resource="premises002#hasLeader"/>
   </owl:ObjectProperty>
   <owl:ObjectProperty rdf:about="premises002#hasLeader">
      <rdfs:subPropertyOf rdf:resource="premises002#hasHead"/>
   </owl:ObjectProperty>
</rdf:RDF>

LitePositive Entailment Test:003
Description:
The inverse entailment also holds.
LitePremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/premises003" >
   <owl:ObjectProperty rdf:about="conclusions003#hasHead">
      <rdfs:subPropertyOf rdf:resource="conclusions003#hasLeader"/>
   </owl:ObjectProperty>
   <owl:ObjectProperty rdf:about="conclusions003#hasLeader">
      <rdfs:subPropertyOf rdf:resource="conclusions003#hasHead"/>
   </owl:ObjectProperty>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/conclusions003" >
   <owl:ObjectProperty rdf:ID="hasHead">
      <owl:samePropertyAs>
         <owl:ObjectProperty rdf:ID="hasLeader"/>
      </owl:samePropertyAs>
   </owl:ObjectProperty>
</rdf:RDF>

DLPositive Entailment Test:004
Description:
If p and q have the same property extension then they p samePropertyAs q.
DLPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/premises004" >
   <owl:ObjectProperty rdf:ID="p">
      <rdfs:domain rdf:resource="#d"/>
   </owl:ObjectProperty>
   <owl:ObjectProperty rdf:ID="q">
      <rdfs:domain rdf:resource="#d"/>
   </owl:ObjectProperty>
   <owl:FunctionalProperty rdf:about="#q"/>
   <owl:FunctionalProperty rdf:about="#p"/>
   <owl:Thing rdf:ID="v"/>
   <owl:Class rdf:ID="d">
     <owl:sameClassAs>
        <rdf:Description>
           <owl:intersectionOf rdf:parseType="Collection">
              <owl:Restriction>
                <owl:onProperty rdf:resource="#p"/>
                <owl:hasValue rdf:resource="#v"/>
              </owl:Restriction>
           </owl:intersectionOf>
        </rdf:Description>
     </owl:sameClassAs>
     <owl:sameClassAs>
        <rdf:Description>
           <owl:intersectionOf rdf:parseType="Collection">
              <owl:Restriction>
                <owl:onProperty rdf:resource="#q"/>
                <owl:hasValue rdf:resource="#v"/>
              </owl:Restriction>
           </owl:intersectionOf>
        </rdf:Description>
     </owl:sameClassAs>
   </owl:Class>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/conclusions004" >
   <owl:ObjectProperty rdf:about="premises004#p">
      <owl:samePropertyAs>
         <owl:ObjectProperty rdf:about="premises004#q"/>
      </owl:samePropertyAs>
   </owl:ObjectProperty>
</rdf:RDF>

FullPositive Entailment Test:005
Description:
If p and q have the same property extension then they p samePropertyAs q.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/premises005" >
   <owl:FunctionalProperty rdf:about="#q">
      <rdfs:domain rdf:nodeID="d"/>
   </owl:FunctionalProperty>
   <owl:FunctionalProperty rdf:about="#p">
      <rdfs:domain rdf:nodeID="d"/>
   </owl:FunctionalProperty>
   <owl:Restriction rdf:nodeID="d">
     <owl:onProperty rdf:resource="#p"/>
     <owl:onProperty rdf:resource="#q"/>
     <owl:hasValue rdf:resource="#v"/>
   </owl:Restriction>
</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/conclusions005" >
   <rdf:Description rdf:about="premises005#p">
      <owl:samePropertyAs rdf:resource="premises005#q"/>
   </rdf:Description>
</rdf:RDF>

FullPositive Entailment Test:006
Description:
hasLeader may be stated to be the samePropertyAs hasHead.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/samePropertyAs/premises006#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/premises006" >
   <rdf:Description rdf:ID="hasHead">
      <owl:samePropertyAs>
         <rdf:Description rdf:ID="hasLeader"/>
      </owl:samePropertyAs>
   </rdf:Description>
   <rdf:Description rdf:ID="X">
     <first:hasLeader>
        <rdf:Description rdf:ID="Y"/>
     </first:hasLeader>
   </rdf:Description>
</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:first="http://www.w3.org/2002/03owlt/samePropertyAs/premises006#"
    xml:base="http://www.w3.org/2002/03owlt/samePropertyAs/conclusions006" >
   <rdf:Description rdf:about="premises006#X">
     <first:hasHead rdf:resource="premises006#Y" />
   </rdf:Description>
</rdf:RDF>

D.1.17. owl:someValuesFrom

FullPositive Entailment Test:001
Description:
A simple example.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/someValuesFrom/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/someValuesFrom/premises001" >
    <owl:Class rdf:ID="r">
      <rdfs:subClassOf>
        <owl:Restriction>
            <owl:onProperty rdf:resource="#p"/>
            <owl:someValuesFrom rdf:resource="#c"/>
        </owl:Restriction>
      </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty rdf:ID="p"/>
    <owl:Class rdf:ID="c"/>
    <first:r rdf:ID="i"/>
</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/someValuesFrom/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/someValuesFrom/conclusions001" >
    <rdf:Description rdf:about="premises001#i">
        <first:p>
           <first:c />
         </first:p>
    </rdf:Description>

</rdf:RDF>

FullNegative Entailment Test:002
Description:
See allValuesFrom
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/someValuesFrom/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/someValuesFrom/premises002" >
    <owl:Class rdf:ID="r">
      <rdfs:subClassOf>
        <owl:Restriction>
            <owl:onProperty rdf:resource="#p"/>
            <owl:someValuesFrom rdf:resource="#c"/>
        </owl:Restriction>
      </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty rdf:ID="p"/>
    <owl:Class rdf:ID="c"/>
    <first:r rdf:ID="i">
       <first:p rdf:resource="#o"/>
    </first:r>
</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:first="http://www.w3.org/2002/03owlt/someValuesFrom/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/someValuesFrom/conclusions002" >
    <first:c rdf:about="premises001#o"/>

</rdf:RDF>

D.1.18. owl:unionOf

FullPositive Entailment Test:001
Description:
A union is a superclass of its parts.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/unionOf/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/unionOf/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/unionOf/premises001" >

    <rdf:Description rdf:about="premises001#A">
        <owl:unionOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises001#Human"/>
            <rdf:Description rdf:about="premises001#Animal"/>
        </owl:unionOf>
    </rdf:Description>

    <first:Human rdf:about="premises001#John"/>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/unionOf/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/unionOf/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/unionOf/conclusions001" >

    <first:A rdf:about="premises001#John"/>

</rdf:RDF>

FullPositive Entailment Test:002
Description:
A union behaves quite like set theoretic union.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/unionOf/premises002#"
    xmlns:second="http://www.w3.org/2002/03owlt/unionOf/conclusions002#"
    xml:base="http://www.w3.org/2002/03owlt/unionOf/premises002" >

    <rdf:Description rdf:about="premises002#A">
        <owl:unionOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises002#Human"/>
            <rdf:Description rdf:about="premises002#Animal"/>
        </owl:unionOf>
    </rdf:Description>

    <rdf:Description rdf:about="premises002#B">
        <owl:unionOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises002#Animal"/>
            <rdf:Description rdf:about="premises002#Human"/>
            <rdf:Description rdf:about="premises002#Stone"/>
        </owl:unionOf>
    </rdf:Description>

    <first:A rdf:about="premises002#John"/>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/unionOf/premises002#"
    xmlns:second="http://www.w3.org/2002/03owlt/unionOf/conclusions002#"
    xml:base="http://www.w3.org/2002/03owlt/unionOf/conclusions002" >

    <first:B rdf:about="premises002#John"/>

</rdf:RDF>

D.2. By Issue

D.2.1. UnambiguousProperty

LiteIllegal use of OWL namespace.001
Description:
This is not legal OWL. The name UnambiguousProperty is not in the OWL namespace. daml:UnambiguousProperty corresponds to owl:InverseFunctionalProperty.
LiteIncorrect:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#" >
    <owl:UnambiguousProperty rdf:ID="Name"/>
</rdf:RDF>

D.2.2. UniqueProp BadName

LiteIllegal use of OWL namespace.001
Description:
This is not legal OWL. The name UniqueProperty is not in the OWL namespace. daml:UniqueProperty corresponds to owl:FunctionalProperty.
LiteIncorrect:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#" >
    <owl:UniqueProperty rdf:ID="Name"/>
</rdf:RDF>

D.2.3. EquivalentTo

FullPositive Entailment Test:001
Description:
sameAs and sameIndividualAs are equivalent.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I4.6/premises001" >
    <rdf:Description rdf:ID="A">
      <owl:sameAs rdf:resource="#B"/>
    </rdf:Description>
</rdf:RDF>
LiteConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I4.6/conclusions001" >
    <owl:Thing rdf:about="premises001#A">
      <owl:sameIndividualAs>
         <owl:Thing rdf:about="premises001#B"/>
      </owl:sameIndividualAs>
    </owl:Thing>
</rdf:RDF>

FullPositive Entailment Test:002
Description:
sameAs and sameIndividualAs are equivalent.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I4.6/premises002" >
    <rdf:Description rdf:ID="A">
      <owl:sameIndividualAs rdf:resource="#B"/>
    </rdf:Description>
</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I4.6/conclusions002" >
    <owl:Thing rdf:about="premises002#A">
      <owl:sameAs>
         <owl:Thing rdf:about="premises002#B"/>
      </owl:sameAs>
    </owl:Thing>
</rdf:RDF>

D.2.4. Uniform treatment of literal data values

FullPositive Entailment Test:001
Description:
stateCode example using an inverseFunctionalProperty and literals
FullPremises:
<rdf:RDF
  xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
  xmlns:NS0='http://example.org/vocab#'
 >
  <rdf:Description rdf:nodeID='A0'>
    <NS0:stateCode>KS</NS0:stateCode>
    <NS0:population>2688418</NS0:population>
  </rdf:Description>
  <rdf:Description rdf:about='http://example.org/vocab#stateCode'>
    <rdf:type rdf:resource='http://www.w3.org/2002/07/owl#InverseFunctionalProperty'/>
  </rdf:Description>
  <rdf:Description rdf:nodeID='A1'>
    <NS0:stateCode>KS</NS0:stateCode>
    <NS0:stateBird rdf:resource='http://example.org/vocab#WesternMeadowlark'/>
  </rdf:Description>
</rdf:RDF>
FullConclusions:
<rdf:RDF
  xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
  xmlns:NS0='http://example.org/vocab#'
 >
  <rdf:Description rdf:nodeID='A0'>
    <NS0:population>2688418</NS0:population>
    <NS0:stateBird rdf:resource='http://example.org/vocab#WesternMeadowlark'/>
  </rdf:Description>
</rdf:RDF>

D.2.5. IF-or-IFF-property-properties

FullPositive Entailment Test:001
Description:
This entailment is similar to one that does not hold in RDFS.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I5.24/premises001" >

   <rdf:Property rdf:ID="prop">
     <rdfs:range>
        <owl:Class rdf:ID="A">
          <rdfs:subClassOf>
             <owl:Class rdf:ID="B"/>
          </rdfs:subClassOf>
        </owl:Class>
      </rdfs:range>
    </rdf:Property>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I5.24/conclusions001" >

   <rdf:Property rdf:about="premises001#prop">
     <rdfs:range>
        <owl:Class rdf:about="premises001#B"/>
     </rdfs:range>
   </rdf:Property>

</rdf:RDF>

FullPositive Entailment Test:002
Description:
OWL, unlike RDFS, uses iff semantics for range.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I5.24/premises002" >

   <rdf:Property rdf:ID="prop">
     <rdfs:range rdf:resource="#A"/>
     <rdfs:range rdf:resource="#B"/>
   </rdf:Property>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I5.24/conclusions002" >

   <rdf:Property rdf:about="premises002#prop">
     <rdfs:range>
        <owl:Class>
           <owl:intersectionOf rdf:parseType="Collection">
              <rdf:Description rdf:about="premises002#A"/>
              <rdf:Description rdf:about="premises002#B"/>
           </owl:intersectionOf>
        </owl:Class>
     </rdfs:range>
   </rdf:Property>

</rdf:RDF>

FullPositive Entailment Test:003
Description:
This is a typical definition of range from description logic.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I5.24/premises003" >
  <owl:ObjectProperty rdf:ID="prop">
     <rdfs:range rdf:resource="#A"/>
  </owl:ObjectProperty>
</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I5.24/conclusions003" >
   <owl:Thing>
      <rdfs:subClassOf>
          <owl:Restriction>
             <owl:onProperty rdf:resource="premises003#prop"/>
             <owl:allValuesFrom rdf:resource="premises003#A"/>
          </owl:Restriction>
       </rdfs:subClassOf>
   </owl:Thing>

</rdf:RDF>

FullPositive Entailment Test:004
Description:
This is a typical definition of range from description logic. It works both ways.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I5.24/premises004" >
   <owl:Thing>
      <rdfs:subClassOf>
          <owl:Restriction>
             <owl:onProperty rdf:resource="conclusions004#prop"/>
             <owl:allValuesFrom>
               <owl:Class rdf:about="conclusions004#A"/>
              </owl:allValuesFrom>
          </owl:Restriction>
       </rdfs:subClassOf>
   </owl:Thing>

</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/I5.24/conclusions004" >
  <owl:ObjectProperty rdf:ID="prop">
     <rdfs:range rdf:resource="#A"/>
  </owl:ObjectProperty>
</rdf:RDF>

D.2.6. Semantic-Layering

FullConsistent document.005
Description:
Any RDF/XML document is in OWL Full.
FullConsistent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:first="http://www.w3.org/2002/03owlt/I5.3/consistent005#"
    xml:base="http://www.w3.org/2002/03owlt/I5.3/consistent005" >
    <rdf:Description>
      <first:p >
        <rdf:Description />
      </first:p>
    </rdf:Description>
</rdf:RDF>

LiteConsistent document.006
Description:
A minimal OWL Lite version of test 005.
LiteConsistent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/I5.3/consistent006#"
    xml:base="http://www.w3.org/2002/03owlt/I5.3/consistent006" >
   <owl:Thing>
      <first:p>
         <owl:Thing/>
      </first:p>
   </owl:Thing>
   <owl:ObjectProperty rdf:ID="p" />
</rdf:RDF>

FullConsistent document.007
Description:
Any RDF/XML document is in OWL Full.
FullConsistent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:first="http://www.w3.org/2002/03owlt/I5.3/consistent007#"
    xml:base="http://www.w3.org/2002/03owlt/I5.3/consistent007" >
    <rdf:Description>
      <first:dp>value</first:dp>
    </rdf:Description>
</rdf:RDF>

LiteConsistent document.008
Description:
An OWL Lite version of test 007.
LiteConsistent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/I5.3/consistent008#"
    xml:base="http://www.w3.org/2002/03owlt/I5.3/consistent008" >
    <owl:Thing>
      <first:dp>value</first:dp>
    </owl:Thing>
    <owl:DatatypeProperty rdf:ID="dp" />
</rdf:RDF>

FullConsistent document.009
Description:
The use of blank nodes in OWL DL and OWL Lite is restricted.
FullConsistent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/I5.3/consistent009#"
    xml:base="http://www.w3.org/2002/03owlt/I5.3/consistent009" >
   <owl:Thing>
     <first:p rdf:nodeID="shared" />
     <first:q rdf:nodeID="shared" />
   </owl:Thing>
   <owl:ObjectProperty rdf:ID="p" />
   <owl:ObjectProperty rdf:ID="q" />
</rdf:RDF>

D.2.7. List syntax or semantics

FullPositive Entailment Test:001
Description:
rdf:first is a FunctionalProperty.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >


</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#" >
    <owl:FunctionalProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#first" />

</rdf:RDF>

FullPositive Entailment Test:002
Description:
rdf:rest is a FunctionalProperty.
FullPremises:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >


</rdf:RDF>
FullConclusions:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#" >
    <owl:FunctionalProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" />

</rdf:RDF>

FullInconsistent document.003
Description:
rdf:nil cannot have an rdf:rest property.
FullInconsistent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xml:base="http://www.w3.org/2002/03owlt/I5.5/inconsistent003" >
   <rdf:Description rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil">
       <rdf:rest>
          <rdf:Description />
       </rdf:rest>
   </rdf:Description>
</rdf:RDF>

FullInconsistent document.004
Description:
rdf:nil cannot have an rdf:first property.
FullInconsistent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xml:base="http://www.w3.org/2002/03owlt/I5.5/inconsistent003" >
   <rdf:Description rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil">
       <rdf:first>
          <rdf:Description />
       </rdf:first>
   </rdf:Description>
</rdf:RDF>

D.3. Additional Description Logic Tests

These tests are ones that are either known from the literature (specifically from [DL ref-1] and [DL ref-2]), or from test suites contributed by DL implementors (specifically some group and some other group).

Some actual tests in this category ...

D.4. Miscellaneous Tests

These tests, taken from the [OWL Guide] are ones that do not fit any other category.

wine.owl, and food.owl by reference rather than verbatim ...

D.5. Extra Credit

There is no expectation that any implementation will successful 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 Abstract Syntax and Semantics], 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.

Some actual tests in this category ... Tests concerning prime factorization. tests concerning dominos and transitiveproperties with cardinality constraints. Tests concerning peculiar extensions of the OWL vocabulary.

E. Proposed Tests as Triples (Informative)

This section repeats the tests of the previous section.

Relative URLs in the triples are with respect to the following base: http://www.w3.org/2002/03owlt/.

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/2005/XMLSchema#
first
The URL of the first file concatenated with #
second
The URL of the second file concatenated with #

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/2005/XMLSchema#> .

Other namespaces are explicitly listed with the test data.

E.1. By Function

E.1.1. owl:FunctionalProperty

FullPositive Entailment Test:003
Description:
If prop is an owl:FunctionalProperty, then its inverse is an owl:InverseFunctionalProperty.
FullPremises:
first:prop rdf:type owl:FunctionalProperty .
first:prop owl:inverseOf first:inv .
FullConclusions:
first:inv rdf:type owl:InverseFunctionalProperty .
Errors:
Incorrect copyright statement in premises003.
Incorrect copyright statement in conclusions003.

FullPositive Entailment Test:004
Description:
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:
first:prop rdf:type owl:ObjectProperty .
first:prop rdfs:range first:Singleton .
first:Singleton rdf:type rdfs:Class .
_:a rdf:first _:b .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:Singleton owl:oneOf _:a .
FullConclusions:
first:prop rdf:type owl:FunctionalProperty .
Errors:
Incorrect copyright statement in premises004.
Incorrect copyright statement in conclusions004.

FullPositive Entailment Test:005
Description:
If prop belongs to owl:FunctionalProperty then an OWL object has at most one value for prop.
Namespaces:
@prefix eg: <http://www.example.org/> .
FullPremises:
eg:foo#prop rdf:type owl:FunctionalProperty .
eg:foo#object rdf:type owl:Thing .
FullConclusions:
eg:foo#object rdf:type owl:Thing .
_:a rdf:type owl:Restriction .
eg:foo#prop rdf:type owl:FunctionalProperty .
_:a owl:onProperty eg:foo#prop .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
eg:foo#object rdf:type _:a .
Errors:
Incorrect copyright statement in conclusions005.
Incorrect copyright statement in premises005.

E.1.2. owl:InverseFunctionalProperty

FullPositive Entailment Test:003
Description:
If prop is an owl:InverseFunctionalProperty, then its inverse is an owl:FunctionalProperty.
FullPremises:
first:prop rdf:type owl:InverseFunctionalProperty .
first:prop owl:inverseOf first:inv .
FullConclusions:
first:inv rdf:type owl:FunctionalProperty .
Errors:
Incorrect copyright statement in premises003.
Incorrect copyright statement in conclusions003.

FullPositive Entailment Test:004
Description:
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:
first:prop rdf:type owl:ObjectProperty .
first:prop rdfs:domain first:Singleton .
first:Singleton rdf:type rdfs:Class .
_:a rdf:first _:b .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:Singleton owl:oneOf _:a .
FullConclusions:
first:prop rdf:type owl:InverseFunctionalProperty .
Errors:
Incorrect copyright statement in premises004.
Incorrect copyright statement in conclusions004.

E.1.3. owl:Nothing

FullInconsistent document.001
Description:
The triple asserts something of type Nothing, however that is the empty class.
FullInconsistent:
_:a rdf:type owl:Nothing .
Errors:
Incorrect copyright statement in inconsistent001.

FullPositive Entailment Test:002
Description:
There is one empty owl:Class, and it is often called Nothing.
FullPremises:
FullConclusions:
_:a rdf:type owl:Class .
_:a owl:oneOf rdf:nil .
_:a owl:sameClassAs owl:Nothing .
Errors:
Incorrect copyright statement in conclusions002.
Incorrect copyright statement in premises002.

E.1.4. owl:SymmetricProperty

FullPositive Entailment Test:001
Description:
A simple illustration of symmetric properties.
FullPremises:
first:Ghent first:path first:Antwerp .
first:path rdf:type owl:SymmetricProperty .
FullConclusions:
first:Antwerp first:path first:Ghent .
Errors:
Incorrect copyright statement in conclusions001.
Incorrect copyright statement in premises001.

E.1.5. owl:TransitiveProperty

FullPositive Entailment Test:001
Description:
A simple illustration of transitivity.
FullPremises:
first:Antwerp first:path first:Amsterdam .
first:Ghent first:path first:Antwerp .
first:path rdf:type owl:TransitiveProperty .
FullConclusions:
first:Ghent first:path first:Amsterdam .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

E.1.6. owl:allValuesFrom

LitePositive Entailment Test:001
Description:
A simple example.
LitePremises:
first:r rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:allValuesFrom first:c .
first:r rdfs:subClassOf _:a .
first:p rdf:type owl:ObjectProperty .
first:c rdf:type owl:Class .
first:i rdf:type first:r .
first:i rdf:type owl:Thing .
first:o rdf:type owl:Thing .
first:i first:p first:o .
LiteConclusions:
first:o rdf:type first:c .
first:o rdf:type owl:Thing .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

LiteNegative Entailment Test:002
Description:
See allValuesFrom.
LitePremises:
first:r rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:allValuesFrom first:c .
first:r rdfs:subClassOf _:a .
first:p rdf:type owl:ObjectProperty .
first:c rdf:type owl:Class .
first:i rdf:type first:r .
first:i rdf:type owl:Thing .
LiteConclusions:
first:i rdf:type owl:Thing .
_:a rdf:type first:c .
first:i first:p _:a .
_:a rdf:type owl:Thing .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in nonconclusions002.

E.1.7. owl:cardinality

LitePositive Entailment Test:001
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
LitePremises:
first:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:b rdf:first _:a .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c owl:intersectionOf _:b .
first:c rdfs:subClassOf _:c .
first:p rdf:type owl:ObjectProperty .
LiteConclusions:
first:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:b rdf:type owl:Restriction .
_:b owl:onProperty first:p .
_:b owl:minCardinality "1"^^xsd:nonNegativeInteger  .
_:c rdf:first _:b .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first _:a .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
_:e owl:intersectionOf _:d .
first:c rdfs:subClassOf _:e .
first:p rdf:type owl:ObjectProperty .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

LitePositive Entailment Test:002
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
LitePremises:
second:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:b rdf:type owl:Restriction .
_:b owl:onProperty second:p .
_:b owl:minCardinality "1"^^xsd:nonNegativeInteger  .
_:c rdf:first _:b .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first _:a .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
_:e owl:intersectionOf _:d .
second:c rdfs:subClassOf _:e .
second:p rdf:type owl:ObjectProperty .
LiteConclusions:
second:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:b rdf:first _:a .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c owl:intersectionOf _:b .
second:c rdfs:subClassOf _:c .
second:p rdf:type owl:ObjectProperty .
Errors:
Incorrect copyright statement in conclusions002.
Incorrect copyright statement in premises002.

DLPositive Entailment Test:003
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
DLPremises:
first:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:cardinality "2"^^xsd:nonNegativeInteger  .
_:b rdf:first _:a .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c owl:intersectionOf _:b .
first:c rdfs:subClassOf _:c .
first:p rdf:type owl:ObjectProperty .
DLConclusions:
first:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:maxCardinality "2"^^xsd:nonNegativeInteger  .
_:b rdf:type owl:Restriction .
_:b owl:onProperty first:p .
_:b owl:minCardinality "2"^^xsd:nonNegativeInteger  .
_:c rdf:first _:b .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first _:a .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
_:e owl:intersectionOf _:d .
first:c rdfs:subClassOf _:e .
first:p rdf:type owl:ObjectProperty .
Errors:
Incorrect copyright statement in conclusions003.
Incorrect copyright statement in premises003.

DLPositive Entailment Test:004
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
DLPremises:
second:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:maxCardinality "2"^^xsd:nonNegativeInteger  .
_:b rdf:type owl:Restriction .
_:b owl:onProperty second:p .
_:b owl:minCardinality "2"^^xsd:nonNegativeInteger  .
_:c rdf:first _:b .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first _:a .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
_:e owl:intersectionOf _:d .
second:c rdfs:subClassOf _:e .
second:p rdf:type owl:ObjectProperty .
DLConclusions:
second:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:cardinality "2"^^xsd:nonNegativeInteger  .
_:b rdf:first _:a .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c owl:intersectionOf _:b .
second:c rdfs:subClassOf _:c .
second:p rdf:type owl:ObjectProperty .
Errors:
Incorrect copyright statement in conclusions004.
Incorrect copyright statement in premises004.

FullPositive Entailment Test:005
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
FullPremises:
first:c rdf:type owl:Restriction .
first:c owl:onProperty first:p .
first:c owl:cardinality "1"^^xsd:nonNegativeInteger  .
FullConclusions:
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:b rdf:type owl:Restriction .
_:b owl:onProperty first:p .
_:b owl:minCardinality "1"^^xsd:nonNegativeInteger  .
_:c rdf:first _:b .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first _:a .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
first:c owl:intersectionOf _:d .
Errors:
Incorrect copyright statement in conclusions005.
Incorrect copyright statement in premises005.

FullPositive Entailment Test:006
Description:
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
FullPremises:
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:b rdf:type owl:Restriction .
_:b owl:onProperty second:p .
_:b owl:minCardinality "1"^^xsd:nonNegativeInteger  .
_:c rdf:first _:b .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first _:a .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
second:c owl:intersectionOf _:d .
FullConclusions:
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:b rdf:first _:a .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
second:c owl:intersectionOf _:b .
Errors:
Incorrect copyright statement in conclusions006.
Incorrect copyright statement in premises006.

E.1.8. owl:complementOf

FullPositive Entailment Test:001
Description:
complementOf is a SymmetricProperty.
FullPremises:
first:A owl:complementOf first:B .
FullConclusions:
first:B owl:complementOf first:A .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

E.1.9. owl:differentFrom

FullPositive Entailment Test:001
Description:
differentFrom is a SymmetricProperty.
FullPremises:
first:a owl:differentFrom first:b .
FullConclusions:
first:b owl:differentFrom first:a .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

FullPositive Entailment Test:002
Description:
using distinctMembers to derive differentFrom
FullPremises:
_:a rdf:type owl:AllDifferent .
first:Fred rdf:type first:Person .
first:Wilma rdf:type first:Person .
first:Barney rdf:type first:Person .
first:Betty rdf:type first:Person .
_:b rdf:first first:Betty .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c rdf:first first:Barney .
_:c rdf:rest _:b .
_:c rdf:type rdf:List .
_:d rdf:first first:Wilma .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
_:e rdf:first first:Fred .
_:e rdf:rest _:d .
_:e rdf:type rdf:List .
_:a owl:distinctMembers _:e .
FullConclusions:
first:Barney owl:differentFrom first:Wilma .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in conclusions002.

E.1.10. owl:disjointWith

DLPositive Entailment Test:001
Description:
Disjoint classes have different members.
DLPremises:
first:A rdf:type owl:Class .
first:B rdf:type owl:Class .
first:A owl:disjointWith first:B .
first:a rdf:type first:A .
first:a rdf:type owl:Thing .
first:b rdf:type first:B .
first:b rdf:type owl:Thing .
DLConclusions:
first:a rdf:type owl:Thing .
first:b rdf:type owl:Thing .
first:a owl:differentFrom first:b .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

FullPositive Entailment Test:002
Description:
Disjoint classes have different members; OWL Full.
FullPremises:
first:A owl:disjointWith first:B .
first:a rdf:type first:A .
first:b rdf:type first:B .
FullConclusions:
first:a owl:differentFrom first:b .
Errors:
Incorrect copyright statement in conclusions002.
Incorrect copyright statement in premises002.

E.1.11. owl:imports

FullImport Entailment Test:001
Description:
If a document imports another document, then it entails anything that is entailed by the conjunction of the two documents.
Namespaces:
@prefix ont: <http://www.w3.org/2002/03owlt/imports/support001-A#> .
Fullhttp://www.w3.org/2002/03owlt/imports/premises001
<http://www.w3.org/2002/03owlt/imports/premises001> owl:imports <http://www.w3.org/2002/03owlt/imports/support001-A> .
<http://example.org/data#Socrates> rdf:type ont:Man .
LiteImported Premises
<http://www.w3.org/2002/03owlt/imports/support001-A> rdf:type owl:Ontology .
ont:Man rdf:type owl:Class .
ont:Man rdfs:subClassOf ont:Mortal .
ont:Mortal rdf:type owl:Class .
Fullhttp://www.w3.org/2002/03owlt/imports/conclusions001
<http://example.org/data#Socrates> rdf:type ont:Mortal .
Errors:
Incorrect copyright statement in support001-A.
Incorrect copyright statement in premises001.

FullNegative Entailment Test:002
Description:
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.
Namespaces:
@prefix ont: <http://www.w3.org/2002/03owlt/imports/support002-A#> .
FullPremises:
<http://example.org/data#Socrates> rdf:type ont:Man .
FullConclusions:
<http://example.org/data#Socrates> rdf:type ont:Mortal .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in nonconclusions002.

FullImport Entailment Test:003
Description:
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.
Namespaces:
@prefix ont: <http://www.w3.org/2002/03owlt/imports/support003-A#> .
Fullhttp://www.w3.org/2002/03owlt/imports/premises003
<http://www.w3.org/2002/03owlt/imports/premises003> owl:imports <http://www.w3.org/2002/03owlt/imports/support003-A> .
<http://example.org/data#Socrates> rdf:type ont:Man .
LiteImported Premises
<http://www.w3.org/2002/03owlt/imports/support003-A> rdf:type owl:Ontology .
<http://www.w3.org/2002/03owlt/imports/support003-A> owl:imports <http://www.w3.org/2002/03owlt/imports/support003-B> .
ont:Man rdf:type owl:Class .
ont:Man rdfs:subClassOf ont:Person .
ont:Person rdf:type owl:Class .
LiteImported Premises
<http://www.w3.org/2002/03owlt/imports/support003-B> rdf:type owl:Ontology .
ont:Person rdf:type owl:Class .
ont:Person rdfs:subClassOf <http://www.w3.org/2002/03owlt/imports/support003-B#Mortal> .
<http://www.w3.org/2002/03owlt/imports/support003-B#Mortal> rdf:type owl:Class .
Fullhttp://www.w3.org/2002/03owlt/imports/conclusions003
<http://example.org/data#Socrates> rdf:type <http://www.w3.org/2002/03owlt/imports/support003-B#Mortal> .
Errors:
Incorrect copyright statement in support003-A.
Incorrect copyright statement in premises003.

FullImports Level Test:004
Description:
Importing OWL Full documents may change the level of OWL Lite or OWL DL documents.
FullImported document:
first:c rdf:type rdfs:Class .
FullMain document:
<http://www.w3.org/2002/03owlt/imports/main004> rdf:type owl:Ontology .
<http://www.w3.org/2002/03owlt/imports/main004> owl:imports <http://www.w3.org/2002/03owlt/imports/imports004> .
Errors:
Incorrect copyright statement in imports004.
Incorrect copyright statement in main004.

DLImports Level Test:005
Description:
OWL DL documents cannot be imported by OWL Lite documents.
DLImported document:
first:c rdf:type owl:Class .
first:x rdf:type owl:Thing .
_:a rdf:first first:x .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:c owl:oneOf _:a .
DLMain document:
<http://www.w3.org/2002/03owlt/imports/main005> rdf:type owl:Ontology .
<http://www.w3.org/2002/03owlt/imports/main005> owl:imports <http://www.w3.org/2002/03owlt/imports/imports005> .
Errors:
Incorrect copyright statement in imports005.
Incorrect copyright statement in main005.

LiteImports Level Test:006
Description:
The type declarations required by semantic layering can be imported into an OWL Lite or OWL DL file.
LiteImported document:
first:c rdf:type owl:Class .
LiteMain document:
<http://www.w3.org/2002/03owlt/imports/main006> rdf:type owl:Ontology .
<http://www.w3.org/2002/03owlt/imports/main006> owl:imports <http://www.w3.org/2002/03owlt/imports/imports006> .
second:x rdf:type first:c .
Errors:
Incorrect copyright statement in imports006.
Incorrect copyright statement in main006.

LiteImports Level Test:007
Description:
The type declarations required by semantic layering can be imported into an OWL Lite or OWL DL file.
LiteImported document:
first:p rdf:type owl:ObjectProperty .
LiteMain document:
<http://www.w3.org/2002/03owlt/imports/main007> rdf:type owl:Ontology .
<http://www.w3.org/2002/03owlt/imports/main007> owl:imports <http://www.w3.org/2002/03owlt/imports/imports007> .
_:a rdf:type owl:Thing .
_:b rdf:type owl:Thing .
_:a first:p _:b .
Errors:
Incorrect copyright statement in imports007.
Incorrect copyright statement in main007.

LiteImports Level Test:008
Description:
Some RDFS files can have type declarations added to make a useful OWL Lite file.
FullImported document:
first:sub rdf:type rdfs:Class .
first:sub rdfs:subClassOf first:super .
LiteMain document:
<http://www.w3.org/2002/03owlt/imports/main008> rdf:type owl:Ontology .
<http://www.w3.org/2002/03owlt/imports/main008> owl:imports <http://www.w3.org/2002/03owlt/imports/imports008> .
first:sub rdf:type owl:Class .
first:super rdf:type owl:Class .
Errors:
Incorrect copyright statement in imports008.
Incorrect copyright statement in main008.

E.1.12. owl:intersectionOf

FullPositive Entailment Test:001
Description:
The order of the classes in an intersectionOf construct is unimportant.
FullPremises:
_:a rdf:first first:Employee .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:b rdf:first first:Student .
_:b rdf:rest _:a .
_:b rdf:type rdf:List .
first:B owl:intersectionOf _:b .
_:c rdf:first first:Student .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first first:Employee .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
first:C owl:intersectionOf _:d .
first:John rdf:type first:B .
FullConclusions:
first:John rdf:type first:C .
Errors:
Incorrect copyright statement in conclusions001.
Incorrect copyright statement in premises001.

E.1.13. owl:maxCardinality

FullInconsistent document.001
Description:
A property with maximum cardinality of two cannot take three distinct values on some subject node.
FullInconsistent:
_:a rdf:type owl:Restriction .
_:a owl:maxCardinality "2"^^xsd:nonNegativeInteger  .
_:a owl:onProperty first:prop .
first:sb1 rdf:type _:a .
first:sb1 first:prop first:ob1 .
first:sb1 first:prop first:ob2 .
first:sb1 first:prop first:ob3 .
first:ob1 owl:differentIndividualFrom first:ob2 .
first:ob1 owl:differentIndividualFrom first:ob3 .
first:ob2 owl:differentIndividualFrom first:ob3 .
first:prop rdf:type owl:ObjectProperty .
Errors:
Incorrect copyright statement in inconsistent001.

FullInconsistent document.002
Description:
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:
_:a rdf:type owl:Restriction .
_:a owl:maxCardinality "2" .
_:a owl:onProperty first:prop .
first:sb1 rdf:type _:a .
first:sb1 first:prop first:ob1 .
first:sb1 first:prop first:ob2 .
first:sb1 first:otherprop first:ob3 .
first:ob1 owl:differentIndividualFrom first:ob2 .
first:ob1 owl:differentIndividualFrom first:ob3 .
first:ob2 owl:differentIndividualFrom first:ob3 .
first:prop rdf:type owl:ObjectProperty .
first:otherprop rdfs:subPropertyOf first:prop .
Errors:
Incorrect copyright statement in inconsistent002.

E.1.14. owl:oneOf

FullConsistent document.001
Description:
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:
_:a rdf:type owl:Class .
_:b rdf:first first:caroline .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c rdf:first first:bob .
_:c rdf:rest _:b .
_:c rdf:type rdf:List .
_:d rdf:first first:amy .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
_:a owl:oneOf _:d .
_:e rdf:type owl:Class .
_:f rdf:first first:zebedee .
_:f rdf:rest rdf:nil .
_:f rdf:type rdf:List .
_:g rdf:first first:yolanda .
_:g rdf:rest _:f .
_:g rdf:type rdf:List .
_:e owl:oneOf _:g .
_:a owl:sameClassAs _:e .
Errors:
Incorrect copyright statement in consistent001.

FullPositive Entailment Test:002
Description:
oneOf describes a class by enumerating its individuals.
FullPremises:
_:a rdf:first first:large .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:b rdf:first first:medium .
_:b rdf:rest _:a .
_:b rdf:type rdf:List .
_:c rdf:first first:small .
_:c rdf:rest _:b .
_:c rdf:type rdf:List .
first:TShirt owl:oneOf _:c .
FullConclusions:
first:small rdf:type first:TShirt .
Errors:
Incorrect copyright statement in conclusions002.
Incorrect copyright statement in premises002.

FullPositive Entailment Test:003
Description:
The order of the instances in an oneOf construct is unimportant.
FullPremises:
_:a rdf:first first:large .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:b rdf:first first:medium .
_:b rdf:rest _:a .
_:b rdf:type rdf:List .
_:c rdf:first first:small .
_:c rdf:rest _:b .
_:c rdf:type rdf:List .
first:T1 owl:oneOf _:c .
_:d rdf:first first:small .
_:d rdf:rest rdf:nil .
_:d rdf:type rdf:List .
_:e rdf:first first:medium .
_:e rdf:rest _:d .
_:e rdf:type rdf:List .
_:f rdf:first first:large .
_:f rdf:rest _:e .
_:f rdf:type rdf:List .
first:T2 owl:oneOf _:f .
first:myT rdf:type first:T1 .
FullConclusions:
first:myT rdf:type first:T2 .
Errors:
Incorrect copyright statement in conclusions003.
Incorrect copyright statement in premises003.

E.1.15. owl:sameClassAs

LitePositive Entailment Test:001
Description:
Two classes may be different names for the same set of individuals
LitePremises:
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .
first:Car owl:sameClassAs first:Automobile .
first:car rdf:type first:Car .
first:car rdf:type owl:Thing .
first:auto rdf:type first:Automobile .
first:auto rdf:type owl:Thing .
LiteConclusions:
first:auto rdf:type first:Car .
first:auto rdf:type owl:Thing .
first:car rdf:type first:Automobile .
first:car rdf:type owl:Thing .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

LitePositive Entailment Test:002
Description:
Two classes may be different names for the same set of individuals
LitePremises:
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .
first:Car owl:sameClassAs first:Automobile .
LiteConclusions:
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .
first:Automobile rdfs:subClassOf first:Car .
first:Car rdfs:subClassOf first:Automobile .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in conclusions002.

LitePositive Entailment Test:003
Description:
Two classes may be different names for the same set of individuals
LitePremises:
second:Car rdf:type owl:Class .
second:Automobile rdf:type owl:Class .
second:Automobile rdfs:subClassOf second:Car .
second:Car rdfs:subClassOf second:Automobile .
LiteConclusions:
second:Car rdf:type owl:Class .
second:Automobile rdf:type owl:Class .
second:Car owl:sameClassAs second:Automobile .
Errors:
Incorrect copyright statement in premises003.
Incorrect copyright statement in conclusions003.

LitePositive Entailment Test:004
Description:
Two classes with the same complete description are the same.
LitePremises:
first:c1 rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:b rdf:first _:a .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c owl:intersectionOf _:b .
first:c1 owl:sameClassAs _:c .
first:c2 rdf:type owl:Class .
_:d rdf:type owl:Restriction .
_:d owl:onProperty first:p .
_:d owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:e rdf:first _:d .
_:e rdf:rest rdf:nil .
_:e rdf:type rdf:List .
_:f owl:intersectionOf _:e .
first:c2 owl:sameClassAs _:f .
first:p rdf:type owl:ObjectProperty .
LiteConclusions:
first:c1 rdf:type owl:Class .
first:c2 rdf:type owl:Class .
first:c1 owl:sameClassAs first:c2 .
Errors:
Incorrect copyright statement in premises004.
Incorrect copyright statement in conclusions004.

LiteNegative Entailment Test:005
Description:
Two classes with the same partial description are not the same.
LitePremises:
first:c1 rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:b rdf:first _:a .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c owl:intersectionOf _:b .
first:c1 rdfs:subClassOf _:c .
first:c2 rdf:type owl:Class .
_:d rdf:type owl:Restriction .
_:d owl:onProperty first:p .
_:d owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:e rdf:first _:d .
_:e rdf:rest rdf:nil .
_:e rdf:type rdf:List .
_:f owl:intersectionOf _:e .
first:c2 rdfs:subClassOf _:f .
first:p rdf:type owl:ObjectProperty .
LiteConclusions:
first:c1 rdf:type owl:Class .
first:c2 rdf:type owl:Class .
first:c1 owl:sameClassAs first:c2 .
Errors:
Incorrect copyright statement in premises005.
Incorrect copyright statement in nonconclusions005.

DLPositive Entailment Test:006
Description:
De Morgan's law.
LitePremises:
first:A rdf:type owl:Class .
first:B rdf:type owl:Class .
DLConclusions:
_:a owl:complementOf first:A .
_:b owl:complementOf first:B .
_:c rdf:first _:b .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first _:a .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
_:e owl:intersectionOf _:d .
_:f rdf:first first:B .
_:f rdf:rest rdf:nil .
_:f rdf:type rdf:List .
_:g rdf:first first:A .
_:g rdf:rest _:f .
_:g rdf:type rdf:List .
_:h owl:unionOf _:g .
_:i owl:complementOf _:h .
_:e owl:sameClassAs _:i .
first:A rdf:type owl:Class .
first:B rdf:type owl:Class .
Errors:
Incorrect copyright statement in conclusions006.
Incorrect copyright statement in premises006.

FullPositive Entailment Test:007
Description:
De Morgan's law.
FullPremises:
first:A rdf:type rdfs:Class .
first:B rdf:type rdfs:Class .
FullConclusions:
_:a owl:complementOf first:A .
_:b owl:complementOf first:B .
_:c rdf:first _:b .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first _:a .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
_:e owl:intersectionOf _:d .
_:f rdf:first first:B .
_:f rdf:rest rdf:nil .
_:f rdf:type rdf:List .
_:g rdf:first first:A .
_:g rdf:rest _:f .
_:g rdf:type rdf:List .
_:h owl:unionOf _:g .
_:i owl:complementOf _:h .
_:e owl:sameClassAs _:i .
Errors:
Incorrect copyright statement in conclusions007.
Incorrect copyright statement in premises007.

E.1.16. owl:samePropertyAs

LitePositive Entailment Test:001
Description:
hasLeader may be stated to be the samePropertyAs hasHead.
LitePremises:
first:hasHead rdf:type owl:ObjectProperty .
first:hasLeader rdf:type owl:ObjectProperty .
first:hasHead owl:samePropertyAs first:hasLeader .
first:X rdf:type owl:Thing .
first:Y rdf:type owl:Thing .
first:X first:hasLeader first:Y .
LiteConclusions:
first:X rdf:type owl:Thing .
first:X first:hasHead first:Y .
first:hasHead rdf:type owl:ObjectProperty .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

LitePositive Entailment Test:002
Description:
A reasoner can also deduce that hasLeader is a subProperty of hasHead and hasHead is a subProperty of hasLeader.
LitePremises:
first:hasHead rdf:type owl:ObjectProperty .
first:hasLeader rdf:type owl:ObjectProperty .
first:hasHead owl:samePropertyAs first:hasLeader .
LiteConclusions:
first:hasHead rdf:type owl:ObjectProperty .
first:hasHead rdfs:subPropertyOf first:hasLeader .
first:hasLeader rdf:type owl:ObjectProperty .
first:hasLeader rdfs:subPropertyOf first:hasHead .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in conclusions002.

LitePositive Entailment Test:003
Description:
The inverse entailment also holds.
LitePremises:
second:hasHead rdf:type owl:ObjectProperty .
second:hasHead rdfs:subPropertyOf second:hasLeader .
second:hasLeader rdf:type owl:ObjectProperty .
second:hasLeader rdfs:subPropertyOf second:hasHead .
LiteConclusions:
second:hasHead rdf:type owl:ObjectProperty .
second:hasLeader rdf:type owl:ObjectProperty .
second:hasHead owl:samePropertyAs second:hasLeader .
Errors:
Incorrect copyright statement in premises003.
Incorrect copyright statement in conclusions003.

DLPositive Entailment Test:004
Description:
If p and q have the same property extension then they p samePropertyAs q.
DLPremises:
first:p rdf:type owl:ObjectProperty .
first:p rdfs:domain first:d .
first:q rdf:type owl:ObjectProperty .
first:q rdfs:domain first:d .
first:q rdf:type owl:FunctionalProperty .
first:p rdf:type owl:FunctionalProperty .
first:v rdf:type owl:Thing .
first:d rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:hasValue first:v .
_:b rdf:first _:a .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c owl:intersectionOf _:b .
first:d owl:sameClassAs _:c .
_:d rdf:type owl:Restriction .
_:d owl:onProperty first:q .
_:d owl:hasValue first:v .
_:e rdf:first _:d .
_:e rdf:rest rdf:nil .
_:e rdf:type rdf:List .
_:f owl:intersectionOf _:e .
first:d owl:sameClassAs _:f .
LiteConclusions:
first:p rdf:type owl:ObjectProperty .
first:q rdf:type owl:ObjectProperty .
first:p owl:samePropertyAs first:q .
Errors:
Incorrect copyright statement in premises004.
Incorrect copyright statement in conclusions004.

FullPositive Entailment Test:005
Description:
If p and q have the same property extension then they p samePropertyAs q.
FullPremises:
first:q rdf:type owl:FunctionalProperty .
first:q rdfs:domain _:a .
first:p rdf:type owl:FunctionalProperty .
first:p rdfs:domain _:a .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:onProperty first:q .
_:a owl:hasValue first:v .
FullConclusions:
first:p owl:samePropertyAs first:q .
Errors:
Incorrect copyright statement in premises005.
Incorrect copyright statement in conclusions005.

FullPositive Entailment Test:006
Description:
hasLeader may be stated to be the samePropertyAs hasHead.
FullPremises:
first:hasHead owl:samePropertyAs first:hasLeader .
first:X first:hasLeader first:Y .
FullConclusions:
first:X first:hasHead first:Y .
Errors:
Incorrect copyright statement in premises006.
Incorrect copyright statement in conclusions006.

E.1.17. owl:someValuesFrom

FullPositive Entailment Test:001
Description:
A simple example.
FullPremises:
first:r rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:someValuesFrom first:c .
first:r rdfs:subClassOf _:a .
first:p rdf:type owl:ObjectProperty .
first:c rdf:type owl:Class .
first:i rdf:type first:r .
FullConclusions:
_:a rdf:type first:c .
first:i first:p _:a .
Errors:
Incorrect copyright statement in conclusions001.
Incorrect copyright statement in premises001.

FullNegative Entailment Test:002
Description:
See allValuesFrom
FullPremises:
first:r rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:someValuesFrom first:c .
first:r rdfs:subClassOf _:a .
first:p rdf:type owl:ObjectProperty .
first:c rdf:type owl:Class .
first:i rdf:type first:r .
first:i first:p first:o .
FullConclusions:
<http://www.w3.org/2002/03owlt/someValuesFrom/premises001#o> rdf:type first:c .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in nonconclusions002.

E.1.18. owl:unionOf

FullPositive Entailment Test:001
Description:
A union is a superclass of its parts.
FullPremises:
_:a rdf:first first:Animal .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:b rdf:first first:Human .
_:b rdf:rest _:a .
_:b rdf:type rdf:List .
first:A owl:unionOf _:b .
first:John rdf:type first:Human .
FullConclusions:
first:John rdf:type first:A .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

FullPositive Entailment Test:002
Description:
A union behaves quite like set theoretic union.
FullPremises:
_:a rdf:first first:Animal .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:b rdf:first first:Human .
_:b rdf:rest _:a .
_:b rdf:type rdf:List .
first:A owl:unionOf _:b .
_:c rdf:first first:Stone .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:d rdf:first first:Human .
_:d rdf:rest _:c .
_:d rdf:type rdf:List .
_:e rdf:first first:Animal .
_:e rdf:rest _:d .
_:e rdf:type rdf:List .
first:B owl:unionOf _:e .
first:John rdf:type first:A .
FullConclusions:
first:John rdf:type first:B .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in conclusions002.

E.2. By Issue

E.2.1. UnambiguousProperty

LiteIllegal use of OWL namespace.001
Description:
This is not legal OWL. The name UnambiguousProperty is not in the OWL namespace. daml:UnambiguousProperty corresponds to owl:InverseFunctionalProperty.
LiteIncorrect:
first:Name rdf:type owl:UnambiguousProperty .
Errors:
Incorrect copyright statement in bad001.

E.2.2. UniqueProp BadName

LiteIllegal use of OWL namespace.001
Description:
This is not legal OWL. The name UniqueProperty is not in the OWL namespace. daml:UniqueProperty corresponds to owl:FunctionalProperty.
LiteIncorrect:
first:Name rdf:type owl:UniqueProperty .
Errors:
Incorrect copyright statement in bad001.

E.2.3. EquivalentTo

FullPositive Entailment Test:001
Description:
sameAs and sameIndividualAs are equivalent.
FullPremises:
first:A owl:sameAs first:B .
LiteConclusions:
first:A rdf:type owl:Thing .
first:B rdf:type owl:Thing .
first:A owl:sameIndividualAs first:B .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

FullPositive Entailment Test:002
Description:
sameAs and sameIndividualAs are equivalent.
FullPremises:
first:A owl:sameIndividualAs first:B .
FullConclusions:
first:A rdf:type owl:Thing .
first:B rdf:type owl:Thing .
first:A owl:sameAs first:B .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in conclusions002.

E.2.4. Uniform treatment of literal data values

FullPositive Entailment Test:001
Description:
stateCode example using an inverseFunctionalProperty and literals
Namespaces:
@prefix NS0: <http://example.org/vocab#> .
FullPremises:
_:a NS0:stateCode "KS" .
_:a NS0:population "2688418" .
NS0:stateCode rdf:type owl:InverseFunctionalProperty .
_:b NS0:stateCode "KS" .
_:b NS0:stateBird NS0:WesternMeadowlark .
FullConclusions:
_:a NS0:population "2688418" .
_:a NS0:stateBird NS0:WesternMeadowlark .
Errors:
Incorrect copyright statement in conclusions001.
Incorrect copyright statement in premises001.

E.2.5. IF-or-IFF-property-properties

FullPositive Entailment Test:001
Description:
This entailment is similar to one that does not hold in RDFS.
FullPremises:
first:prop rdf:type rdf:Property .
first:A rdf:type owl:Class .
first:B rdf:type owl:Class .
first:A rdfs:subClassOf first:B .
first:prop rdfs:range first:A .
FullConclusions:
first:prop rdf:type rdf:Property .
first:B rdf:type owl:Class .
first:prop rdfs:range first:B .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

FullPositive Entailment Test:002
Description:
OWL, unlike RDFS, uses iff semantics for range.
FullPremises:
first:prop rdf:type rdf:Property .
first:prop rdfs:range first:A .
first:prop rdfs:range first:B .
FullConclusions:
first:prop rdf:type rdf:Property .
_:a rdf:type owl:Class .
_:b rdf:first first:B .
_:b rdf:rest rdf:nil .
_:b rdf:type rdf:List .
_:c rdf:first first:A .
_:c rdf:rest _:b .
_:c rdf:type rdf:List .
_:a owl:intersectionOf _:c .
first:prop rdfs:range _:a .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in conclusions002.

FullPositive Entailment Test:003
Description:
This is a typical definition of range from description logic.
FullPremises:
first:prop rdf:type owl:ObjectProperty .
first:prop rdfs:range first:A .
FullConclusions:
_:a rdf:type owl:Thing .
_:b rdf:type owl:Restriction .
_:b owl:onProperty first:prop .
_:b owl:allValuesFrom first:A .
_:a rdfs:subClassOf _:b .
Errors:
Incorrect copyright statement in premises003.
Incorrect copyright statement in conclusions003.

FullPositive Entailment Test:004
Description:
This is a typical definition of range from description logic. It works both ways.
FullPremises:
_:a rdf:type owl:Thing .
_:b rdf:type owl:Restriction .
_:b owl:onProperty second:prop .
second:A rdf:type owl:Class .
_:b owl:allValuesFrom second:A .
_:a rdfs:subClassOf _:b .
FullConclusions:
second:prop rdf:type owl:ObjectProperty .
second:prop rdfs:range second:A .
Errors:
Incorrect copyright statement in premises004.
Incorrect copyright statement in conclusions004.

E.2.6. Semantic-Layering

FullConsistent document.005
Description:
Any RDF/XML document is in OWL Full.
FullConsistent:
_:a first:p _:b .
Errors:
Incorrect copyright statement in consistent005.

LiteConsistent document.006
Description:
A minimal OWL Lite version of test 005.
LiteConsistent:
_:a rdf:type owl:Thing .
_:b rdf:type owl:Thing .
_:a first:p _:b .
first:p rdf:type owl:ObjectProperty .
Errors:
Incorrect copyright statement in consistent006.

FullConsistent document.007
Description:
Any RDF/XML document is in OWL Full.
FullConsistent:
_:a first:dp "value" .
Errors:
Incorrect copyright statement in consistent007.

LiteConsistent document.008
Description:
An OWL Lite version of test 007.
LiteConsistent:
_:a rdf:type owl:Thing .
_:a first:dp "value" .
first:dp rdf:type owl:DatatypeProperty .
Errors:
Incorrect copyright statement in consistent008.

FullConsistent document.009
Description:
The use of blank nodes in OWL DL and OWL Lite is restricted.
FullConsistent:
_:a rdf:type owl:Thing .
_:a first:p _:b .
_:a first:q _:b .
first:p rdf:type owl:ObjectProperty .
first:q rdf:type owl:ObjectProperty .
Errors:
Incorrect copyright statement in consistent009.

E.2.7. List syntax or semantics

FullPositive Entailment Test:001
Description:
rdf:first is a FunctionalProperty.
FullPremises:
FullConclusions:
rdf:first rdf:type owl:FunctionalProperty .
Errors:
Incorrect copyright statement in premises001.
Incorrect copyright statement in conclusions001.

FullPositive Entailment Test:002
Description:
rdf:rest is a FunctionalProperty.
FullPremises:
FullConclusions:
rdf:rest rdf:type owl:FunctionalProperty .
Errors:
Incorrect copyright statement in premises002.
Incorrect copyright statement in conclusions002.

FullInconsistent document.003
Description:
rdf:nil cannot have an rdf:rest property.
FullInconsistent:
rdf:nil rdf:rest _:a .
Errors:
Incorrect copyright statement in inconsistent003.

FullInconsistent document.004
Description:
rdf:nil cannot have an rdf:first property.
FullInconsistent:
rdf:nil rdf:first _:a .
Errors:
Incorrect copyright statement in inconsistent004.

E.3. Additional Description Logic Tests

These tests are ones that are either known from the literature (specifically from [DL ref-1] and [DL ref-2]), or from test suites contributed by DL implementors (specifically some group and some other group).

Some actual tests in this category ...

E.4. Miscellaneous Tests

These tests, taken from the [OWL Guide] are ones that do not fit any other category.

wine.owl, and food.owl by reference rather than verbatim ...

E.5. Extra Credit

There is no expectation that any implementation will successful 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 Abstract Syntax and Semantics], 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.

Some actual tests in this category ... Tests concerning prime factorization. tests concerning dominos and transitiveproperties with cardinality constraints. Tests concerning peculiar extensions of the OWL vocabulary.

F. Editorial Issues

F.1. Arising from Automated Checking

Most of these issues will be ignored.

Jtidy reported 1 warnings in CVS/.
Jtidy reported 1 warnings in oneOf/.
Jtidy reported 1 warnings in AllDistinct/.
Jtidy reported 1 warnings in I3.4/.
Jtidy reported 1 warnings in I4.1/.
Jtidy reported 1 warnings in FunctionalProperty/.
Jtidy reported 1 warnings in disjointWith/.
Jtidy reported 1 warnings in someValuesFrom/.
Jtidy reported 1 warnings in maxCardinality/.
Jtidy reported 1 warnings in intersectionOf/.
Jtidy reported 1 warnings in TransitiveProperty/.
Jtidy reported 1 warnings in I3.2/.
Jtidy reported 1 warnings in umlp/.
Jtidy reported 1 warnings in editors-draft/.
Jtidy reported 1 warnings in oneOfDistinct/.
Can suffix be removed from URI: false.rdf
Jtidy reported 7 errors in webont-issues.
Jtidy reported 1 warnings in imports/.
Jtidy reported 1 warnings in cardinality/.
Jtidy reported 1 warnings in allValuesFrom/.
Jtidy reported 1 warnings in Nothing/.
Jtidy reported 1 warnings in SymmetricProperty/.
Jtidy reported 1 warnings in I5.1/.
Jtidy reported 1 warnings in I5.3/.
Jtidy reported 1 warnings in I5.5/.
Jtidy reported 1 warnings in I4.6/.
Jtidy reported 1 warnings in samePropertyAs/.
Jtidy reported 1 warnings in complementOf/.
Unimplemented - non trivial ManifestLoader.getText()
Jtidy reported 1 warnings in InverseFunctionalProperty/.
Jtidy reported 214 warnings in webont-issues.
Jtidy reported 1 warnings in bin/.
Jtidy reported 1 warnings in 03owlt/.
Jtidy reported 1 warnings in inverseOf/.
Jtidy reported 1 warnings in qualified-cardinality-constraints/.
Jtidy reported 1 warnings in unionOf/.
Jtidy reported 1 warnings in I5.24/.
Jtidy reported 1 warnings in sameClassAs/.
Jtidy reported 1 warnings in differentFrom/.

F.2. Other

Can the descriptions of approved tests be quotes from other (normative) documents?

Check descriptions for appropriate links to other OWL specs.

Add automatic checking of filenames.

Use relative URLs for some of the imports tests in triple form, to stop them exceeding page widths limits.


Acknowledgments

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: list to be created - in quantitive order.

Change Log

This section is only for WG review, and gives the changes since the version available for the January face-to-face.

Extensive change to status of this document.

Change intro to be subsidiary only on ASS, and not on OWL Reference.

Weakened change process to only kick in after Proposed Rec.

Clarified monotonicity of change process.

Added test type TrueTests (editorial change) and OWLforOWL tests.

Deleted miscellaneous test type.

complete rewrite of conformance and running the tests sections.

Added contributors to the acknowledgements

Updated copyright statements

Changed approval process to not require review, but to indicate that implementation experience counts. Also specifically mentioned Carroll propose, De Roo verifies.

Permitted the use of relative URLs in the triples form of the tests.

Added extra sections to the test case parts: misc, dl, extra credit. Note in the final document there won't be a proposed tests section, so the duplication of the text will be reduced.

Polishing of abstract and intro - vis-a-vis conformance statements

Other minor polishing

References

Normative

[OWL Abstract Syntax and Semantics]
Web Ontology Language (OWL) Abstract Syntax and Semantics . Peter F. Patel-Schneider, Patrick Hayes, Ian Horrocks, and Frank van Harmelen. W3C Working Draft 08 November 2002. Latest version is available at http://www.w3.org/TR/owl-semantics/.
[OWL Language]
OWL Web Ontology Language 1.0 Reference. Mike Dean, Dan Connolly, Frank van Harmelen, James Hendler, Ian Horrocks, Deborah L. McGuinness, Peter F. Patel-Schneider, and Lynn Andrea Stein. W3C Working Draft 29 July 2002. Latest version is available at http://www.w3.org/TR/owl-ref/.
[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 ?? 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 25 March 2002. Latest version is available at http://www.w3.org/TR/rdf-syntax-grammar/.

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]
Web Ontology Language (OWL) Guide Version 1.0. Michael K. Smith, Deborah McGuinness, Raphael Volz, Chris Welty, eds. 4 November 2002. 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. 10 Jul 2002.
[RDF Test Cases]
RDF Test Cases, A. Barstow, D. Beckett, J. Grant, Editors. Work in progress. World Wide Web Consortium, 15 November 2001. This version of the RDF Test Cases is http://www.w3.org/TR/2001/WD-rdf-testcases-20011115/. 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/.
[XP]
Extreme Programming Explained: Embrace Change, Kent Beck. 5 Oct 1999. Addison-Wesley. ISBN 0201616416.

The following refs were not defined: