W3C

OWL Web Ontology Language
Test Cases

Editors Working Draft 07 May 2003

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

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


Abstract

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

Status below is fictitious.

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. We seek review of both the text of the document and the tests contained within it. We seek reports from implementators concerning both errors in the tests and successful execution of these tests, both proposed and approved. 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.

The approved tests in this document have typically been successfully executed; the proposed tests are also believed to be correct.

An editors' version of this document, with the latest tests, can be found at http://www.w3.org/2002/03owlt/editors-draft/draft/. Despite this flux, the working group would value implementor feedback on the tests both in this document and those found in the editors' version. Contributions of additional tests are invited. The Last Call review period ends ??? 2003

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

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) the Web Ontology Working Group provides a set of test cases. This document presents those test cases. They are intended to provide examples for, and clarification of, the normative definition of OWL found in [OWL Semantics and Abstract Syntax] to which this document is 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 Semantics and Abstract Syntax].

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.

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.

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

3.1. Tests for Incorrect Use of OWL Namespace

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

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

3.2. Entailment Tests

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

3.3. Non-Entailment Tests

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

3.4. True Tests

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

3.5. OWL for OWL Tests

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

3.6. Consistency Tests

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

3.7. Inconsistency Tests

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

3.8. Import Entailment Tests

These tests use more than two documents. One is named premisesNNN.rdf, another is named conclusionsNNN.rdf, the rest have names 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 Semantics and Abstract Syntax], (see also OWL Full entailment).

3.9. Import Level Tests

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

4. Conformance (Normative)

4.1. Document Conformance

4.1.1. Syntactic Conformance

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

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

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

4.1.2. Semantic Conformance

An OWL document is consistent if and only if there exists some model of the document that is consistent with the constraints specified by the relevant model theory (see [OWL Semantics and Abstract Syntax]: OWL Lite and OWL DL, OWL Full).

4.2. Document Checker Conformance

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

4.2.1. Syntax Checker

An OWL syntax checker takes a document as input, and 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.

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

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

4.2.2. Consistency Checker

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

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

An OWL consistency checker MUST return Consistent only when the input document is consistent and Inconsistent only when the input document is not consistent (this property is usually called soundness).

An OWL consistency checker is complete, with respect to datatypes supported by its datatype theory [OWL Semantics and Abstract Syntax], if, given sufficient (but finite) resources (CPU cycles and memory) and the absence of network errors, it will always return either Consistent or Inconsistent; otherwise it is complete. It has been shown that for OWL Lite and DL it is possible to construct a complete consistency checker (the languages are decidable), and that for OWL full it is not possible to construct a complete consistency checker (the language is undecidable).

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

Five different conformance classes of OWL consistency checker are defined.

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

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

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

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 is complete.

A complete OWL DL consistency checker is an OWL consistency checker that is complete.

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)

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, as long as the datatypes required by the test are supported by the datatype theory of the consistency checker.

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

6. Manifest Files (Informative)

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

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

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

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

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

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

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

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

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

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

The input documents with the test data are found as the value of the rtest:inputDocument property or as the value of both the rtest:premiseDocument and the rtest:conclusionDocument. The support files for import entailment tests 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).

The datatypes used in the test are given with the otest:usedDatatype property or with its subproperty otest:supportedDatatype, which furthermore, indicates that the test is only valid when the datatype is supported by the datatype theory being used.

7. The OWL Tests (Normative)

7.1. By Function

7.1.1. owl:AllDifferent

FullPositive Entailment Test:001
Description: (informative) <AllDifferent/Manifest001#test> Jos De Roo
using AllDifferent to derive differentFrom
N3 format is informative.
FullPremises: <AllDifferent/premises001>
<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/AllDifferent/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/AllDifferent/premises001" >

    <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>
_: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 .
_:c rdf:first first:Betty .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:e rdf:first first:Barney .
_:e rdf:rest _:c .
_:e rdf:type rdf:List .
_:g rdf:first first:Wilma .
_:g rdf:rest _:e .
_:g rdf:type rdf:List .
_:i rdf:first first:Fred .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:distinctMembers _:i .
FullConclusions: <AllDifferent/conclusions001>
<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/AllDifferent/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/AllDifferent/conclusions001" >

    <rdf:Description rdf:about="premises001#Barney">
        <owl:differentFrom rdf:resource="premises001#Fred"/>
    </rdf:Description>

</rdf:RDF>
first:Barney owl:differentFrom first:Fred .

7.1.2. owl:FunctionalProperty

FullPositive Entailment Test:001
Description: (informative) <FunctionalProperty/Manifest001#test> Jeremy J. Carroll
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.
N3 format is informative.
FullPremises: <FunctionalProperty/premises001>
<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>
first:prop rdf:type owl:FunctionalProperty .
first:subject first:prop first:object1 .
first:subject first:prop first:object2 .
FullConclusions: <FunctionalProperty/conclusions001>
<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>
first:object1 owl:sameIndividualAs first:object2 .

FullPositive Entailment Test:002
Description: (informative) <FunctionalProperty/Manifest002#test> Jeremy J. Carroll
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.
N3 format is informative.
Namespaces:
@prefix eg: <http://www.example.org/> .
FullPremises: <FunctionalProperty/premises002>
<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>
first:prop rdf:type owl:FunctionalProperty .
first:object1 eg:prop2 "value" .
first:subject first:prop first:object1 .
first:subject first:prop first:object2 .
FullConclusions: <FunctionalProperty/conclusions002>
<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>
first:object2 eg:prop2 "value" .

FullPositive Entailment Test:003
Description: (informative) <FunctionalProperty/Manifest003#test> Jeremy J. Carroll
If prop is an owl:FunctionalProperty, then its inverse is an owl:InverseFunctionalProperty.
N3 format is informative.
FullPremises: <FunctionalProperty/premises003>
<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>
first:prop rdf:type owl:FunctionalProperty .
first:prop owl:inverseOf first:inv .
LiteConclusions: <FunctionalProperty/conclusions003>
<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>
first:inv rdf:type owl:InverseFunctionalProperty .

FullPositive Entailment Test:004
Description: (informative) <FunctionalProperty/Manifest004#test> Jeremy J. Carroll
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.
N3 format is informative.
FullPremises: <FunctionalProperty/premises004>
<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>
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: <FunctionalProperty/conclusions004>
<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>
first:prop rdf:type owl:FunctionalProperty .

7.1.3. owl:InverseFunctionalProperty

FullPositive Entailment Test:001
Description: (informative) <InverseFunctionalProperty/Manifest001#test> Jeremy J. Carroll
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.
N3 format is informative.
FullPremises: <InverseFunctionalProperty/premises001>
<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>
first:prop rdf:type owl:InverseFunctionalProperty .
first:subject1 first:prop first:object .
first:subject2 first:prop first:object .
FullConclusions: <InverseFunctionalProperty/conclusions001>
<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>
first:subject1 owl:sameIndividualAs first:subject2 .

FullPositive Entailment Test:002
Description: (informative) <InverseFunctionalProperty/Manifest002#test> Jeremy J. Carroll
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.
N3 format is informative.
Namespaces:
@prefix eg: <http://www.example.org/> .
FullPremises: <InverseFunctionalProperty/premises002>
<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>
first:prop rdf:type owl:InverseFunctionalProperty .
first:subject1 first:prop first:object .
first:subject1 eg:prop2 "value" .
first:subject2 first:prop first:object .
FullConclusions: <InverseFunctionalProperty/conclusions002>
<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>
first:subject2 eg:prop2 "value" .

FullPositive Entailment Test:003
Description: (informative) <InverseFunctionalProperty/Manifest003#test> Jeremy J. Carroll
If prop is an owl:InverseFunctionalProperty, then its inverse is an owl:FunctionalProperty.
N3 format is informative.
FullPremises: <InverseFunctionalProperty/premises003>
<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>
first:prop rdf:type owl:InverseFunctionalProperty .
first:prop owl:inverseOf first:inv .
FullConclusions: <InverseFunctionalProperty/conclusions003>
<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>
first:inv rdf:type owl:FunctionalProperty .

FullPositive Entailment Test:004
Description: (informative) <InverseFunctionalProperty/Manifest004#test> Jeremy J. Carroll
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.
N3 format is informative.
FullPremises: <InverseFunctionalProperty/premises004>
<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>
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 .
LiteConclusions: <InverseFunctionalProperty/conclusions004>
<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>
first:prop rdf:type owl:InverseFunctionalProperty .

7.1.4. owl:Nothing

DLOWL described in OWL.002
Description: (informative) <Nothing/Manifest002#test> Jeremy J. Carroll
An empty owl:Class has the same class extension as owl:Nothing.
N3 format is informative.
DLTrue: <Nothing/conclusions002>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xml:base='http://www.w3.org/2002/03owlt/Nothing/conclusions002'
    xmlns:owl="http://www.w3.org/2002/07/owl#">

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

</rdf:RDF>
_:a rdf:type owl:Class .
_:a owl:oneOf rdf:nil .
_:a owl:equivalentClass owl:Nothing .

7.1.5. owl:SymmetricProperty

FullPositive Entailment Test:001
Description: (informative) <SymmetricProperty/Manifest001#test> Jos De Roo
A simple illustration of symmetric properties.
N3 format is informative.
FullPremises: <SymmetricProperty/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: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>
first:Ghent first:path first:Antwerp .
first:path rdf:type owl:SymmetricProperty .
FullConclusions: <SymmetricProperty/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#"
    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>
first:Antwerp first:path first:Ghent .

7.1.6. owl:TransitiveProperty

FullPositive Entailment Test:001
Description: (informative) <TransitiveProperty/Manifest001#test> Jos De Roo
A simple illustration of transitivity.
N3 format is informative.
FullPremises: <TransitiveProperty/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: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>
first:Antwerp first:path first:Amsterdam .
first:Ghent first:path first:Antwerp .
first:path rdf:type owl:TransitiveProperty .
FullConclusions: <TransitiveProperty/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#"
    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>
first:Ghent first:path first:Amsterdam .

7.1.7. owl:allValuesFrom

LitePositive Entailment Test:001
Description: (informative) <allValuesFrom/Manifest001#test> Jeremy J. Carroll
A simple example.
N3 format is informative.
LitePremises: <allValuesFrom/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: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>
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: <allValuesFrom/conclusions001>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:first="http://www.w3.org/2002/03owlt/allValuesFrom/premises001#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    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>
    <owl:Class rdf:about="premises001#c"/>
</rdf:RDF>
first:o rdf:type first:c .
first:o rdf:type owl:Thing .
first:c rdf:type owl:Class .

LiteNegative Entailment Test:002
Description: (informative) <allValuesFrom/Manifest002#test> Jeremy J. Carroll
Another simple example; contrast with owl:someValuesFrom.
N3 format is informative.
LitePremises: <allValuesFrom/premises002>
<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>
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: <allValuesFrom/nonconclusions002>
<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" />
    <owl:ObjectProperty rdf:about="premises002#p"/>
    <owl:Class rdf:about="premises002#c"/>
</rdf:RDF>
first:i rdf:type owl:Thing .
_:a rdf:type first:c .
first:i first:p _:a .
_:a rdf:type owl:Thing .
first:p rdf:type owl:ObjectProperty .
first:c rdf:type owl:Class .

7.1.8. owl:cardinality

LitePositive Entailment Test:001
Description: (informative) <cardinality/Manifest001#test> Jeremy J. Carroll
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
N3 format is informative.
LitePremises: <cardinality/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#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises001" >
    <owl:Class rdf:ID="c">
      <rdfs:subClassOf>
         <owl:Restriction>
            <owl:onProperty rdf:resource="#p"/>
            <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
            >1</owl:cardinality>
         </owl:Restriction>
      </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
first:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
first:c rdfs:subClassOf _:a .
first:p rdf:type owl:ObjectProperty .
LiteConclusions: <cardinality/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/cardinality/conclusions001" >
    <owl:Class rdf:about="premises001#c">
      <rdfs:subClassOf>
        <owl:Restriction>
          <owl:onProperty rdf:resource="premises001#p"/>
          <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >1</owl:maxCardinality>
        </owl:Restriction>
      </rdfs:subClassOf>
      <rdfs:subClassOf>
        <owl:Restriction>
          <owl:onProperty rdf:resource="premises001#p"/>
          <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
           >1</owl:minCardinality>
         </owl:Restriction>
       </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty rdf:about="premises001#p"/>
</rdf:RDF>
first:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
first:c rdfs:subClassOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:p .
_:c owl:minCardinality "1"^^xsd:nonNegativeInteger  .
first:c rdfs:subClassOf _:c .
first:p rdf:type owl:ObjectProperty .

LitePositive Entailment Test:002
Description: (informative) <cardinality/Manifest002#test> Jeremy J. Carroll
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
N3 format is informative.
LitePremises: <cardinality/premises002>
<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>
        <owl:Restriction>
          <owl:onProperty rdf:resource="conclusions002#p"/>
          <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >1</owl:maxCardinality>
        </owl:Restriction>
      </rdfs:subClassOf>
      <rdfs:subClassOf>
        <owl:Restriction>
          <owl:onProperty rdf:resource="conclusions002#p"/>
          <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >1</owl:minCardinality>
        </owl:Restriction>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:about="conclusions002#p"/>
</rdf:RDF>
second:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
second:c rdfs:subClassOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty second:p .
_:c owl:minCardinality "1"^^xsd:nonNegativeInteger  .
second:c rdfs:subClassOf _:c .
second:p rdf:type owl:ObjectProperty .
LiteConclusions: <cardinality/conclusions002>
<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>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#p"/>
          <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >1</owl:cardinality>
        </owl:Restriction>
      </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
second:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
second:c rdfs:subClassOf _:a .
second:p rdf:type owl:ObjectProperty .

DLPositive Entailment Test:003
Description: (informative) <cardinality/Manifest003#test> Jeremy J. Carroll
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
N3 format is informative.
DLPremises: <cardinality/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#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises003" >
    <owl:Class rdf:ID="c">
      <rdfs:subClassOf>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#p"/>
          <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >2</owl:cardinality>
        </owl:Restriction>
      </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
first:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:cardinality "2"^^xsd:nonNegativeInteger  .
first:c rdfs:subClassOf _:a .
first:p rdf:type owl:ObjectProperty .
DLConclusions: <cardinality/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/cardinality/conclusions003" >
    <owl:Class rdf:about="premises003#c">
      <rdfs:subClassOf>
        <owl:Restriction>
          <owl:onProperty rdf:resource="premises003#p"/>
          <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >2</owl:maxCardinality>
        </owl:Restriction>
      </rdfs:subClassOf>
      <rdfs:subClassOf>
        <owl:Restriction>
          <owl:onProperty rdf:resource="premises003#p"/>
          <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >2</owl:minCardinality>
        </owl:Restriction>
      </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty rdf:about="premises003#p"/>
</rdf:RDF>
first:c rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:maxCardinality "2"^^xsd:nonNegativeInteger  .
first:c rdfs:subClassOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:p .
_:c owl:minCardinality "2"^^xsd:nonNegativeInteger  .
first:c rdfs:subClassOf _:c .
first:p rdf:type owl:ObjectProperty .

DLPositive Entailment Test:004
Description: (informative) <cardinality/Manifest004#test> Jeremy J. Carroll
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
N3 format is informative.
DLPremises: <cardinality/premises004>
<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>
          <owl:Class>
             <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>
           </owl:Class>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:about="conclusions004#p"/>
</rdf:RDF>
second:c rdf:type owl:Class .
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
_:c owl:onProperty second:p .
_:c owl:maxCardinality "2"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
_:e owl:onProperty second:p .
_:e owl:minCardinality "2"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:intersectionOf _:i .
second:c rdfs:subClassOf _:a .
second:p rdf:type owl:ObjectProperty .
DLConclusions: <cardinality/conclusions004>
<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>
          <owl:Class>
             <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>
           </owl:Class>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
second:c rdf:type owl:Class .
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
_:c owl:onProperty second:p .
_:c owl:cardinality "2"^^xsd:nonNegativeInteger  .
_:e rdf:first _:c .
_:e rdf:rest rdf:nil .
_:e rdf:type rdf:List .
_:a owl:intersectionOf _:e .
second:c rdfs:subClassOf _:a .
second:p rdf:type owl:ObjectProperty .

7.1.9. owl:complementOf

FullPositive Entailment Test:001
Description: (informative) <complementOf/Manifest001#test> Jos De Roo
complementOf is a SymmetricProperty.
N3 format is informative.
FullPremises: <complementOf/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: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>
first:A owl:complementOf first:B .
FullConclusions: <complementOf/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#"
    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>
first:B owl:complementOf first:A .

7.1.10. owl:differentFrom

FullPositive Entailment Test:001
Description: (informative) <differentFrom/Manifest001#test> Jos De Roo
differentFrom is a SymmetricProperty.
N3 format is informative.
FullPremises: <differentFrom/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: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>
first:a owl:differentFrom first:b .
FullConclusions: <differentFrom/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#"
    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>
first:b owl:differentFrom first:a .

FullPositive Entailment Test:002
Description: (informative) <differentFrom/Manifest002#test> Jos De Roo
using distinctMembers to derive differentFrom
N3 format is informative.
FullPremises: <differentFrom/premises002>
<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>
_: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 .
_:c rdf:first first:Betty .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:e rdf:first first:Barney .
_:e rdf:rest _:c .
_:e rdf:type rdf:List .
_:g rdf:first first:Wilma .
_:g rdf:rest _:e .
_:g rdf:type rdf:List .
_:i rdf:first first:Fred .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:distinctMembers _:i .
FullConclusions: <differentFrom/conclusions002>
<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>
first:Barney owl:differentFrom first:Wilma .

7.1.11. owl:disjointWith

DLPositive Entailment Test:001
Description: (informative) <disjointWith/Manifest001#test> Jeremy J. Carroll
Disjoint classes have different members.
N3 format is informative.
DLPremises: <disjointWith/premises001>
<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>
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 .
LiteConclusions: <disjointWith/conclusions001>
<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>
first:a rdf:type owl:Thing .
first:b rdf:type owl:Thing .
first:a owl:differentFrom first:b .

FullPositive Entailment Test:002
Description: (informative) <disjointWith/Manifest002#test> Jeremy J. Carroll
Disjoint classes have different members.
N3 format is informative.
FullPremises: <disjointWith/premises002>
<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>
first:A owl:disjointWith first:B .
first:a rdf:type first:A .
first:b rdf:type first:B .
FullConclusions: <disjointWith/conclusions002>
<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>
first:a owl:differentFrom first:b .

7.1.12. owl:distinctMembers

FullPositive Entailment Test:001
Description: (informative) <distinctMembers/Manifest001#test> Jos De Roo
using distinctMembers to derive differentFrom
N3 format is informative.
FullPremises: <distinctMembers/premises001>
<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/distinctMembers/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/distinctMembers/premises001" >

    <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>
_: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 .
_:c rdf:first first:Betty .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:e rdf:first first:Barney .
_:e rdf:rest _:c .
_:e rdf:type rdf:List .
_:g rdf:first first:Wilma .
_:g rdf:rest _:e .
_:g rdf:type rdf:List .
_:i rdf:first first:Fred .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:distinctMembers _:i .
FullConclusions: <distinctMembers/conclusions001>
<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/distinctMembers/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/distinctMembers/conclusions001" >

    <rdf:Description rdf:about="premises001#Fred">
        <owl:differentFrom rdf:resource="premises001#Barney"/>
    </rdf:Description>

</rdf:RDF>
first:Fred owl:differentFrom first:Barney .

7.1.13. owl:equivalentClass

LitePositive Entailment Test:001
Description: (informative) <equivalentClass/Manifest001#test> Jeremy J. Carroll
Two classes may have the same class extension.
N3 format is informative.
LitePremises: <equivalentClass/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:first="http://www.w3.org/2002/03owlt/equivalentClass/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premises001" >
   <owl:Class rdf:ID="Car">
     <owl:equivalentClass>
       <owl:Class rdf:ID="Automobile"/>
     </owl:equivalentClass>
  </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>
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .
first:Car owl:equivalentClass 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: <equivalentClass/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#"
    xmlns:first="http://www.w3.org/2002/03owlt/equivalentClass/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/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>
   <owl:Class rdf:about="premises001#Car"/>
   <owl:Class rdf:about="premises001#Automobile"/>
</rdf:RDF>
first:auto rdf:type first:Car .
first:auto rdf:type owl:Thing .
first:car rdf:type first:Automobile .
first:car rdf:type owl:Thing .
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .

LitePositive Entailment Test:002
Description: (informative) <equivalentClass/Manifest002#test> Jeremy J. Carroll
Two classes may be different names for the same set of individuals
N3 format is informative.
LitePremises: <equivalentClass/premises002>
<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/equivalentClass/premises002" >
   <owl:Class rdf:ID="Car">
     <owl:equivalentClass>
       <owl:Class rdf:ID="Automobile"/>
     </owl:equivalentClass>
  </owl:Class>
</rdf:RDF>
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .
first:Car owl:equivalentClass first:Automobile .
LiteConclusions: <equivalentClass/conclusions002>
<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/equivalentClass/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>
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .
first:Automobile rdfs:subClassOf first:Car .
first:Car rdfs:subClassOf first:Automobile .

LitePositive Entailment Test:003
Description: (informative) <equivalentClass/Manifest003#test> Jeremy J. Carroll
Two classes may be different names for the same set of individuals
N3 format is informative.
LitePremises: <equivalentClass/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#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/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>
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: <equivalentClass/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/equivalentClass/conclusions003" >
   <owl:Class rdf:ID="Car">
     <owl:equivalentClass>
       <owl:Class rdf:ID="Automobile"/>
     </owl:equivalentClass>
  </owl:Class>
</rdf:RDF>
second:Car rdf:type owl:Class .
second:Automobile rdf:type owl:Class .
second:Car owl:equivalentClass second:Automobile .

LitePositive Entailment Test:004
Description: (informative) <equivalentClass/Manifest004#test> Jeremy J. Carroll
Two classes with the same complete description are equivalent.
N3 format is informative.
LitePremises: <equivalentClass/premises004>
<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/equivalentClass/premises004" >
    <owl:Class rdf:ID="c1">
             <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>
           </owl:Class>
    <owl:Class rdf:ID="c2">
             <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>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
first:c1 rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:c rdf:first _:a .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
first:c1 owl:intersectionOf _:c .
first:c2 rdf:type owl:Class .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:p .
_:e owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
first:c2 owl:intersectionOf _:g .
first:p rdf:type owl:ObjectProperty .
LiteConclusions: <equivalentClass/conclusions004>
<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/equivalentClass/conclusions004" >
<owl:Class rdf:about="premises004#c1">
     <owl:equivalentClass>
       <owl:Class rdf:about="premises004#c2"/>
     </owl:equivalentClass>
  </owl:Class>
</rdf:RDF>
first:c1 rdf:type owl:Class .
first:c2 rdf:type owl:Class .
first:c1 owl:equivalentClass first:c2 .

LiteNegative Entailment Test:005
Description: (informative) <equivalentClass/Manifest005#test> Jeremy J. Carroll
Two classes with the same partial description are not equivalent.
N3 format is informative.
LitePremises: <equivalentClass/premises005>
<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/equivalentClass/premises005" >
    <owl:Class rdf:ID="c1">
      <rdfs:subClassOf>
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:cardinality>
                </owl:Restriction>
       </rdfs:subClassOf>
     </owl:Class>
    <owl:Class rdf:ID="c2">
      <rdfs:subClassOf>
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:cardinality>
                </owl:Restriction>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
first:c1 rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
first:c1 rdfs:subClassOf _:a .
first:c2 rdf:type owl:Class .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:p .
_:c owl:cardinality "1"^^xsd:nonNegativeInteger  .
first:c2 rdfs:subClassOf _:c .
first:p rdf:type owl:ObjectProperty .
LiteConclusions: <equivalentClass/nonconclusions005>
<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/equivalentClass/nonconclusions005" >
<owl:Class rdf:about="premises005#c1">
     <owl:equivalentClass>
       <owl:Class rdf:about="premises005#c2"/>
     </owl:equivalentClass>
  </owl:Class>
</rdf:RDF>
first:c1 rdf:type owl:Class .
first:c2 rdf:type owl:Class .
first:c1 owl:equivalentClass first:c2 .

DLPositive Entailment Test:006
Description: (informative) <equivalentClass/Manifest006#test> Jeremy J. Carroll
De Morgan's law.
N3 format is informative.
LitePremises: <equivalentClass/premises006>
<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/equivalentClass/premises006" >
   <owl:Class rdf:ID="A"/>
   <owl:Class rdf:ID="B"/>
</rdf:RDF>
first:A rdf:type owl:Class .
first:B rdf:type owl:Class .
DLConclusions: <equivalentClass/conclusions006>
<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/equivalentClass/conclusions006" >
   <owl:Class>
      <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class>
             <owl:complementOf rdf:resource="premises006#A"/>
          </owl:Class>
          <owl:Class>
             <owl:complementOf rdf:resource="premises006#B"/>
          </owl:Class>
      </owl:intersectionOf>
      <owl:equivalentClass>
        <owl:Class>
          <owl:complementOf>
             <owl:Class>
               <owl:unionOf rdf:parseType="Collection">
                 <rdf:Description rdf:about="premises006#A"/>
                 <rdf:Description rdf:about="premises006#B"/>
               </owl:unionOf>
             </owl:Class>
          </owl:complementOf>
        </owl:Class>
      </owl:equivalentClass>
   </owl:Class>   
   <owl:Class rdf:about="premises006#A"/>
   <owl:Class rdf:about="premises006#B"/>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Class .
_:c owl:complementOf first:A .
_:e rdf:type owl:Class .
_:e owl:complementOf first:B .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:intersectionOf _:i .
_:k rdf:type owl:Class .
_:m rdf:type owl:Class .
_:o rdf:first first:B .
_:o rdf:rest rdf:nil .
_:o rdf:type rdf:List .
_:q rdf:first first:A .
_:q rdf:rest _:o .
_:q rdf:type rdf:List .
_:m owl:unionOf _:q .
_:k owl:complementOf _:m .
_:a owl:equivalentClass _:k .
first:A rdf:type owl:Class .
first:B rdf:type owl:Class .

7.1.14. owl:equivalentProperty

LitePositive Entailment Test:001
Description: (informative) <equivalentProperty/Manifest001#test> Jeremy J. Carroll
hasLeader may be stated to be the owl:equivalentProperty of hasHead.
N3 format is informative.
LitePremises: <equivalentProperty/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:first="http://www.w3.org/2002/03owlt/equivalentProperty/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentProperty/premises001" >
   <owl:ObjectProperty rdf:ID="hasHead">
      <owl:equivalentProperty>
         <owl:ObjectProperty rdf:ID="hasLeader"/>
      </owl:equivalentProperty>
   </owl:ObjectProperty>
   <owl:Thing rdf:ID="X">
     <first:hasLeader>
        <owl:Thing rdf:ID="Y"/>
     </first:hasLeader>
   </owl:Thing>
</rdf:RDF>
first:hasHead rdf:type owl:ObjectProperty .
first:hasLeader rdf:type owl:ObjectProperty .
first:hasHead owl:equivalentProperty first:hasLeader .
first:X rdf:type owl:Thing .
first:Y rdf:type owl:Thing .
first:X first:hasLeader first:Y .
LiteConclusions: <equivalentProperty/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#"
    xmlns:first="http://www.w3.org/2002/03owlt/equivalentProperty/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentProperty/conclusions001" >
   <owl:Thing rdf:about="premises001#X">
     <first:hasHead>
        <owl:Thing rdf:about="premises001#Y"/>
     </first:hasHead>
   </owl:Thing>   
   <owl:ObjectProperty rdf:about="premises001#hasHead"/>
</rdf:RDF>
first:X rdf:type owl:Thing .
first:Y rdf:type owl:Thing .
first:X first:hasHead first:Y .
first:hasHead rdf:type owl:ObjectProperty .

LitePositive Entailment Test:002
Description: (informative) <equivalentProperty/Manifest002#test> Jeremy J. Carroll
A reasoner can also deduce that hasLeader is a subProperty of hasHead and hasHead is a subProperty of hasLeader.
N3 format is informative.
LitePremises: <equivalentProperty/premises002>
<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/equivalentProperty/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentProperty/premises002" >
   <owl:ObjectProperty rdf:ID="hasHead">
      <owl:equivalentProperty>
         <owl:ObjectProperty rdf:ID="hasLeader"/>
      </owl:equivalentProperty>
   </owl:ObjectProperty>
</rdf:RDF>
first:hasHead rdf:type owl:ObjectProperty .
first:hasLeader rdf:type owl:ObjectProperty .
first:hasHead owl:equivalentProperty first:hasLeader .
LiteConclusions: <equivalentProperty/conclusions002>
<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/equivalentProperty/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentProperty/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>
first:hasHead rdf:type owl:ObjectProperty .
first:hasHead rdfs:subPropertyOf first:hasLeader .
first:hasLeader rdf:type owl:ObjectProperty .
first:hasLeader rdfs:subPropertyOf first:hasHead .

LitePositive Entailment Test:003
Description: (informative) <equivalentProperty/Manifest003#test> Jeremy J. Carroll
The inverse entailment of test 002 also holds.
N3 format is informative.
LitePremises: <equivalentProperty/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#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentProperty/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>
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: <equivalentProperty/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/equivalentProperty/conclusions003" >
   <owl:ObjectProperty rdf:ID="hasHead">
      <owl:equivalentProperty>
         <owl:ObjectProperty rdf:ID="hasLeader"/>
      </owl:equivalentProperty>
   </owl:ObjectProperty>
</rdf:RDF>
second:hasHead rdf:type owl:ObjectProperty .
second:hasLeader rdf:type owl:ObjectProperty .
second:hasHead owl:equivalentProperty second:hasLeader .

DLPositive Entailment Test:004
Description: (informative) <equivalentProperty/Manifest004#test> Jeremy J. Carroll
If p and q have the same property extension then p equivalentProperty q.
N3 format is informative.
DLPremises: <equivalentProperty/premises004>
<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/equivalentProperty/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:equivalentClass>
              <owl:Restriction>
                <owl:onProperty rdf:resource="#p"/>
                <owl:hasValue rdf:resource="#v"/>
              </owl:Restriction>
     </owl:equivalentClass>
     <owl:equivalentClass>
              <owl:Restriction>
                <owl:onProperty rdf:resource="#q"/>
                <owl:hasValue rdf:resource="#v"/>
              </owl:Restriction>
     </owl:equivalentClass>
   </owl:Class>
</rdf:RDF>
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 .
first:d owl:equivalentClass _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:q .
_:c owl:hasValue first:v .
first:d owl:equivalentClass _:c .
LiteConclusions: <equivalentProperty/conclusions004>
<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/equivalentProperty/conclusions004" >
   <owl:ObjectProperty rdf:about="premises004#p">
      <owl:equivalentProperty>
         <owl:ObjectProperty rdf:about="premises004#q"/>
      </owl:equivalentProperty>
   </owl:ObjectProperty>
</rdf:RDF>
first:p rdf:type owl:ObjectProperty .
first:q rdf:type owl:ObjectProperty .
first:p owl:equivalentProperty first:q .

FullPositive Entailment Test:005
Description: (informative) <equivalentProperty/Manifest005#test> Jeremy J. Carroll
If p and q have the same property extension then p owl:equivalentProperty q.
N3 format is informative.
FullPremises: <equivalentProperty/premises005>
<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/equivalentProperty/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>
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: <equivalentProperty/conclusions005>
<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/equivalentProperty/conclusions005" >
   <rdf:Description rdf:about="premises005#p">
      <owl:equivalentProperty rdf:resource="premises005#q"/>
   </rdf:Description>
</rdf:RDF>
first:p owl:equivalentProperty first:q .

FullPositive Entailment Test:006
Description: (informative) <equivalentProperty/Manifest006#test> Jeremy J. Carroll
hasLeader may be stated to be the owl:equivalentProperty of hasHead.
N3 format is informative.
FullPremises: <equivalentProperty/premises006>
<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/equivalentProperty/premises006#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentProperty/premises006" >
   <rdf:Description rdf:ID="hasHead">
      <owl:equivalentProperty>
         <rdf:Description rdf:ID="hasLeader"/>
      </owl:equivalentProperty>
   </rdf:Description>
   <rdf:Description rdf:ID="X">
     <first:hasLeader>
        <rdf:Description rdf:ID="Y"/>
     </first:hasLeader>
   </rdf:Description>
</rdf:RDF>
first:hasHead owl:equivalentProperty first:hasLeader .
first:X first:hasLeader first:Y .
FullConclusions: <equivalentProperty/conclusions006>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:first="http://www.w3.org/2002/03owlt/equivalentProperty/premises006#"
    xml:base="http://www.w3.org/2002/03owlt/equivalentProperty/conclusions006" >
   <rdf:Description rdf:about="premises006#X">
     <first:hasHead rdf:resource="premises006#Y" />
   </rdf:Description>
</rdf:RDF>
first:X first:hasHead first:Y .

7.1.15. owl:imports

FullImport Entailment Test:001
Description: (informative) <imports/Manifest001#test> Jeff Heflin
If a document imports another document, then it entails anything that is entailed by the conjunction of the two documents.
N3 format is informative.
Namespaces:
@prefix ont: <http://www.w3.org/2002/03owlt/imports/support001-A#> .
FullPremises: <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>
<imports/premises001> owl:imports <imports/support001-A> .
<http://example.org/data#Socrates> rdf:type ont:Man .
LiteImported Premises <imports/support001-A>
<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>
<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 .
FullConclusions: <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>
<http://example.org/data#Socrates> rdf:type ont:Mortal .

FullNegative Entailment Test:002
Description: (informative) <imports/Manifest002#test> Jeff Heflin
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.
N3 format is informative.
Namespaces:
@prefix ont: <http://www.w3.org/2002/03owlt/imports/support002-A#> .
FullPremises: <imports/premises002>
<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>
<http://example.org/data#Socrates> rdf:type ont:Man .
FullConclusions: <imports/nonconclusions002>
<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>
<http://example.org/data#Socrates> rdf:type ont:Mortal .

FullImport Entailment Test:003
Description: (informative) <imports/Manifest003#test> Jeff Heflin
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.
N3 format is informative.
Namespaces:
@prefix ont: <http://www.w3.org/2002/03owlt/imports/support003-A#> .
FullPremises: <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>
<imports/premises003> owl:imports <imports/support003-A> .
<http://example.org/data#Socrates> rdf:type ont:Man .
LiteImported Premises <imports/support003-A>
<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>
<imports/support003-A> rdf:type owl:Ontology .
<imports/support003-A> owl:imports <imports/support003-B> .
ont:Man rdf:type owl:Class .
ont:Man rdfs:subClassOf ont:Person .
ont:Person rdf:type owl:Class .
LiteImported Premises <imports/support003-B>
<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>
<imports/support003-B> rdf:type owl:Ontology .
ont:Person rdf:type owl:Class .
ont:Person rdfs:subClassOf <imports/support003-B#Mortal> .
<imports/support003-B#Mortal> rdf:type owl:Class .
FullConclusions: <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>
<http://example.org/data#Socrates> rdf:type <imports/support003-B#Mortal> .

FullImports Level Test:004
Description: (informative) <imports/Manifest004#test> Jeremy J. Carroll
Importing OWL Full documents may change the level of OWL Lite or OWL DL documents.
N3 format is informative.
FullImported document: <imports/imports004>
<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>
first:c rdf:type rdfs:Class .
FullMain document: <imports/main004>
<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>
<imports/main004> rdf:type owl:Ontology .
<imports/main004> owl:imports <imports/imports004> .

DLImports Level Test:005
Description: (informative) <imports/Manifest005#test> Jeremy J. Carroll
OWL DL documents cannot be imported by OWL Lite documents.
N3 format is informative.
DLImported document: <imports/imports005>
<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:Ontology rdf:about=""/>
    <owl:Class rdf:ID="c">
      <owl:oneOf rdf:parseType="Collection">
        <owl:Thing rdf:ID="x"/>
      </owl:oneOf>
    </owl:Class>
</rdf:RDF>
<imports/imports005> rdf:type owl:Ontology .
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: <imports/main005>
<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>
<imports/main005> rdf:type owl:Ontology .
<imports/main005> owl:imports <imports/imports005> .

LiteImports Level Test:006
Description: (informative) <imports/Manifest006#test> Jeremy J. Carroll
The type declarations required by semantic layering can be imported into an OWL Lite or OWL DL file.
N3 format is informative.
LiteImported document: <imports/imports006>
<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:Ontology rdf:about=""/>
    <owl:Class rdf:ID="c"/>
</rdf:RDF>
<imports/imports006> rdf:type owl:Ontology .
first:c rdf:type owl:Class .
LiteMain document: <imports/main006>
<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>
<imports/main006> rdf:type owl:Ontology .
<imports/main006> owl:imports <imports/imports006> .
second:x rdf:type first:c .

LiteImports Level Test:007
Description: (informative) <imports/Manifest007#test> Jeremy J. Carroll
The type declarations required by semantic layering can be imported into an OWL Lite or OWL DL file.
N3 format is informative.
LiteImported document: <imports/imports007>
<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:Ontology rdf:about=""/>
    <owl:ObjectProperty rdf:ID="p"/>
</rdf:RDF>
<imports/imports007> rdf:type owl:Ontology .
first:p rdf:type owl:ObjectProperty .
LiteMain document: <imports/main007>
<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>
<imports/main007> rdf:type owl:Ontology .
<imports/main007> owl:imports <imports/imports007> .
_:a rdf:type owl:Thing .
_:c rdf:type owl:Thing .
_:a first:p _:c .

LiteImports Level Test:008
Description: (informative) <imports/Manifest008#test> Jeremy J. Carroll
Some RDFS files can have type declarations added to make a useful OWL Lite file.
N3 format is informative.
FullImported document: <imports/imports008>
<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>
first:sub rdf:type rdfs:Class .
first:sub rdfs:subClassOf first:super .
LiteMain document: <imports/main008>
<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> 
         <owl:Ontology rdf:about="imports008"/>
      </owl:imports>
    </owl:Ontology>
    <owl:Class rdf:about="imports008#sub"/>
    <owl:Class rdf:about="imports008#super"/>
</rdf:RDF>
<imports/main008> rdf:type owl:Ontology .
<imports/imports008> rdf:type owl:Ontology .
<imports/main008> owl:imports <imports/imports008> .
first:sub rdf:type owl:Class .
first:super rdf:type owl:Class .

7.1.16. owl:intersectionOf

FullPositive Entailment Test:001
Description: (informative) <intersectionOf/Manifest001#test> Jos De Roo
The order of the classes in an intersectionOf construct is unimportant.
N3 format is informative.
FullPremises: <intersectionOf/premises001>
<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>
_:a rdf:first first:Employee .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:c rdf:first first:Student .
_:c rdf:rest _:a .
_:c rdf:type rdf:List .
first:B owl:intersectionOf _:c .
_:e rdf:first first:Student .
_:e rdf:rest rdf:nil .
_:e rdf:type rdf:List .
_:g rdf:first first:Employee .
_:g rdf:rest _:e .
_:g rdf:type rdf:List .
first:C owl:intersectionOf _:g .
first:John rdf:type first:B .
FullConclusions: <intersectionOf/conclusions001>
<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>
first:John rdf:type first:C .

7.1.17. owl:inverseOf

FullPositive Entailment Test:001
Description: (informative) <inverseOf/Manifest001#test> Dan Connolly
If the pair (x,y) is an instance of P, than the pair (y,x) is an instance of the named property.
N3 format is informative.
Namespaces:
@prefix my: <http://example.net/myVocab#> .
@prefix your: <http://example.net/yourVocab#> .
@prefix eg: <http://example.net/vocab#> .
FullPremises: <inverseOf/premises001>
<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#"
    xml:base='http://www.w3.org/2002/03owlt/inverseOf/premises001'
    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>
my:hasBrother owl:inverseOf your:isBrotherOf .
eg:joe my:hasBrother eg:bob .
FullConclusions: <inverseOf/conclusions001>
<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xml:base='http://www.w3.org/2002/03owlt/inverseOf/conclusions001'
    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>
eg:bob your:isBrotherOf eg:joe .

7.1.18. owl:maxCardinality

FullInconsistent document.001
Description: (informative) <maxCardinality/Manifest001#test> Jos De Roo
A property with maximum cardinality of two cannot take three distinct values on some subject node.
N3 format is informative.
FullInconsistent: <maxCardinality/inconsistent001>
<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>
_: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 .

FullInconsistent document.002
Description: (informative) <maxCardinality/Manifest002#test> Jos De Roo
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.
N3 format is informative.
FullInconsistent: <maxCardinality/inconsistent002>
<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>
_: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 .

7.1.19. owl:oneOf

FullConsistent document.001
Description: (informative) <oneOf/Manifest001#test> Jeremy J. Carroll
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.
N3 format is informative.
FullConsistent: <oneOf/consistent001>
<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:equivalentClass>
           <owl:Class>
             <owl:oneOf rdf:parseType="Collection">
               <rdf:Description rdf:ID="yolanda"/>
               <rdf:Description rdf:ID="zebedee"/>
             </owl:oneOf>
           </owl:Class>
      </owl:equivalentClass>
   </owl:Class>

</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:first first:caroline .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:e rdf:first first:bob .
_:e rdf:rest _:c .
_:e rdf:type rdf:List .
_:g rdf:first first:amy .
_:g rdf:rest _:e .
_:g rdf:type rdf:List .
_:a owl:oneOf _:g .
_:i rdf:type owl:Class .
_:k rdf:first first:zebedee .
_:k rdf:rest rdf:nil .
_:k rdf:type rdf:List .
_:m rdf:first first:yolanda .
_:m rdf:rest _:k .
_:m rdf:type rdf:List .
_:i owl:oneOf _:m .
_:a owl:equivalentClass _:i .

FullPositive Entailment Test:002
Description: (informative) <oneOf/Manifest002#test> Jos De Roo
oneOf describes a class by enumerating its individuals.
N3 format is informative.
FullPremises: <oneOf/premises002>
<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>
_:a rdf:first first:large .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:c rdf:first first:medium .
_:c rdf:rest _:a .
_:c rdf:type rdf:List .
_:e rdf:first first:small .
_:e rdf:rest _:c .
_:e rdf:type rdf:List .
first:TShirt owl:oneOf _:e .
FullConclusions: <oneOf/conclusions002>
<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>
first:small rdf:type first:TShirt .

FullPositive Entailment Test:003
Description: (informative) <oneOf/Manifest003#test> Jos De Roo
The order of the instances in an owl:oneOf construct is unimportant.
N3 format is informative.
FullPremises: <oneOf/premises003>
<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>
_:a rdf:first first:large .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:c rdf:first first:medium .
_:c rdf:rest _:a .
_:c rdf:type rdf:List .
_:e rdf:first first:small .
_:e rdf:rest _:c .
_:e rdf:type rdf:List .
first:T1 owl:oneOf _:e .
_:g rdf:first first:small .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first first:medium .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:k rdf:first first:large .
_:k rdf:rest _:i .
_:k rdf:type rdf:List .
first:T2 owl:oneOf _:k .
first:myT rdf:type first:T1 .
FullConclusions: <oneOf/conclusions003>
<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>
first:myT rdf:type first:T2 .

7.1.20. owl:someValuesFrom

FullNegative Entailment Test:002
Description: (informative) <someValuesFrom/Manifest002#test> Jeremy J. Carroll
A simple example showing how owl:someValuesFrom differs from owl:allValuesFrom.
N3 format is informative.
FullPremises: <someValuesFrom/premises002>
<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>
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: <someValuesFrom/nonconclusions002>
<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/nonconclusions002" >
    <first:c rdf:about="premises001#o"/>

</rdf:RDF>
<someValuesFrom/premises001#o> rdf:type first:c .

7.1.21. owl:unionOf

FullPositive Entailment Test:001
Description: (informative) <unionOf/Manifest001#test> Jos De Roo
A union is a superclass of its parts.
N3 format is informative.
FullPremises: <unionOf/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: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>
_:a rdf:first first:Animal .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:c rdf:first first:Human .
_:c rdf:rest _:a .
_:c rdf:type rdf:List .
first:A owl:unionOf _:c .
first:John rdf:type first:Human .
FullConclusions: <unionOf/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#"
    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>
first:John rdf:type first:A .

FullPositive Entailment Test:002
Description: (informative) <unionOf/Manifest002#test> Jos De Roo
A union behaves quite like set theoretic union.
N3 format is informative.
FullPremises: <unionOf/premises002>
<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>
_:a rdf:first first:Animal .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
_:c rdf:first first:Human .
_:c rdf:rest _:a .
_:c rdf:type rdf:List .
first:A owl:unionOf _:c .
_:e rdf:first first:Stone .
_:e rdf:rest rdf:nil .
_:e rdf:type rdf:List .
_:g rdf:first first:Human .
_:g rdf:rest _:e .
_:g rdf:type rdf:List .
_:i rdf:first first:Animal .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
first:B owl:unionOf _:i .
first:John rdf:type first:A .
FullConclusions: <unionOf/conclusions002>
<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>
first:John rdf:type first:B .

7.2. By Issue

7.2.1. Qualified Restrictions

LiteIllegal use of OWL namespace.001
Description: (informative) <I3.2/Manifest001#test> Jeremy J. Carroll
The names used in a DAML+OIL qualified cardinality constraint are not defined the OWL namespace.
N3 format is informative.
Namespaces:
@prefix eg: <http://example.org/> .
FullIncorrect: <I3.2/bad001>
<!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;"
         xml:base=
           'http://www.w3.org/2002/03owlt/I3.2/bad001'
    >

   <owl:Restriction owl:cardinalityQ="1">
      <owl:onProperty rdf:resource="#exampleProp"/>
      <owl:hasClassQ rdf:resource="#exampleClass"/>
   </owl:Restriction>
  
</rdf:RDF>
_:a rdf:type owl:Restriction .
_:a owl:cardinalityQ "1" .
_:a owl:onProperty first:exampleProp .
_:a owl:hasClassQ first:exampleClass .

LiteIllegal use of OWL namespace.002
Description: (informative) <I3.2/Manifest002#test> Jeremy J. Carroll
The names used in a DAML+OIL qualified max cardinality constraint are not defined the OWL namespace.
N3 format is informative.
FullIncorrect: <I3.2/bad002>
<!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;"
         xml:base=
           'http://www.w3.org/2002/03owlt/I3.2/bad002'
    >
   <owl:Restriction owl:maxCardinalityQ="1">
      <owl:onProperty rdf:resource="#exampleProp"/>
      <owl:hasClassQ rdf:resource="#exampleClass"/>
   </owl:Restriction>
  
</rdf:RDF>
_:a rdf:type owl:Restriction .
_:a owl:maxCardinalityQ "1" .
_:a owl:onProperty first:exampleProp .
_:a owl:hasClassQ first:exampleClass .

LiteIllegal use of OWL namespace.003
Description: (informative) <I3.2/Manifest003#test> Jeremy J. Carroll
The names used in a DAML+OIL qualified min cardinality constraint are not defined the OWL namespace.
N3 format is informative.
Namespaces:
@prefix eg: <http://example.org/> .
FullIncorrect: <I3.2/bad003>
<!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;"
         xml:base=
           'http://www.w3.org/2002/03owlt/I3.2/bad003'
    >

   <owl:Restriction owl:minCardinalityQ="1">
      <owl:onProperty rdf:resource="#exampleProp"/>
      <owl:hasClassQ rdf:resource="#exampleClass"/>
   </owl:Restriction>
  
</rdf:RDF>
_:a rdf:type owl:Restriction .
_:a owl:minCardinalityQ "1" .
_:a owl:onProperty first:exampleProp .
_:a owl:hasClassQ first:exampleClass .

7.2.2. UnambiguousProperty

LiteIllegal use of OWL namespace.001
Description: (informative) <I3.4/Manifest001#test> Jeremy J. Carroll
The name UnambiguousProperty is not defined in the OWL namespace. daml:UnambiguousProperty corresponds to owl:InverseFunctionalProperty.
N3 format is informative.
FullIncorrect: <I3.4/bad001>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xml:base=
           'http://www.w3.org/2002/03owlt/I3.4/bad001'
  xmlns:owl ="http://www.w3.org/2002/07/owl#" >
    <owl:UnambiguousProperty rdf:ID="Name"/>
</rdf:RDF>
first:Name rdf:type owl:UnambiguousProperty .

7.2.3. UniqueProp BadName

LiteIllegal use of OWL namespace.001
Description: (informative) <I4.1/Manifest001#test> Jeremy J. Carroll
The name UniqueProperty is not defined in the OWL namespace. daml:UniqueProperty corresponds to owl:FunctionalProperty.
N3 format is informative.
FullIncorrect: <I4.1/bad001>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xml:base=
           'http://www.w3.org/2002/03owlt/I4.1/bad001'
  xmlns:owl ="http://www.w3.org/2002/07/owl#" >
    <owl:UniqueProperty rdf:ID="Name"/>
</rdf:RDF>
first:Name rdf:type owl:UniqueProperty .

7.2.4. EquivalentTo

FullPositive Entailment Test:001
Description: (informative) <I4.6/Manifest001#test> Jeremy J. Carroll
sameAs and sameIndividualAs are equivalent.
N3 format is informative.
FullPremises: <I4.6/premises001>
<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>
first:A owl:sameAs first:B .
LiteConclusions: <I4.6/conclusions001>
<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>
first:A rdf:type owl:Thing .
first:B rdf:type owl:Thing .
first:A owl:sameIndividualAs first:B .

FullPositive Entailment Test:002
Description: (informative) <I4.6/Manifest002#test> Jeremy J. Carroll
sameAs and sameIndividualAs are equivalent.
N3 format is informative.
FullPremises: <I4.6/premises002>
<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>
first:A owl:sameIndividualAs first:B .
FullConclusions: <I4.6/conclusions002>
<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>
first:A rdf:type owl:Thing .
first:B rdf:type owl:Thing .
first:A owl:sameAs first:B .

7.2.5. Uniform treatment of literal data values

FullPositive Entailment Test:001
Description: (informative) <I5.1/Manifest001#test> Dan Connolly
stateCode example using an inverseFunctionalProperty and literals
N3 format is informative.
Namespaces:
@prefix NS0: <http://example.org/vocab#> .
FullPremises: <I5.1/premises001>
<rdf:RDF
  xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
         xml:base=
           'http://www.w3.org/2002/03owlt/I5.1/premises001'
  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>
_:a NS0:stateCode "KS" .
_:a NS0:population "2688418" .
NS0:stateCode rdf:type owl:InverseFunctionalProperty .
_:c NS0:stateCode "KS" .
_:c NS0:stateBird NS0:WesternMeadowlark .
FullConclusions: <I5.1/conclusions001>
<rdf:RDF
  xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
  xmlns:NS0='http://example.org/vocab#'
         xml:base=
           'http://www.w3.org/2002/03owlt/I5.1/conclusions001'
 >
  <rdf:Description rdf:nodeID='A0'>
    <NS0:population>2688418</NS0:population>
    <NS0:stateBird rdf:resource='http://example.org/vocab#WesternMeadowlark'/>
  </rdf:Description>
</rdf:RDF>
_:a NS0:population "2688418" .
_:a NS0:stateBird NS0:WesternMeadowlark .

7.2.6. Language Compliance Levels

LiteConsistent document.001
Description: (informative) <I5.2/Manifest001#test> Ian Horrocks
A class like owl:Nothing can be defined using OWL Lite restrictions.
N3 format is informative.
LiteConsistent: <I5.2/consistent001>
<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/I5.2/consistent001#"
    xml:base="http://www.w3.org/2002/03owlt/I5.2/consistent001" >
   <owl:Class rdf:ID="Nothing">
       <rdfs:subClassOf>
         <owl:Restriction>
            <owl:onProperty>
                <owl:ObjectProperty rdf:about="#p"/>
            </owl:onProperty>
            <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
            >1</owl:minCardinality>
         </owl:Restriction>
       </rdfs:subClassOf>
       <rdfs:subClassOf>
         <owl:Restriction>
            <owl:onProperty>
                <owl:ObjectProperty rdf:about="#p"/>
            </owl:onProperty>
            <owl:maxCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
            >0</owl:maxCardinality>
         </owl:Restriction>
       </rdfs:subClassOf>
   </owl:Class>
</rdf:RDF>
first:Nothing rdf:type owl:Class .
_:a rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:a owl:onProperty first:p .
_:a owl:minCardinality "1"^^xsd:nonNegativeInteger  .
first:Nothing rdfs:subClassOf _:a .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:maxCardinality "0"^^xsd:nonNegativeInteger  .
first:Nothing rdfs:subClassOf _:c .

DLPositive Entailment Test:002
Description: (informative) <I5.2/Manifest002#test> Ian Horrocks
A class like owl:Nothing can be defined using OWL Lite restrictions.
N3 format is informative.
LitePremises: <I5.2/premises002>
<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.2/premises002" >

   <owl:Class rdf:ID="Nothing">
       <rdfs:subClassOf>
         <owl:Restriction>
            <owl:onProperty>
                <owl:ObjectProperty rdf:about="#p"/>
            </owl:onProperty>
            <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
            >1</owl:minCardinality>
         </owl:Restriction>
       </rdfs:subClassOf>
       <rdfs:subClassOf>
         <owl:Restriction>
            <owl:onProperty>
                <owl:ObjectProperty rdf:about="#p"/>
            </owl:onProperty>
            <owl:maxCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
            >0</owl:maxCardinality>
         </owl:Restriction>
       </rdfs:subClassOf>
   </owl:Class>
</rdf:RDF>
first:Nothing rdf:type owl:Class .
_:a rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:a owl:onProperty first:p .
_:a owl:minCardinality "1"^^xsd:nonNegativeInteger  .
first:Nothing rdfs:subClassOf _:a .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:maxCardinality "0"^^xsd:nonNegativeInteger  .
first:Nothing rdfs:subClassOf _:c .
DLConclusions: <I5.2/conclusions002>
<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/I5.2/conclusions002" >
   <owl:Class rdf:about="premises002#Nothing">
       <owl:equivalentClass>
         <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Nothing" />
       </owl:equivalentClass>
   </owl:Class>
</rdf:RDF>
first:Nothing rdf:type owl:Class .
owl:Nothing rdf:type owl:Class .
first:Nothing owl:equivalentClass owl:Nothing .

7.2.7. IF-or-IFF-property-properties

FullPositive Entailment Test:001
Description: (informative) <I5.24/Manifest001#test> Jeremy J. Carroll
This entailment is similar to one that does not hold in RDFS.
N3 format is informative.
FullPremises: <I5.24/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#"
    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>
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: <I5.24/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/I5.24/conclusions001" >

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

</rdf:RDF>
first:prop rdf:type rdf:Property .
first:B rdf:type owl:Class .
first:prop rdfs:range first:B .

LitePositive Entailment Test:004
Description: (informative) <I5.24/Manifest004#test> Ian Horrocks
This is a typical definition of range from description logic. It works both ways.
N3 format is informative.
LitePremises: <I5.24/premises004>
<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:Class rdf:about="http://www.w3.org/2002/07/owl#Thing">
      <rdfs:subClassOf>
          <owl:Restriction>
             <owl:onProperty>
               <owl:ObjectProperty rdf:about="conclusions004#prop"/>
             </owl:onProperty>
             <owl:allValuesFrom>
               <owl:Class rdf:about="conclusions004#A"/>
              </owl:allValuesFrom>
          </owl:Restriction>
       </rdfs:subClassOf>
   </owl:Class>

</rdf:RDF>
owl:Thing rdf:type owl:Class .
_:a rdf:type owl:Restriction .
second:prop rdf:type owl:ObjectProperty .
_:a owl:onProperty second:prop .
second:A rdf:type owl:Class .
_:a owl:allValuesFrom second:A .
owl:Thing rdfs:subClassOf _:a .
LiteConclusions: <I5.24/conclusions004>
<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>
        <owl:Class rdf:about="#A"/>
     </rdfs:range>
  </owl:ObjectProperty>
</rdf:RDF>
second:prop rdf:type owl:ObjectProperty .
second:A rdf:type owl:Class .
second:prop rdfs:range second:A .

7.2.8. Semantic-Layering

FullConsistent document.005
Description: (informative) <I5.3/Manifest005#test> Jeremy J. Carroll
Any RDF/XML document is in OWL Full.
N3 format is informative.
FullConsistent: <I5.3/consistent005>
<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>
_:a first:p _:b .

LiteConsistent document.006
Description: (informative) <I5.3/Manifest006#test> Jeremy J. Carroll
A minimal OWL Lite version of test 005.
N3 format is informative.
LiteConsistent: <I5.3/consistent006>
<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>
_:a rdf:type owl:Thing .
_:c rdf:type owl:Thing .
_:a first:p _:c .
first:p rdf:type owl:ObjectProperty .

FullConsistent document.007
Description: (informative) <I5.3/Manifest007#test> Jeremy J. Carroll
Any RDF/XML document is in OWL Full.
N3 format is informative.
FullConsistent: <I5.3/consistent007>
<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>
_:a first:dp "value" .

LiteConsistent document.008
Description: (informative) <I5.3/Manifest008#test> Jeremy J. Carroll
An OWL Lite version of test 007.
N3 format is informative.
LiteConsistent: <I5.3/consistent008>
<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>
_:a rdf:type owl:Thing .
_:a first:dp "value" .
first:dp rdf:type owl:DatatypeProperty .

FullConsistent document.009
Description: (informative) <I5.3/Manifest009#test> Jeremy J. Carroll
The use of blank nodes in OWL DL and OWL Lite is restricted.
N3 format is informative.
FullConsistent: <I5.3/consistent009>
<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>
_:a rdf:type owl:Thing .
_:a first:p _:c .
_:a first:q _:c .
first:p rdf:type owl:ObjectProperty .
first:q rdf:type owl:ObjectProperty .

7.2.9. List syntax or semantics

FullOWL described in OWL.001
Description: (informative) <I5.5/Manifest001#test> Jeremy J. Carroll
rdf:first is a FunctionalProperty.
N3 format is informative.
FullTrue: <I5.5/conclusions001>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xml:base=
           'http://www.w3.org/2002/03owlt/I5.5/conclusions001'
    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>
rdf:first rdf:type owl:FunctionalProperty .

FullOWL described in OWL.002
Description: (informative) <I5.5/Manifest002#test> Jeremy J. Carroll
rdf:rest is a FunctionalProperty.
N3 format is informative.
FullTrue: <I5.5/conclusions002>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xml:base="http://www.w3.org/2002/03owlt/I5.5/conclusions002"
    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>
rdf:rest rdf:type owl:FunctionalProperty .

FullInconsistent document.003
Description: (informative) <I5.5/Manifest003#test> Jeremy J. Carroll
rdf:nil cannot have an rdf:rest property.
N3 format is informative.
FullInconsistent: <I5.5/inconsistent003>
<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>
rdf:nil rdf:rest _:a .

FullInconsistent document.004
Description: (informative) <I5.5/Manifest004#test> Jeremy J. Carroll
rdf:nil cannot have an rdf:first property.
N3 format is informative.
FullInconsistent: <I5.5/inconsistent004>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xml:base="http://www.w3.org/2002/03owlt/I5.5/inconsistent004" >
   <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>
rdf:nil rdf:first _:a .

7.3. Additional Description Logic Tests

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

The following additional namespace prefix is used in this section:

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

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

Namespaces:
@prefix oiled: <http://oiled.man.ac.uk/test#> .

7.3.1. Extended Satisfiability Tests

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

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

DLInconsistent document.002
Description: (informative) <description-logic/Manifest002#test> Sean Bechhofer
DL Test: fact2.1
N3 format is informative.
DLInconsistent: <description-logic/inconsistent002>
<rdf:RDF
    xml:base="http://www.w3.org/2002/03owlt/description-logic/inconsistent002"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
    <owl:Ontology rdf:about=""/>
    <owl:Class rdf:about="http://oiled.man.example.uk/test#Unsatisfiable">
        <rdfs:subClassOf>
            <owl:Class rdf:about="http://oiled.man.example.uk/test#c"/>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Class>
                <owl:complementOf>
                    <owl:Class rdf:about="http://oiled.man.example.uk/test#d"/>
                </owl:complementOf>
            </owl:Class>
        </rdfs:subClassOf>
    </owl:Class>
    <owl:Class rdf:about="http://oiled.man.example.uk/test#c">
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="http://oiled.man.example.uk/test#r"/>
                <owl:allValuesFrom>
                    <owl:Class rdf:about="http://oiled.man.example.uk/test#c"/>
                </owl:allValuesFrom>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>
    <owl:Class rdf:about="http://oiled.man.example.uk/test#d"/>
    <owl:ObjectProperty rdf:about="http://oiled.man.example.uk/test#r"/>
    <owl:Restriction>
        <owl:onProperty rdf:resource="http://oiled.man.example.uk/test#r"/>
        <owl:allValuesFrom>
            <owl:Class rdf:about="http://oiled.man.example.uk/test#c"/>
        </owl:allValuesFrom>
        <rdfs:subClassOf>
            <owl:Class rdf:about="http://oiled.man.example.uk/test#d"/>
        </rdfs:subClassOf>
    </owl:Restriction>
    <rdf:Description>
        <rdf:type rdf:resource="http://oiled.man.example.uk/test#Unsatisfiable"/>
    </rdf:Description>
</rdf:RDF>
<description-logic/inconsistent002> rdf:type owl:Ontology .
oiled:Unsatisfiable rdf:type owl:Class .
oiled:c rdf:type owl:Class .
oiled:Unsatisfiable rdfs:subClassOf oiled:c .
_:a rdf:type owl:Class .
oiled:d rdf:type owl:Class .
_:a owl:complementOf oiled:d .
oiled:Unsatisfiable rdfs:subClassOf _:a .
oiled:c rdf:type owl:Class .
_:c rdf:type owl:Restriction .
_:c owl:onProperty oiled:r .
oiled:c rdf:type owl:Class .
_:c owl:allValuesFrom oiled:c .
oiled:c rdfs:subClassOf _:c .
oiled:d rdf:type owl:Class .
oiled:r rdf:type owl:ObjectProperty .
_:e rdf:type owl:Restriction .
_:e owl:onProperty oiled:r .
oiled:c rdf:type owl:Class .
_:e owl:allValuesFrom oiled:c .
oiled:d rdf:type owl:Class .
_:e rdfs:subClassOf oiled:d .
_:g rdf:type oiled:Unsatisfiable .

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

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

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

7.3.2. Heinsohn's Tests

See [Heinsohn et al.].

DLInconsistent document.105
Description: (informative) <description-logic/Manifest105#test> Sean Bechhofer
DL Test: heinsohn2.1 Tbox tests from [Heinsohn et al.] Tests incoherency caused by number restrictions
N3 format is informative.
DLInconsistent: <description-logic/inconsistent105>
<rdf:RDF
    xml:base="http://www.w3.org/2002/03owlt/description-logic/inconsistent105"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
    <owl:Ontology rdf:about=""/>
    <owl:Class rdf:about="http://oiled.man.example.uk/test#Unsatisfiable">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="http://oiled.man.example.uk/test#r"/>
                        <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                        >2</owl:minCardinality>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="http://oiled.man.example.uk/test#r"/>
                        <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                         >1</owl:maxCardinality>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    <owl:Class rdf:about="http://oiled.man.example.uk/test#c">
        <rdfs:subClassOf>
            <owl:Class>
                <owl:complementOf>
                    <owl:Class rdf:about="http://oiled.man.example.uk/test#d"/>
                </owl:complementOf>
            </owl:Class>
        </rdfs:subClassOf>
    </owl:Class>
    <owl:Class rdf:about="http://oiled.man.example.uk/test#d"/>
    <owl:ObjectProperty rdf:about="http://oiled.man.example.uk/test#r"/>
    <rdf:Description>
        <rdf:type rdf:resource="http://oiled.man.example.uk/test#Unsatisfiable"/>
    </rdf:Description>
</rdf:RDF>
<description-logic/inconsistent105> rdf:type owl:Ontology .
oiled:Unsatisfiable rdf:type owl:Class .
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
_:c owl:onProperty oiled:r .
_:c owl:minCardinality "2"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
_:e owl:onProperty oiled:r .
_:e owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:intersectionOf _:i .
oiled:Unsatisfiable owl:equivalentClass _:a .
oiled:c rdf:type owl:Class .
_:k rdf:type owl:Class .
oiled:d rdf:type owl:Class .
_:k owl:complementOf oiled:d .
oiled:c rdfs:subClassOf _:k .
oiled:d rdf:type owl:Class .
oiled:r rdf:type owl:ObjectProperty .
_:m rdf:type oiled:Unsatisfiable .

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

7.3.3. Extended Cardinality Testing

DLPositive Entailment Test:901
Description: (informative) <description-logic/Manifest901#test> Jeremy J. Carroll
This entailment can be replicated for any three natural numbers i, j, k such that i+j >= k. In this example, they are chosen as 2, 3 and 5.
N3 format is informative.
DLPremises: <description-logic/premises901>
<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/description-logic/premises901" >

  <owl:ObjectProperty rdf:ID="r"/>
  <owl:ObjectProperty rdf:ID="p">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="A"/>
    </rdfs:range>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="q">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="B"/>
    </rdfs:range>
  </owl:ObjectProperty>
  <owl:Class rdf:about="#A">
    <owl:disjointWith rdf:resource="#B"/>
  </owl:Class>

</rdf:RDF>
first:r rdf:type owl:ObjectProperty .
first:p rdf:type owl:ObjectProperty .
first:p rdfs:subPropertyOf first:r .
first:A rdf:type owl:Class .
first:p rdfs:range first:A .
first:q rdf:type owl:ObjectProperty .
first:q rdfs:subPropertyOf first:r .
first:B rdf:type owl:Class .
first:q rdfs:range first:B .
first:A rdf:type owl:Class .
first:A owl:disjointWith first:B .
DLConclusions: <description-logic/conclusions901>
<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/description-logic/premises901#"
    xmlns:second="http://www.w3.org/2002/03owlt/description-logic/conclusions901#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/conclusions901" >

  <owl:Class>
    <owl:intersectionOf rdf:parseType="Collection">
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises901#p"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >2</owl:minCardinality>
       </owl:Restriction>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises901#q"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >3</owl:minCardinality>
       </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises901#r"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >5</owl:minCardinality>
       </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:minCardinality "2"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
first:q rdf:type owl:ObjectProperty .
_:e owl:onProperty first:q .
_:e owl:minCardinality "3"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:intersectionOf _:i .
_:k rdf:type owl:Restriction .
first:r rdf:type owl:ObjectProperty .
_:k owl:onProperty first:r .
_:k owl:minCardinality "5"^^xsd:nonNegativeInteger  .
_:a rdfs:subClassOf _:k .

DLNegative Entailment Test:902
Description: (informative) <description-logic/Manifest902#test> Jeremy J. Carroll
This non-entailment can be replicated for any three natural numbers i, j, k such that i+j < k. In this example, they are chosen as 2, 3 and 6.
N3 format is informative.
DLPremises: <description-logic/premises902>
<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/description-logic/premises902" >

  <owl:ObjectProperty rdf:ID="r"/>
  <owl:ObjectProperty rdf:ID="p">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="A"/>
    </rdfs:range>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="q">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="B"/>
    </rdfs:range>
  </owl:ObjectProperty>
  <owl:Class rdf:about="#A">
    <owl:disjointWith rdf:resource="#B"/>
  </owl:Class>

</rdf:RDF>
first:r rdf:type owl:ObjectProperty .
first:p rdf:type owl:ObjectProperty .
first:p rdfs:subPropertyOf first:r .
first:A rdf:type owl:Class .
first:p rdfs:range first:A .
first:q rdf:type owl:ObjectProperty .
first:q rdfs:subPropertyOf first:r .
first:B rdf:type owl:Class .
first:q rdfs:range first:B .
first:A rdf:type owl:Class .
first:A owl:disjointWith first:B .
DLConclusions: <description-logic/nonconclusions902>
<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/description-logic/nonconclusions902" >

  <owl:Class>
    <owl:intersectionOf rdf:parseType="Collection">
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises902#p"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >2</owl:minCardinality>
       </owl:Restriction>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises902#q"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >3</owl:minCardinality>
       </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises902#r"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >6</owl:minCardinality>
       </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:minCardinality "2"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
first:q rdf:type owl:ObjectProperty .
_:e owl:onProperty first:q .
_:e owl:minCardinality "3"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:intersectionOf _:i .
_:k rdf:type owl:Restriction .
first:r rdf:type owl:ObjectProperty .
_:k owl:onProperty first:r .
_:k owl:minCardinality "6"^^xsd:nonNegativeInteger  .
_:a rdfs:subClassOf _:k .

DLPositive Entailment Test:903
Description: (informative) <description-logic/Manifest903#test> Jeremy J. Carroll
This entailment can be replicated for any three natural numbers i, j, k such that i+j >= k. In this example, they are chosen as 200, 300 and 500.
N3 format is informative.
DLPremises: <description-logic/premises903>
<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/description-logic/premises903" >

  <owl:ObjectProperty rdf:ID="r"/>
  <owl:ObjectProperty rdf:ID="p">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="A"/>
    </rdfs:range>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="q">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="B"/>
    </rdfs:range>
  </owl:ObjectProperty>
  <owl:Class rdf:about="#A">
    <owl:disjointWith rdf:resource="#B"/>
  </owl:Class>

</rdf:RDF>
first:r rdf:type owl:ObjectProperty .
first:p rdf:type owl:ObjectProperty .
first:p rdfs:subPropertyOf first:r .
first:A rdf:type owl:Class .
first:p rdfs:range first:A .
first:q rdf:type owl:ObjectProperty .
first:q rdfs:subPropertyOf first:r .
first:B rdf:type owl:Class .
first:q rdfs:range first:B .
first:A rdf:type owl:Class .
first:A owl:disjointWith first:B .
DLConclusions: <description-logic/conclusions903>
<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/description-logic/premises903#"
    xmlns:second="http://www.w3.org/2002/03owlt/description-logic/conclusions903#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/conclusions903" >

  <owl:Class>
    <owl:intersectionOf rdf:parseType="Collection">
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises903#p"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >200</owl:minCardinality>
       </owl:Restriction>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises903#q"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >300</owl:minCardinality>
       </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises903#r"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >500</owl:minCardinality>
       </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:minCardinality "200"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
first:q rdf:type owl:ObjectProperty .
_:e owl:onProperty first:q .
_:e owl:minCardinality "300"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:intersectionOf _:i .
_:k rdf:type owl:Restriction .
first:r rdf:type owl:ObjectProperty .
_:k owl:onProperty first:r .
_:k owl:minCardinality "500"^^xsd:nonNegativeInteger  .
_:a rdfs:subClassOf _:k .

DLNegative Entailment Test:904
Description: (informative) <description-logic/Manifest904#test> Jeremy J. Carroll
This non-entailment can be replicated for any three natural numbers i, j, k such that i+j < k. In this example, they are chosen as 200, 300 and 600.
N3 format is informative.
DLPremises: <description-logic/premises904>
<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/description-logic/premises904" >

  <owl:ObjectProperty rdf:ID="r"/>
  <owl:ObjectProperty rdf:ID="p">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="A"/>
    </rdfs:range>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="q">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="B"/>
    </rdfs:range>
  </owl:ObjectProperty>
  <owl:Class rdf:about="#A">
    <owl:disjointWith rdf:resource="#B"/>
  </owl:Class>

</rdf:RDF>
first:r rdf:type owl:ObjectProperty .
first:p rdf:type owl:ObjectProperty .
first:p rdfs:subPropertyOf first:r .
first:A rdf:type owl:Class .
first:p rdfs:range first:A .
first:q rdf:type owl:ObjectProperty .
first:q rdfs:subPropertyOf first:r .
first:B rdf:type owl:Class .
first:q rdfs:range first:B .
first:A rdf:type owl:Class .
first:A owl:disjointWith first:B .
DLConclusions: <description-logic/nonconclusions904>
<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/description-logic/nonconclusions904" >

  <owl:Class>
    <owl:intersectionOf rdf:parseType="Collection">
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises904#p"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >200</owl:minCardinality>
       </owl:Restriction>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises904#q"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >300</owl:minCardinality>
       </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises904#r"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >600</owl:minCardinality>
       </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:minCardinality "200"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
first:q rdf:type owl:ObjectProperty .
_:e owl:onProperty first:q .
_:e owl:minCardinality "300"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:intersectionOf _:i .
_:k rdf:type owl:Restriction .
first:r rdf:type owl:ObjectProperty .
_:k owl:onProperty first:r .
_:k owl:minCardinality "600"^^xsd:nonNegativeInteger  .
_:a rdfs:subClassOf _:k .

7.4. Miscellaneous Tests

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

7.4.1. Examples from the OWL Guide

These tests are taken from the [OWL Guide].

DLConsistent document.001
Description: (informative) <miscellaneous/Manifest001#test> Guide editors
Wine example taken from the guide.
Other datatypes: http://www.w3.org/2002/03owlt/miscellaneous/positiveInteger,
DLConsistent: <miscellaneous/consistent001>
Errors: (informative)
Uri <http://www.w3.org/2002/03owlt/miscellaneous/consistent001#> is shown using both first: and :.
Uri <http://www.w3.org/2002/03owlt/miscellaneous/consistent001#> is shown using both : and vin:.
consistent001 is in OWL Full not DL
Not in OWL DL: Not a DL subgraph Concerning sub-graph:
_:k  owl:cardinality  "1"^^<miscellaneous/;nonNegativeInteger>   .
Not in OWL DL: Not a DL subgraph Concerning sub-graph:
_:?e36  owl:cardinality  "1"^^<miscellaneous/;nonNegativeInteger>   .


DLConsistent document.002
Description: (informative) <miscellaneous/Manifest002#test> Guide editors
Food example taken from the guide.
DLConsistent: <miscellaneous/consistent002>
Errors: (informative)
Uri <http://www.w3.org/2002/03owlt/miscellaneous/consistent002#> is shown using both first: and :.
Uri <http://www.w3.org/2002/03owlt/miscellaneous/consistent002#> is shown using both : and food:.
consistent002 is in OWL Full not DL
Not in OWL DL: Not a DL subgraph Concerning sub-graph:
_:?a16  owl:cardinality  "1"^^<miscellaneous/;nonNegativeInteger>   .


A. Test Creation, Approval and Modification (Informative)

A.1. Creation

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

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

A.2. Approval

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

Tests are approved by working group decision.

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

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

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

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

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

A.3. Modification

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

B. Stylistic Preferences (Informative)

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

B.1. Use of RDF/XML

Tests should normally be expressed in RDF/XML.

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

  1. Property attributes.
  2. 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.

B.9. Triple Format of Test Data

Both the approved and proposed tests are shown both in RDF/XML, which is their normative form, and in a triples format. This lists the triples as subject, predicate and object, similar to the N-triples format described in [RDF Test Cases]; but using qnames to stand in for URI references.

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/2001/XMLSchema#
first
The URL of the first file concatenated with #. The first file is that named premisesNNN.rdf, badNNN.rdf, consistentNNN.rdf, inconsistentNNN.rdf or importsNNN.rdf depending on the test type. (Not used for true tests or OWL for OWL tests ).
second
The URL of the second file concatenated with #. The second file is named conclusionsNNN.rdf, nonconclusionsNNN.rdf or mainNNN.rdf depending on the test type.

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

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

Other namespaces are explicitly listed with the test data.

C. Proposed Tests (Informative)

C.1. By Function

C.1.1. owl:FunctionalProperty

FullPositive Entailment Test:005
Description: (informative) <FunctionalProperty/Manifest005#test> Peter F. Patel-Schneider
If prop belongs to owl:FunctionalProperty then an OWL individual has at most one value for prop.
N3 format is informative.
Namespaces:
@prefix eg: <http://www.example.org/> .
FullPremises: <FunctionalProperty/premises005>
<rdf:RDF
    xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises005"
    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>
eg:foo#prop rdf:type owl:FunctionalProperty .
eg:foo#object rdf:type owl:Thing .
FullConclusions: <FunctionalProperty/conclusions005>
<rdf:RDF
    xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions005"
    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>
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 .

C.1.2. owl:Nothing

LiteInconsistent document.001
Description: (informative) <Nothing/Manifest001#test> Jeremy J. Carroll
The triple asserts something of type owl:Nothing, however that is the empty class.
N3 format is informative.
DLInconsistent: <Nothing/inconsistent001>
<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/Nothing/inconsistent001" >

  <owl:Nothing/>

</rdf:RDF>
_:a rdf:type owl:Nothing .

C.1.3. owl:cardinality

FullPositive Entailment Test:006
Description: (informative) <cardinality/Manifest006#test> Jeremy J. Carroll
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
N3 format is informative.
FullPremises: <cardinality/premises006>
<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>
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:c rdf:type owl:Restriction .
_:c owl:onProperty second:p .
_:c owl:minCardinality "1"^^xsd:nonNegativeInteger  .
_:e rdf:first _:c .
_:e rdf:rest rdf:nil .
_:e rdf:type rdf:List .
_:g rdf:first _:a .
_:g rdf:rest _:e .
_:g rdf:type rdf:List .
second:c owl:intersectionOf _:g .
FullConclusions: <cardinality/conclusions006>
<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>
_:a rdf:type owl:Restriction .
_:a owl:onProperty second:p .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
_:c rdf:first _:a .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
second:c owl:intersectionOf _:c .

FullNegative Entailment Test:007
Description: (informative) <cardinality/Manifest007#test> Jeremy J. Carroll
An owl:cardinality constraint is simply shorthand for a pair of owl:minCardinality and owl:maxCardinality constraints.
N3 format is informative.
FullPremises: <cardinality/premises007>
<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/premises007" >
    <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>
first:c rdf:type owl:Restriction .
first:c owl:onProperty first:p .
first:c owl:cardinality "1"^^xsd:nonNegativeInteger  .
FullConclusions: <cardinality/nonconclusions007>
<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/nonconclusions007" >
    <rdf:Description rdf:about="premises007#c">
      <owl:intersectionOf rdf:parseType="Collection">
         <owl:Restriction>
            <owl:onProperty rdf:resource="premises007#p"/>
            <owl:maxCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
             >1</owl:maxCardinality>
          </owl:Restriction>
          <owl:Restriction>
          <owl:onProperty rdf:resource="premises007#p"/>
          <owl:minCardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
           >1</owl:minCardinality>
       </owl:Restriction>
     </owl:intersectionOf>
   </rdf:Description>
</rdf:RDF>
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:p .
_:c owl:minCardinality "1"^^xsd:nonNegativeInteger  .
_:e rdf:first _:c .
_:e rdf:rest rdf:nil .
_:e rdf:type rdf:List .
_:g rdf:first _:a .
_:g rdf:rest _:e .
_:g rdf:type rdf:List .
first:c owl:intersectionOf _:g .

C.1.4. owl:equivalentClass

FullPositive Entailment Test:007
Description: (informative) <equivalentClass/Manifest007#test> Jeremy J. Carroll
De Morgan's law.
N3 format is informative.
FullPremises: <equivalentClass/premises007>
<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/equivalentClass/premises007" >
   <rdfs:Class rdf:ID="A"/>
   <rdfs:Class rdf:ID="B"/>
</rdf:RDF>
first:A rdf:type rdfs:Class .
first:B rdf:type rdfs:Class .
FullConclusions: <equivalentClass/conclusions007>
<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/equivalentClass/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:equivalentClass>
         <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:equivalentClass>
   </rdf:Description>   
</rdf:RDF>
_:a owl:complementOf first:A .
_:c owl:complementOf first:B .
_:e rdf:first _:c .
_:e rdf:rest rdf:nil .
_:e rdf:type rdf:List .
_:g rdf:first _:a .
_:g rdf:rest _:e .
_:g rdf:type rdf:List .
_:i owl:intersectionOf _:g .
_:k rdf:first first:B .
_:k rdf:rest rdf:nil .
_:k rdf:type rdf:List .
_:m rdf:first first:A .
_:m rdf:rest _:k .
_:m rdf:type rdf:List .
_:o owl:unionOf _:m .
_:q owl:complementOf _:o .
_:i owl:equivalentClass _:q .

DLNegative Entailment Test:008
Description: (informative) <equivalentClass/Manifest008#test> Jeremy J. Carroll
Annotation properties refer to a class instance. equivalentClass refers to the class extension.
N3 format is informative.
LitePremises: <equivalentClass/premises008>
<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/equivalentClass/premises008#" 
    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premises008" >

   <owl:Class rdf:ID="c1">
     <owl:equivalentClass>
       <owl:Class rdf:ID="c2"/>
     </owl:equivalentClass>
     <first:annotate>description of c1</first:annotate>
   </owl:Class>

   <owl:AnnotationProperty rdf:ID="annotate" />

</rdf:RDF>
first:c1 rdf:type owl:Class .
first:c2 rdf:type owl:Class .
first:c1 owl:equivalentClass first:c2 .
first:c1 first:annotate "description of c1" .
first:annotate rdf:type owl:AnnotationProperty .
LiteConclusions: <equivalentClass/nonconclusions008>
<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/equivalentClass/premises008#"
 xml:base="http://www.w3.org/2002/03owlt/equivalentClass/nonconclusions008" >
   <owl:Class rdf:about="premises008#c2">
     <first:annotate>description of c1</first:annotate>
   </owl:Class>
   <owl:AnnotationProperty rdf:about="premises008#annotate" />

</rdf:RDF>
first:c2 rdf:type owl:Class .
first:c2 first:annotate "description of c1" .
first:annotate rdf:type owl:AnnotationProperty .

C.1.5. owl:imports

FullOWL described in OWL.010
Description: (informative) <imports/Manifest010#test> Jeremy J. Carroll
This test specifies the domain and range for owl:imports.
N3 format is informative.
FullTrue: <imports/conclusions010>
<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/conclusions010" >
   <rdf:Property rdf:about="http://www.w3.org/2002/07/owl#imports">
      <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Ontology"/>
      <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Ontology"/>
   </rdf:Property>

</rdf:RDF>
owl:imports rdf:type rdf:Property .
owl:imports rdfs:range owl:Ontology .
owl:imports rdfs:domain owl:Ontology .

C.1.6. owl:oneOf

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

C.1.7. owl:someValuesFrom

FullPositive Entailment Test:001
Description: (informative) <someValuesFrom/Manifest001#test> Jeremy J. Carroll
A simple example.
N3 format is informative.
LitePremises: <someValuesFrom/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: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>
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: <someValuesFrom/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#"
    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>
_:a rdf:type first:c .
first:i first:p _:a .

C.2. By Issue

C.2.1. EquivalentTo

FullPositive Entailment Test:003
Description: (informative) <I4.6/Manifest003#test> Jeremy J. Carroll
owl:sameIndividualAs is stronger than owl:equivalentClass.
N3 format is informative.
FullPremises: <I4.6/premises003>
<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/premises003" >
    <owl:Class rdf:ID="C1">
       <owl:sameIndividualAs>
           <owl:Class rdf:ID="C2"/>
       </owl:sameIndividualAs>
    </owl:Class>
</rdf:RDF>
first:C1 rdf:type owl:Class .
first:C2 rdf:type owl:Class .
first:C1 owl:sameIndividualAs first:C2 .
LiteConclusions: <I4.6/conclusions003>
<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/conclusions003" >
    <owl:Class rdf:about="premises003#C1">
       <owl:equivalentClass>
           <owl:Class rdf:about="premises003#C2"/>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:C1 rdf:type owl:Class .
first:C2 rdf:type owl:Class .
first:C1 owl:equivalentClass first:C2 .

FullNegative Entailment Test:004
Description: (informative) <I4.6/Manifest004#test> Jeremy J. Carroll
owl:sameIndividualAs is stronger than owl:equivalentClass.
N3 format is informative.
LitePremises: <I4.6/premises004>
<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/premises004" >
    <owl:Class rdf:about="nonconclusions004#C1">
       <owl:equivalentClass>
           <owl:Class rdf:about="nonconclusions004#C2"/>
       </owl:equivalentClass>
    </owl:Class>
</rdf:RDF>
second:C1 rdf:type owl:Class .
second:C2 rdf:type owl:Class .
second:C1 owl:equivalentClass second:C2 .
FullConclusions: <I4.6/nonconclusions004>
<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/nonconclusions004" >
    <owl:Class rdf:ID="C1">
       <owl:sameIndividualAs>
           <owl:Class rdf:ID="C2"/>
       </owl:sameIndividualAs>
    </owl:Class>
</rdf:RDF>
second:C1 rdf:type owl:Class .
second:C2 rdf:type owl:Class .
second:C1 owl:sameIndividualAs second:C2 .

LiteNegative Entailment Test:005
Description: (informative) <I4.6/Manifest005#test> Jeremy J. Carroll
owl:equivalentClass.is not related to annotations on classes.
N3 format is informative.
LitePremises: <I4.6/premises005>
<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/I4.6/premises005" >
    <owl:Class rdf:about="nonconclusions005#C1">
       <rdfs:comment>An example class.</rdfs:comment>
       <owl:equivalentClass>
           <owl:Class rdf:about="nonconclusions005#C2"/>
       </owl:equivalentClass>
    </owl:Class>
</rdf:RDF>
second:C1 rdf:type owl:Class .
second:C1 rdfs:comment "An example class." .
second:C2 rdf:type owl:Class .
second:C1 owl:equivalentClass second:C2 .
LiteConclusions: <I4.6/nonconclusions005>
<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/I4.6/nonconclusions005" >
    <owl:Class rdf:ID="C2">
       <rdfs:comment>An example class.</rdfs:comment>
    </owl:Class>
</rdf:RDF>
second:C2 rdf:type owl:Class .
second:C2 rdfs:comment "An example class." .

C.2.2. Uniform treatment of literal data values

FullConsistent document.010
Description: (informative) <I5.1/Manifest010#test> Jeremy J. Carroll
There are 128 different bytes that are also unsigned integers; and hence also 127.
Other datatypes: xsd:byte, xsd:unsignedInt,
N3 format is informative.
FullConsistent: <I5.1/consistent010>
<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.1/consistent010" >

    <owl:DatatypeProperty rdf:ID="p">
        <rdfs:range 
         rdf:resource="http://www.w3.org/2001/XMLSchema#byte"/>
    </owl:DatatypeProperty>
    <owl:InverseFunctionalProperty rdf:about="#p"/>
    <owl:ObjectProperty rdf:ID="q">
        <owl:inverseOf>
           <owl:ObjectProperty rdf:ID="invQ"/>
        </owl:inverseOf>
    </owl:ObjectProperty>
    <owl:Thing rdf:ID="spy">
       <rdf:type>
          <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ"/>
             <owl:cardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
             >127</owl:cardinality>
          </owl:Restriction>
        </rdf:type>
    </owl:Thing>
  
    <owl:Restriction>
       <owl:onProperty rdf:resource="#p"/>
       <owl:someValuesFrom 
         rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/>
       <owl:equivalentClass>
          <owl:Restriction>
             <owl:onProperty rdf:resource="#q"/>
             <owl:hasValue rdf:resource="#spy"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Restriction>

</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:byte .
first:p rdf:type owl:InverseFunctionalProperty .
first:q rdf:type owl:ObjectProperty .
first:invQ rdf:type owl:ObjectProperty .
first:q owl:inverseOf first:invQ .
first:spy rdf:type owl:Thing .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:invQ .
_:a owl:cardinality "127"^^xsd:nonNegativeInteger  .
first:spy rdf:type _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:p .
_:c owl:someValuesFrom xsd:unsignedInt .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:q .
_:e owl:hasValue first:spy .
_:c owl:equivalentClass _:e .

C.2.3. Language Compliance Levels

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

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

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

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

LiteConsistent document.010
Description: (informative) <I5.2/Manifest010#test> Jeremy J. Carroll
The informal semantics for RDF container vocabulary, indicated by the comment, are not respected by the formal machinery of OWL.
N3 format is informative.
LiteConsistent: <I5.2/consistent010>
<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.2/consistent010" >
  <owl:Class rdf:about=
 "http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag" >
    <rdfs:comment>The class of unordered containers.</rdfs:comment>
  </owl:Class>
  <owl:ObjectProperty rdf:about=
 "http://www.w3.org/1999/02/22-rdf-syntax-ns#_1" />
  <rdf:Bag>
    <rdf:_1>
       <owl:Thing />
    </rdf:_1>
  </rdf:Bag>
</rdf:RDF>
rdf:Bag rdf:type owl:Class .
rdf:Bag rdfs:comment "The class of unordered containers." .
rdf:_1 rdf:type owl:ObjectProperty .
_:a rdf:type rdf:Bag .
_:c rdf:type owl:Thing .
_:a rdf:_1 _:c .

LiteConsistent document.011
Description: (informative) <I5.2/Manifest011#test> Jeremy J. Carroll
The informal semantics indicated by comments concerning user defined classes are not respected by the formal machinery of OWL.
N3 format is informative.
Namespaces:
@prefix eg: <http://www.example.org/user#> .
LiteConsistent: <I5.2/consistent011>
<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:eg="http://www.example.org/user#"
    xml:base="http://www.w3.org/2002/03owlt/I5.2/consistent011" >
  <owl:Class rdf:about="http://www.example.org/user#Bag" >
    <rdfs:comment>The class of unordered containers.</rdfs:comment>
  </owl:Class>
  <owl:ObjectProperty rdf:about="http://www.example.org/user#_1" />
  <eg:Bag>
    <eg:_1>
       <owl:Thing />
    </eg:_1>
  </eg:Bag>
</rdf:RDF>
eg:Bag rdf:type owl:Class .
eg:Bag rdfs:comment "The class of unordered containers." .
eg:_1 rdf:type owl:ObjectProperty .
_:a rdf:type eg:Bag .
_:c rdf:type owl:Thing .
_:a eg:_1 _:c .

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

FullPositive Entailment Test:002
Description: (informative) <I5.24/Manifest002#test> Jonathan Borden
OWL, unlike RDFS, uses iff semantics for range.
N3 format is informative.
FullPremises: <I5.24/premises002>
<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>
first:prop rdf:type rdf:Property .
first:prop rdfs:range first:A .
first:prop rdfs:range first:B .
FullConclusions: <I5.24/conclusions002>
<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>
first:prop rdf:type rdf:Property .
_:a rdf:type owl:Class .
_:c rdf:first first:B .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:e rdf:first first:A .
_:e rdf:rest _:c .
_:e rdf:type rdf:List .
_:a owl:intersectionOf _:e .
first:prop rdfs:range _:a .

LitePositive Entailment Test:003
Description: (informative) <I5.24/Manifest003#test> Ian Horrocks
This is a typical definition of range from description logic.
N3 format is informative.
LitePremises: <I5.24/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#"
    xml:base="http://www.w3.org/2002/03owlt/I5.24/premises003" >
  <owl:ObjectProperty rdf:ID="prop">
     <rdfs:range>
        <owl:Class rdf:about="#A"/>
     </rdfs:range>
  </owl:ObjectProperty>
</rdf:RDF>
first:prop rdf:type owl:ObjectProperty .
first:A rdf:type owl:Class .
first:prop rdfs:range first:A .
LiteConclusions: <I5.24/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/I5.24/conclusions003" >
  
   <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing">
      <rdfs:subClassOf>
          <owl:Restriction>
             <owl:onProperty>
               <owl:ObjectProperty rdf:about="premises003#prop"/>
             </owl:onProperty>
             <owl:allValuesFrom>
               <owl:Class rdf:about="premises003#A"/>
              </owl:allValuesFrom>
          </owl:Restriction>
       </rdfs:subClassOf>
   </owl:Class>

</rdf:RDF>
owl:Thing rdf:type owl:Class .
_:a rdf:type owl:Restriction .
first:prop rdf:type owl:ObjectProperty .
_:a owl:onProperty first:prop .
first:A rdf:type owl:Class .
_:a owl:allValuesFrom first:A .
owl:Thing rdfs:subClassOf _:a .

C.2.5. Semantic-Layering

FullConsistent document.010
Description: (informative) <I5.3/Manifest010#test> Jeremy J. Carroll
Classes cannot be the object of regular properties in OWL DL.
N3 format is informative.
FullConsistent: <I5.3/consistent010>
<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/consistent010#"
    xml:base="http://www.w3.org/2002/03owlt/I5.3/consistent010" >
   <owl:ObjectProperty rdf:ID="p"/>   
   <owl:Thing>
      <first:p>
         <owl:Class rdf:ID="c"/>
      </first:p>
    </owl:Thing>
</rdf:RDF>
first:p rdf:type owl:ObjectProperty .
_:a rdf:type owl:Thing .
first:c rdf:type owl:Class .
_:a first:p first:c .

LiteConsistent document.011
Description: (informative) <I5.3/Manifest011#test> Jeremy J. Carroll
Classes can be the object of annotation properties in OWL Lite and DL.
N3 format is informative.
LiteConsistent: <I5.3/consistent011>
<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/consistent011#"
    xml:base="http://www.w3.org/2002/03owlt/I5.3/consistent011" >
   <owl:AnnotationProperty rdf:ID="p"/>   
   <owl:Thing>
      <first:p>
         <owl:Class rdf:ID="c"/>
      </first:p>
    </owl:Thing>
</rdf:RDF>
first:p rdf:type owl:AnnotationProperty .
_:a rdf:type owl:Thing .
first:c rdf:type owl:Class .
_:a first:p first:c .

C.2.6. Datatypes

DLInconsistent document.001
Description: (informative) <I5.8/Manifest001#test> Peter F. Patel-Schneider
There are only 256 different values for xsd:byte.
Required datatype support: xsd:byte,
N3 format is informative.
DLInconsistent: <I5.8/inconsistent001>
<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/I5.8/inconsistent001#"
    xml:base="http://www.w3.org/2002/03owlt/I5.8/inconsistent001" >
   <rdf:Description rdf:ID="john">
       <rdf:type>
          <owl:Restriction>
             <owl:onProperty>
               <owl:DatatypeProperty rdf:ID="p">
                 <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#byte" />
               </owl:DatatypeProperty>
              </owl:onProperty>
              <owl:cardinality
  rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
               >257</owl:cardinality>
           </owl:Restriction>
       </rdf:type>
   </rdf:Description>

</rdf:RDF>
_:a rdf:type owl:Restriction .
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:byte .
_:a owl:onProperty first:p .
_:a owl:cardinality "257"^^xsd:nonNegativeInteger  .
first:john rdf:type _:a .

DLConsistent document.002
Description: (informative) <I5.8/Manifest002#test> Peter F. Patel-Schneider
There are 256 different values for xsd:byte.
Other datatypes: xsd:byte,
N3 format is informative.
DLConsistent: <I5.8/consistent002>
<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.8/consistent002" >
   <rdf:Description rdf:ID="john">
       <rdf:type>
          <owl:Restriction>
             <owl:onProperty>
               <owl:DatatypeProperty rdf:ID="p">
                 <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#byte" />
               </owl:DatatypeProperty>
              </owl:onProperty>
              <owl:cardinality
  rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
               >256</owl:cardinality>
           </owl:Restriction>
       </rdf:type>
   </rdf:Description>

</rdf:RDF>
_:a rdf:type owl:Restriction .
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:byte .
_:a owl:onProperty first:p .
_:a owl:cardinality "256"^^xsd:nonNegativeInteger  .
first:john rdf:type _:a .

DLInconsistent document.003
Description: (informative) <I5.8/Manifest003#test> Peter F. Patel-Schneider
There are only 128 different values of xsd:byte that are also xsd:unsignedInt.
Required datatype support: xsd:byte, xsd:unsignedInt,
N3 format is informative.
DLInconsistent: <I5.8/inconsistent003>
<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.8/inconsistent003" >
   <rdf:Description rdf:ID="john">
       <rdf:type>
          <owl:Restriction>
             <owl:onProperty>
               <owl:DatatypeProperty rdf:ID="p">
                 <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#byte" />
                 <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#unsignedInt" />
               </owl:DatatypeProperty>
              </owl:onProperty>
              <owl:cardinality
  rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
               >129</owl:cardinality>
           </owl:Restriction>
       </rdf:type>
   </rdf:Description>

</rdf:RDF>
_:a rdf:type owl:Restriction .
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:byte .
first:p rdfs:range xsd:unsignedInt .
_:a owl:onProperty first:p .
_:a owl:cardinality "129"^^xsd:nonNegativeInteger  .
first:john rdf:type _:a .

DLPositive Entailment Test:004
Description: (informative) <I5.8/Manifest004#test> Jeremy J. Carroll
There are precisely 128 different values of xsd:byte that are also xsd:unsignedInt.
Required datatype support: xsd:byte, xsd:unsignedInt,
N3 format is informative.
DLPremises: <I5.8/premises004>
<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.8/premises004" >

   <rdf:Description rdf:ID="john">
       <rdf:type>
          <owl:Restriction>
             <owl:onProperty>
               <owl:DatatypeProperty rdf:ID="p">
                 <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#byte" />
                 <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#unsignedInt" />
               </owl:DatatypeProperty>
              </owl:onProperty>
              <owl:cardinality
  rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
               >128</owl:cardinality>
           </owl:Restriction>
       </rdf:type>
   </rdf:Description>

</rdf:RDF>
_:a rdf:type owl:Restriction .
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:byte .
first:p rdfs:range xsd:unsignedInt .
_:a owl:onProperty first:p .
_:a owl:cardinality "128"^^xsd:nonNegativeInteger  .
first:john rdf:type _:a .
LiteConclusions: <I5.8/conclusions004>
<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/I5.8/premises004#"
    xml:base="http://www.w3.org/2002/03owlt/I5.8/conclusions004" >
  <owl:Thing rdf:about="premises004#john">
    <first:p rdf:datatype=
  "http://www.w3.org/2001/XMLSchema#byte">5</first:p>
  </owl:Thing>
  <owl:DatatypeProperty rdf:about="premises004#p"/>
</rdf:RDF>
first:john rdf:type owl:Thing .
first:john first:p "5"^^xsd:byte  .
first:p rdf:type owl:DatatypeProperty .

DLNegative Entailment Test:005
Description: (informative) <I5.8/Manifest005#test> Jeremy J. Carroll
There are 128 different values of xsd:byte that are also xsd:unsignedInt.
Other datatypes: xsd:byte, xsd:unsignedInt,
N3 format is informative.
DLPremises: <I5.8/premises005>
<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.8/premises005" >
   <rdf:Description rdf:ID="john">
       <rdf:type>
          <owl:Restriction>
             <owl:onProperty>
               <owl:DatatypeProperty rdf:ID="p">
                 <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#byte" />
                 <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#unsignedInt" />
               </owl:DatatypeProperty>
              </owl:onProperty>
              <owl:cardinality
  rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
               >127</owl:cardinality>
           </owl:Restriction>
       </rdf:type>
   </rdf:Description>
</rdf:RDF>
_:a rdf:type owl:Restriction .
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:byte .
first:p rdfs:range xsd:unsignedInt .
_:a owl:onProperty first:p .
_:a owl:cardinality "127"^^xsd:nonNegativeInteger  .
first:john rdf:type _:a .
LiteConclusions: <I5.8/nonconclusions005>
<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.8/premises005#"
    xml:base="http://www.w3.org/2002/03owlt/I5.8/nonconclusions005" >
  <owl:Thing rdf:about="premises005#john">
    <first:p rdf:datatype=
  "http://www.w3.org/2001/XMLSchema#byte">5</first:p>
  </owl:Thing>
  <owl:DatatypeProperty rdf:about="premises005#p"/>
</rdf:RDF>
first:john rdf:type owl:Thing .
first:john first:p "5"^^xsd:byte  .
first:p rdf:type owl:DatatypeProperty .

LitePositive Entailment Test:006
Description: (informative) <I5.8/Manifest006#test> Jeremy J. Carroll
All xsd:byte are xsd:short.
Required datatype support: xsd:byte, xsd:short,
N3 format is informative.
LitePremises: <I5.8/premises006>
<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/I5.8/premises006#"
    xmlns:second="http://www.w3.org/2002/03owlt/I5.8/conclusions006#"
    xml:base="http://www.w3.org/2002/03owlt/I5.8/premises006" >
  <owl:DatatypeProperty rdf:ID="p">
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#byte" />
  </owl:DatatypeProperty>
</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:byte .
LiteConclusions: <I5.8/conclusions006>
<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/I5.8/premises006#"
    xmlns:second="http://www.w3.org/2002/03owlt/I5.8/conclusions006#"
    xml:base="http://www.w3.org/2002/03owlt/I5.8/conclusions006" >
  <owl:DatatypeProperty rdf:about="premises006#p">
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#short" />
  </owl:DatatypeProperty>

</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:short .

LiteNegative Entailment Test:007
Description: (informative) <I5.8/Manifest007#test> Jeremy J. Carroll
-1 is an xsd:short that is not an xsd:unsignedByte.
Other datatypes: xsd:short, xsd:unsignedByte,
N3 format is informative.
LitePremises: <I5.8/premises007>
<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.8/premises007" >
  <owl:DatatypeProperty rdf:ID="p">
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#short" />
  </owl:DatatypeProperty>
</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:short .
LiteConclusions: <I5.8/nonconclusions007>
<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.8/nonconclusions007" >
  <owl:DatatypeProperty rdf:about="premises007#p">
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#unsignedByte" />
  </owl:DatatypeProperty>

</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:unsignedByte .

LitePositive Entailment Test:008
Description: (informative) <I5.8/Manifest008#test> Jeremy J. Carroll
-1 is an xsd:short that is not an xsd:unsignedShort; 100000 is an xsd:unsignedInt that is not an xsd:unsignedShort; but there are no xsd:unsignedShort which are neither xsd:short nor xsd:unsignedInt
Required datatype support: xsd:short, xsd:unsignedInt, xsd:unsignedShort,
N3 format is informative.
LitePremises: <I5.8/premises008>
<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.8/premises008" >
  <owl:DatatypeProperty rdf:ID="p">
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#short" />
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#unsignedInt" />
  </owl:DatatypeProperty>
</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:short .
first:p rdfs:range xsd:unsignedInt .
LiteConclusions: <I5.8/conclusions008>
<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.8/conclusions008" >
  <owl:DatatypeProperty rdf:about="premises008#p">
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#unsignedShort" />
  </owl:DatatypeProperty>

</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:unsignedShort .

LitePositive Entailment Test:009
Description: (informative) <I5.8/Manifest009#test> Jeremy J. Carroll
0 is the only xsd:nonNegativeInteger which is also an xsd:nonPositiveInteger. 0 is an xsd:short.
Required datatype support: xsd:nonPositiveInteger, xsd:short, xsd:nonNegativeInteger,
N3 format is informative.
LitePremises: <I5.8/premises009>
<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.8/premises009" >
  <owl:DatatypeProperty rdf:ID="p">
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
  </owl:DatatypeProperty>
</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:nonNegativeInteger .
first:p rdfs:range xsd:nonPositiveInteger .
LiteConclusions: <I5.8/conclusions009>
<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.8/conclusions009" >
  <owl:DatatypeProperty rdf:about="premises009#p">
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#short" />
  </owl:DatatypeProperty>

</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:short .

LitePositive Entailment Test:010
Description: (informative) <I5.8/Manifest010#test> Jeremy J. Carroll
0 is the only xsd:nonNegativeInteger which is also an xsd:nonPositiveInteger.
Required datatype support: xsd:nonPositiveInteger, xsd:int, xsd:nonNegativeInteger,
N3 format is informative.
LitePremises: <I5.8/premises010>
<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.8/premises010" >
  <owl:DatatypeProperty rdf:ID="p">
    <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
  </owl:DatatypeProperty>
  <rdf:Description rdf:ID="john">
    <rdf:type>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#p"/>
        <owl:someValuesFrom rdf:resource=
  "http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
      </owl:Restriction>
   </rdf:type>
  </rdf:Description>
</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:p rdfs:range xsd:nonNegativeInteger .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:p .
_:a owl:someValuesFrom xsd:nonPositiveInteger .
first:john rdf:type _:a .
LiteConclusions: <I5.8/conclusions010>
<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/I5.8/premises010#"
    xml:base="http://www.w3.org/2002/03owlt/I5.8/conclusions010" >
  <owl:DatatypeProperty rdf:about="premises010#p"/>
  
  <owl:Thing rdf:about="premises010#john">
    <first:p rdf:datatype=
 "http://www.w3.org/2001/XMLSchema#int">0</first:p>
  </owl:Thing>
</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:john rdf:type owl:Thing .
first:john first:p "0"^^xsd:int  .

LiteOWL described in OWL.011
Description: (informative) <I5.8/Manifest011#test> Jos De Roo
The empty graph entails that xsd:integer and xsd:string are a rdfs:Datatype
N3 format is informative.
LiteTrue: <I5.8/conclusions011>
<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/I5.8/conclusions011" >

  <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#integer"/>
  <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:RDF>
xsd:integer rdf:type rdfs:Datatype .
xsd:string rdf:type rdfs:Datatype .

C.3. Additional Description Logic Tests

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

The following additional namespace prefix is used in this section:

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

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

Namespaces:
@prefix oiled: <http://oiled.man.ac.uk/test#> .

C.3.1. Extended Satisfiability Tests

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C.3.2. Heinsohn's Tests

See [Heinsohn et al.].

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

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

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

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

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

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

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

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

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

C.3.3. DL 98 Instance Tests

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

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

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

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

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

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

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

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

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

C.3.4. The 3 SAT Problem

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

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

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

C.3.5. Difficult OWL Lite Tests

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

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

LiteInconsistent document.602
Description: (informative) <description-logic/Manifest602#test> Sean Bechhofer
DL Test: fact2.1
N3 format is informative.
LiteInconsistent: <description-logic/inconsistent602>
<rdf:RDF
    xmlns:oiled="http://oiled.man.example.uk/test#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xml:base="http://www.w3.org/2002/03owlt/description-logic/inconsistent602">
 <owl:Ontology rdf:about=""/>
 <owl:Class rdf:about="http://oiled.man.example.uk/test#d.comp">
  <owl:equivalentClass>
   <owl:Restriction>
    <owl:onProperty>
     <owl:DatatypeProperty rdf:ID="P.1"/>
    </owl:onProperty>
    <owl:minCardinality rdf:datatype="/2001/XMLSchema#int"
    >1</owl:minCardinality>
   </owl:Restriction>
  </owl:equivalentClass>
 </owl:Class>
 <owl:Class rdf:about="http://oiled.man.example.uk/test#Unsatisfiable">
  <rdfs:subClassOf>
   <owl:Class rdf:about="http://oiled.man.example.uk/test#c"/>
  </rdfs:subClassOf>
  <rdfs:subClassOf rdf:resource="http://oiled.man.example.uk/test#d.comp"/>
 </owl:Class>
 <owl:Class rdf:about="http://oiled.man.example.uk/test#d">
  <owl:equivalentClass>
   <owl:Restriction>
    <owl:onProperty rdf:resource="#P.1"/>
    <owl:maxCardinality rdf:datatype="/2001/XMLSchema#int"
    >0</owl:maxCardinality>
   </owl:Restriction>
  </owl:equivalentClass>
 </owl:Class>
 <owl:Class rdf:about="http://oiled.man.example.uk/test#c">
  <rdfs:subClassOf>
   <owl:Restriction>
    <owl:onProperty>
     <owl:ObjectProperty rdf:about="http://oiled.man.example.uk/test#r"/>
    </owl:onProperty>
    <owl:allValuesFrom rdf:resource="http://oiled.man.example.uk/test#c"/>
   </owl:Restriction>
  </rdfs:subClassOf>
 </owl:Class>
 <owl:Class rdf:ID="A.2">
  <rdfs:subClassOf rdf:resource="http://oiled.man.example.uk/test#d"/>
  <owl:equivalentClass>
   <owl:Restriction>
    <owl:onProperty rdf:resource="http://oiled.man.example.uk/test#r"/>
    <owl:allValuesFrom rdf:resource="http://oiled.man.example.uk/test#c"/>
   </owl:Restriction>
  </owl:equivalentClass>
 </owl:Class>
 <oiled:Unsatisfiable/>
</rdf:RDF>
<description-logic/inconsistent602> rdf:type owl:Ontology .
oiled:d.comp rdf:type owl:Class .
_:a rdf:type owl:Restriction .
first:P.1 rdf:type owl:DatatypeProperty .
_:a owl:onProperty first:P.1 .
_:a owl:minCardinality "1"^^xsd:int  .
oiled:d.comp owl:equivalentClass _:a .
oiled:Unsatisfiable rdf:type owl:Class .
oiled:c rdf:type owl:Class .
oiled:Unsatisfiable rdfs:subClassOf oiled:c .
oiled:Unsatisfiable rdfs:subClassOf oiled:d.comp .
oiled:d rdf:type owl:Class .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:P.1 .
_:c owl:maxCardinality "0"^^xsd:int  .
oiled:d owl:equivalentClass _:c .
oiled:c rdf:type owl:Class .
_:e rdf:type owl:Restriction .
oiled:r rdf:type owl:ObjectProperty .
_:e owl:onProperty oiled:r .
_:e owl:allValuesFrom oiled:c .
oiled:c rdfs:subClassOf _:e .
first:A.2 rdf:type owl:Class .
first:A.2 rdfs:subClassOf oiled:d .
_:g rdf:type owl:Restriction .
_:g owl:onProperty oiled:r .
_:g owl:allValuesFrom oiled:c .
first:A.2 owl:equivalentClass _:g .
_:i rdf:type oiled:Unsatisfiable .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C.3.6. Extended Cardinality Testing

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

N is 2. M is 3. N times M is 6.
N3 format is informative.
DLConsistent: <description-logic/consistent905>
<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/description-logic/consistent905" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >2</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >6</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#only-d"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >3</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality "2"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality "6"^^xsd:integer  .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality "3"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
first:cardinality-N-times-M rdf:type owl:Class .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .

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

N is 20. M is 30. N times M is 600.
N3 format is informative.
DLConsistent: <description-logic/consistent906>
<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/description-logic/consistent906" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >20</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >600</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#only-d"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >30</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality "20"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality "600"^^xsd:integer  .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality "30"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
first:cardinality-N-times-M rdf:type owl:Class .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .

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

N is 200. M is 300. N times M is 600.
N3 format is informative.
DLConsistent: <description-logic/consistent907>
<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/description-logic/consistent907" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >200</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >60000</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#only-d"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >300</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality "200"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality "60000"^^xsd:integer  .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality "300"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
first:cardinality-N-times-M rdf:type owl:Class .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .

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

N times infinity is 2 times infinity. M times infinity is 3 times infinity. N times M times infinity is 5 times infinity.
N3 format is informative.
DLConsistent: <description-logic/consistent908>
<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/description-logic/consistent908" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#infinite" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#infinite" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="infinite">
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >2</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >5</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#infinite"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >3</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#infinite"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:infinite .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:infinite .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:infinite rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:invP-1-to-N .
_:a owl:cardinality "2"^^xsd:integer  .
first:infinite owl:equivalentClass _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invR-N-times-M-to-1 .
_:c owl:cardinality "5"^^xsd:integer  .
first:infinite owl:equivalentClass _:c .
first:cardinality-N rdf:type owl:Class .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:p-N-to-1 .
_:e owl:someValuesFrom first:infinite .
first:cardinality-N owl:equivalentClass _:e .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:invQ-1-to-M .
_:g owl:cardinality "3"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:g .
first:cardinality-N-times-M rdf:type owl:Class .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:q-M-to-1 .
_:i owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:r-N-times-M-to-1 .
_:k owl:someValuesFrom first:infinite .
first:cardinality-N-times-M owl:equivalentClass _:k .

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

For some finite K, N times K is 2 times K. M times K is 3 times K. N times M times K is not 5 times K.
N3 format is informative.
DLInconsistent: <description-logic/inconsistent909>
<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/description-logic/inconsistent909" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#finite" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#finite" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
   <owl:FunctionalProperty rdf:ID="f-K-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invF-1-to-K" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#finite" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#f-K-to-1" />

   <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invF-1-to-K"/>
          <owl:maxCardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >10000000000</owl:maxCardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="finite">
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >2</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >5</owl:cardinality>

       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#f-K-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>

        </owl:Restriction>
      </owl:equivalentClass>


    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#finite"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >3</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#finite"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:finite .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:finite .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:f-K-to-1 rdf:type owl:FunctionalProperty .
first:invF-1-to-K rdf:type owl:ObjectProperty .
first:f-K-to-1 owl:inverseOf first:invF-1-to-K .
first:f-K-to-1 rdfs:domain first:finite .
first:f-K-to-1 rdfs:range first:only-d .
first:f-K-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invF-1-to-K .
_:c owl:maxCardinality "10000000000"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
first:finite rdf:type owl:Class .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invP-1-to-N .
_:e owl:cardinality "2"^^xsd:integer  .
first:finite owl:equivalentClass _:e .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:invR-N-times-M-to-1 .
_:g owl:cardinality "5"^^xsd:integer  .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:f-K-to-1 .
_:i owl:someValuesFrom first:only-d .
_:g owl:equivalentClass _:i .
first:finite owl:equivalentClass _:g .
first:cardinality-N rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:p-N-to-1 .
_:k owl:someValuesFrom first:finite .
first:cardinality-N owl:equivalentClass _:k .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:invQ-1-to-M .
_:m owl:cardinality "3"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:m .
first:cardinality-N-times-M rdf:type owl:Class .
_:o rdf:type owl:Restriction .
_:o owl:onProperty first:q-M-to-1 .
_:o owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:o .
first:cardinality-N-times-M rdf:type owl:Class .
_:q rdf:type owl:Restriction .
_:q owl:onProperty first:r-N-times-M-to-1 .
_:q owl:someValuesFrom first:finite .
first:cardinality-N-times-M owl:equivalentClass _:q .

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

N is 20. M is 30. N times M is not 601.
N3 format is informative.
DLInconsistent: <description-logic/inconsistent910>
<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/description-logic/inconsistent910" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >20</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >601</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#only-d"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >30</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality "20"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality "601"^^xsd:integer  .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality "30"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
first:cardinality-N-times-M rdf:type owl:Class .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .

C.4. Miscellaneous Tests

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

C.4.1. Detailed OWL Lite and OWL DL Syntax

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

DLConsistent document.102
Description: (informative) <miscellaneous/Manifest102#test> Jeremy J. Carroll
Abstract syntax restrictions with multiple components are in OWL DL.
N3 format is informative.
DLConsistent: <miscellaneous/consistent102>
<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/miscellaneous/consistent102#"
    xml:base="http://www.w3.org/2002/03owlt/miscellaneous/consistent102" >
   <owl:Thing rdf:ID="i">
     <rdf:type>
         <owl:Class>
            <owl:intersectionOf rdf:parseType="Collection">
               <owl:Restriction>
                  <owl:onProperty>
                    <owl:ObjectProperty rdf:ID="p"/>
                  </owl:onProperty>
                  <owl:allValuesFrom>
                    <owl:Class rdf:ID="a"/>
                  </owl:allValuesFrom>
               </owl:Restriction>
               <owl:Restriction>
                  <owl:onProperty>
                    <owl:ObjectProperty rdf:about="#p"/>
                  </owl:onProperty>
                  <owl:someValuesFrom>
                    <owl:Class rdf:ID="s"/>
                  </owl:someValuesFrom>
               </owl:Restriction>
             </owl:intersectionOf>
         </owl:Class>
     </rdf:type>
   </owl:Thing>

</rdf:RDF>
first:i rdf:type owl:Thing .
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
first:a rdf:type owl:Class .
_:c owl:allValuesFrom first:a .
_:e rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:e owl:onProperty first:p .
first:s rdf:type owl:Class .
_:e owl:someValuesFrom first:s .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:intersectionOf _:i .
first:i rdf:type _:a .

DLConsistent document.103
Description: (informative) <miscellaneous/Manifest103#test> Jeremy J. Carroll
This description cannot be expressed as a multicomponent restriction in the abstract syntax.
N3 format is informative.
DLConsistent: <miscellaneous/consistent103>
<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/miscellaneous/consistent103#"
    xml:base="http://www.w3.org/2002/03owlt/miscellaneous/consistent103" >
   <owl:Thing rdf:ID="i">
     <rdf:type>
         <owl:Class>
            <owl:intersectionOf rdf:parseType="Collection">
               <owl:Restriction>
                  <owl:onProperty>
                    <owl:ObjectProperty rdf:ID="p"/>
                  </owl:onProperty>
                  <owl:allValuesFrom>
                    <owl:Class rdf:ID="a"/>
                  </owl:allValuesFrom>
               </owl:Restriction>
               <owl:Restriction>
                  <owl:onProperty>
                    <owl:ObjectProperty rdf:about="#q"/>
                  </owl:onProperty>
                  <owl:someValuesFrom>
                    <owl:Class rdf:ID="s"/>
                  </owl:someValuesFrom>
               </owl:Restriction>
             </owl:intersectionOf>
         </owl:Class>
     </rdf:type>
   </owl:Thing>

</rdf:RDF>
first:i rdf:type owl:Thing .
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
first:a rdf:type owl:Class .
_:c owl:allValuesFrom first:a .
_:e rdf:type owl:Restriction .
first:q rdf:type owl:ObjectProperty .
_:e owl:onProperty first:q .
first:s rdf:type owl:Class .
_:e owl:someValuesFrom first:s .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:g rdf:type rdf:List .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:i rdf:type rdf:List .
_:a owl:intersectionOf _:i .
first:i rdf:type _:a .

C.4.2. Concerning rdf:XMLLiteral

These tests illustrate the use of rdf:XMLLiteral.

LiteConsistent document.201
Description: (informative) <miscellaneous/Manifest201#test> Martin Dürst, Masayasu Ishikawa
This test shows how user labels in a variety of languages can be used. Note the use of ruby annotation.
Other datatypes: rdf:XMLLiteral,
N3 format is informative.
Namespaces:
@prefix : <http://www.w3.org/1999/xhtml> .
LiteConsistent: <miscellaneous/consistent201>
<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="http://www.w3.org/1999/xhtml"
    xmlns:first="http://www.w3.org/2002/03owlt/miscellaneous/consistent201#"
    xml:base="http://www.w3.org/2002/03owlt/miscellaneous/consistent201" >

    <owl:Class rdf:ID="ShakespearePlay">
      <rdfs:label xml:lang="en">Shakespeare's plays</rdfs:label>
      <rdfs:comment xml:lang="en">The class of Shakespeare's plays.</rdfs:comment>
      <rdfs:label xml:lang="it">Opere di Shakespeare</rdfs:label>
      <rdfs:comment xml:lang="it">La classe delle opere di Shakespeare.</rdfs:comment>
      <rdfs:label xml:lang="ja" rdf:parseType="Literal"
          >シェイクスピアの<ruby><rbc><rb>演</rb><rb>劇</rb></rbc>
          <rtc><rt>えん</rt><rt>げき</rt></rtc></ruby></rdfs:label>
      <rdfs:comment xml:lang="ja" rdf:parseType="Literal"
          >シェイクスピアの<ruby><rbc><rb>演</rb><rb>劇</rb></rbc>
          <rtc><rt>えん</rt><rt>げき</rt></rtc></ruby>のクラス。</rdfs:comment>
    </owl:Class>
    <first:ShakespearePlay rdf:ID="Romeo-and-Juliet">
      <rdfs:label xml:lang="en">Romeo and Juliet</rdfs:label>
      <rdfs:comment xml:lang="en">The Most Excellent and Lamentable Tragedy 
          of Romeo and Juliet.</rdfs:comment>
      <rdfs:label xml:lang="it">Romeo e Giulietta</rdfs:label>
      <rdfs:comment xml:lang="it">La tragedia di Romeo e Giulietta</rdfs:comment>
      <rdfs:label xml:lang="ja" rdf:parseType="Literal"
          >ロミオとジュリエット</rdfs:label>
      <rdfs:comment xml:lang="ja" rdf:parseType="Literal"
          >ロミオとジュリエットの<ruby><rbc><rb>悲</rb><rb>劇</rb></rbc>
          <rtc><rt>ひ</rt><rt>げき</rt></rtc></ruby></rdfs:comment>
    </first:ShakespearePlay>
</rdf:RDF>
first:ShakespearePlay rdf:type owl:Class .
first:ShakespearePlay rdfs:label "Shakespeare's plays"@en .
first:ShakespearePlay rdfs:comment "The class of Shakespeare's plays."@en .
first:ShakespearePlay rdfs:label "Opere di Shakespeare"@it .
first:ShakespearePlay rdfs:comment "La classe delle opere di Shakespeare."@it .
first:ShakespearePlay rdfs:label """シェイクスピアの<ruby xmlns="http://www.w3.org/1999/xhtml"><rbc><rb>演</rb><rb>劇</rb></rbc>
          <rtc><rt>えん</rt><rt>げき</rt></rtc></ruby>"""@ja^^rdf:XMLLiteral  .
first:ShakespearePlay rdfs:comment """シェイクスピアの<ruby xmlns="http://www.w3.org/1999/xhtml"><rbc><rb>演</rb><rb>劇</rb></rbc>
          <rtc><rt>えん</rt><rt>げき</rt></rtc></ruby>のクラス。"""@ja^^rdf:XMLLiteral  .
first:Romeo-and-Juliet rdf:type first:ShakespearePlay .
first:Romeo-and-Juliet rdfs:label "Romeo and Juliet"@en .
first:Romeo-and-Juliet rdfs:comment """The Most Excellent and Lamentable Tragedy 
          of Romeo and Juliet."""@en .
first:Romeo-and-Juliet rdfs:label "Romeo e Giulietta"@it .
first:Romeo-and-Juliet rdfs:comment "La tragedia di Romeo e Giulietta"@it .
first:Romeo-and-Juliet rdfs:label "ロミオとジュリエット"@ja^^rdf:XMLLiteral  .
first:Romeo-and-Juliet rdfs:comment """ロミオとジュリエットの<ruby xmlns="http://www.w3.org/1999/xhtml"><rbc><rb>悲</rb><rb>劇</rb></rbc>
          <rtc><rt>ひ</rt><rt>げき</rt></rtc></ruby>"""@ja^^rdf:XMLLiteral  .

LiteConsistent document.202
Description: (informative) <miscellaneous/Manifest202#test> Jeremy J. Carroll
This shows that insignificant whitespace in an rdf:XMLLiteral is not significant within OWL.
Other datatypes: rdf:XMLLiteral,
N3 format is informative.
Namespaces:
@prefix : <http://www.w3.org/1999/xhtml> .
LiteConsistent: <miscellaneous/consistent202>
<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="http://www.w3.org/1999/xhtml"
    xmlns:first="http://www.w3.org/2002/03owlt/miscellaneous/consistent202#"
    xml:base="http://www.w3.org/2002/03owlt/miscellaneous/consistent202" >

  <owl:DatatypeProperty rdf:ID="fp" />
  <owl:FunctionalProperty
           rdf:about="#fp" />
  <owl:Thing>
     <first:fp rdf:parseType="Literal"><br />
<img src="vn.png" alt="Venn diagram" longdesc="vn.html" title="Venn"></img></first:fp>
     <first:fp rdf:parseType="Literal"><br 
></br>
<img 
src="vn.png" title=
"Venn" alt
="Venn diagram" longdesc=
"vn.html" /></first:fp>
   </owl:Thing>
</rdf:RDF>
first:fp rdf:type owl:DatatypeProperty .
first:fp rdf:type owl:FunctionalProperty .
_:a rdf:type owl:Thing .
_:a first:fp """<br xmlns="http://www.w3.org/1999/xhtml"></br>
<img xmlns="http://www.w3.org/1999/xhtml" alt="Venn diagram" longdesc="vn.html" src="vn.png" title="Venn"></img>"""^^rdf:XMLLiteral  .
_:a first:fp """<br xmlns="http://www.w3.org/1999/xhtml"></br>
<img xmlns="http://www.w3.org/1999/xhtml" alt="Venn diagram" longdesc="vn.html" src="vn.png" title="Venn"></img>"""^^rdf:XMLLiteral  .

LiteInconsistent document.203
Description: (informative) <miscellaneous/Manifest203#test> Jeremy J. Carroll
This shows that initial whitespace in an rdf:XMLLiteral is significant within OWL.
Required datatype support: rdf:XMLLiteral,
N3 format is informative.
Namespaces:
@prefix : <http://www.w3.org/1999/xhtml> .
LiteInconsistent: <miscellaneous/inconsistent203>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:first="http://www.w3.org/2002/03owlt/miscellaneous/inconsistent203#"
    xml:base="http://www.w3.org/2002/03owlt/miscellaneous/inconsistent203" >

  
  <owl:DatatypeProperty
           rdf:ID="fp" />
  <owl:FunctionalProperty
           rdf:about="#fp" />
  <owl:Thing>
     <first:fp rdf:parseType="Literal">
<br />
<img src="vn.png" alt="Venn diagram" longdesc="vn.html" title="Venn"></img>
</first:fp>
     <first:fp rdf:parseType="Literal"><br 
></br>
<img 
src="vn.png" title=
"Venn" alt
="Venn diagram" longdesc=
"vn.html" />
</first:fp>
   </owl:Thing>
</rdf:RDF>
first:fp rdf:type owl:DatatypeProperty .
first:fp rdf:type owl:FunctionalProperty .
_:a rdf:type owl:Thing .
_:a first:fp """
<br xmlns="http://www.w3.org/1999/xhtml"></br>
<img xmlns="http://www.w3.org/1999/xhtml" alt="Venn diagram" longdesc="vn.html" src="vn.png" title="Venn"></img>
"""^^rdf:XMLLiteral  .
_:a first:fp """<br xmlns="http://www.w3.org/1999/xhtml"></br>
<img xmlns="http://www.w3.org/1999/xhtml" alt="Venn diagram" longdesc="vn.html" src="vn.png" title="Venn"></img>
"""^^rdf:XMLLiteral  .

C.4.3. Annotations

These tests concern the semantics of annotations.

FullNegative Entailment Test:301
Description: (informative) <miscellaneous/Manifest301#test> Jeremy J. Carroll
Annotations participate a little in the semantics.
N3 format is informative.
FullPremises: <miscellaneous/premises301>
<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/miscellaneous/premises301#"
    xml:base="http://www.w3.org/2002/03owlt/miscellaneous/premises301" >

<owl:Thing rdf:about="#a">
   <first:prop>foo</first:prop>
</owl:Thing>

</rdf:RDF>
first:a rdf:type owl:Thing .
first:a first:prop "foo" .
FullConclusions: <miscellaneous/nonconclusions301>
<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/miscellaneous/premises301#"
    xml:base="http://www.w3.org/2002/03owlt/miscellaneous/nonconclusions301" >

<owl:Thing rdf:about="premises301#a">
   <first:prop>bar</first:prop>
</owl:Thing>

</rdf:RDF>
first:a rdf:type owl:Thing .
first:a first:prop "bar" .

LiteNegative Entailment Test:302
Description: (informative) <miscellaneous/Manifest302#test> Jeremy J. Carroll
Annotations participate a little in the semantics.
N3 format is informative.
LitePremises: <miscellaneous/premises302>
<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/miscellaneous/premises302#"
    xml:base="http://www.w3.org/2002/03owlt/miscellaneous/premises302" >

<owl:AnnotationProperty rdf:ID="prop" />
<owl:Thing rdf:about="#a">
   <first:prop>foo</first:prop>
</owl:Thing>

</rdf:RDF>
first:prop rdf:type owl:AnnotationProperty .
first:a rdf:type owl:Thing .
first:a first:prop "foo" .
LiteConclusions: <miscellaneous/nonconclusions302>
<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/miscellaneous/premises302#"
    xml:base="http://www.w3.org/2002/03owlt/miscellaneous/nonconclusions302" >

<owl:AnnotationProperty rdf:about="premises302#prop" />

<owl:Thing rdf:about="premises302#a">
   <first:prop>bar</first:prop>
</owl:Thing>

</rdf:RDF>
first:prop rdf:type owl:AnnotationProperty .
first:a rdf:type owl:Thing .
first:a first:prop "bar" .

LiteConsistent document.303
Description: (informative) <miscellaneous/Manifest303#test> Jeremy J. Carroll
dc:creator may be declared as an annotation property.
N3 format is informative.
LiteConsistent: <miscellaneous/consistent303>
<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/miscellaneous/consistent303" >

  <owl:AnnotationProperty rdf:about='http://purl.org/dc/elements/1.0/creator'/>

</rdf:RDF>
<http://purl.org/dc/elements/1.0/creator> rdf:type owl:AnnotationProperty .

C.5. Extra Credit (Informative)

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

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

C.5.1. Arithmetic in OWL

Tests that show the relationship between OWL and simple arithmetic.

FullPositive Entailment Test:002
Description: (informative) <extra-credit/Manifest002#test> Jeremy J. Carroll
This test shows a relationship between integer multiplication and OWL Full.
Required datatype support: xsd:int,
N3 format is informative.
FullPremises: <extra-credit/premises002>
<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/extra-credit/premises002" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
       <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-1-to-N-times-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <rdf:Description rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:resource="#N"/>
        </owl:Restriction>
      </owl:equivalentClass>
      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
           <owl:cardinality rdf:resource="#N-times-M"/>
         </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>
    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
           <owl:Restriction>
             <owl:onProperty rdf:resource="#p-N-to-1"/>
             <owl:someValuesFrom rdf:resource="#only-d"/>
           </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
           <owl:Restriction>
              <owl:onProperty rdf:resource="#invQ-1-to-M"/>
              <owl:cardinality rdf:resource="#M"/>
           </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>
    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
           <owl:Restriction>
             <owl:onProperty rdf:resource="#q-M-to-1"/>
             <owl:someValuesFrom rdf:resource="#cardinality-N"/>
           </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
           <owl:Restriction>
             <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
             <owl:someValuesFrom rdf:resource="#only-d"/>
           </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <rdf:Description rdf:about="#N">
      <owl:sameIndividualAs 
          rdf:datatype=
"http://www.w3.org/2001/XMLSchema#int">15</owl:sameIndividualAs>
     </rdf:Description>
    <rdf:Description rdf:about="#M">
      <owl:sameIndividualAs 
          rdf:datatype=
"http://www.w3.org/2001/XMLSchema#int">23</owl:sameIndividualAs>
     </rdf:Description>

</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-1-to-N-times-M rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-1-to-N-times-M .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:only-d rdf:type owl:Class .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality first:N .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality first:N-times-M .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality first:M .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .
first:N owl:sameIndividualAs "15"^^xsd:int  .
first:M owl:sameIndividualAs "23"^^xsd:int  .
FullConclusions: <extra-credit/conclusions002>
<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/extra-credit/conclusions002" >

    <rdf:Description rdf:about="premises002#N-times-M">
      <owl:sameIndividualAs 
          rdf:datatype=
"http://www.w3.org/2001/XMLSchema#int">345</owl:sameIndividualAs>
     </rdf:Description>

</rdf:RDF>
first:N-times-M owl:sameIndividualAs "345"^^xsd:int  .

FullPositive Entailment Test:003
Description: (informative) <extra-credit/Manifest003#test> Jeremy J. Carroll
Prime factorization can be expressed in OWL Full.
Required datatype support: xsd:int,
N3 format is informative.
FullPremises: <extra-credit/premises003>
<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/extra-credit/premises003" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
       <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-1-to-N-times-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <rdf:Description rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:resource="#N"/>
        </owl:Restriction>
      </owl:equivalentClass>
      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
           <owl:cardinality rdf:resource="#N-times-M"/>
         </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>
    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
           <owl:Restriction>
             <owl:onProperty rdf:resource="#p-N-to-1"/>
             <owl:someValuesFrom rdf:resource="#only-d"/>
           </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
           <owl:Restriction>
              <owl:onProperty rdf:resource="#invQ-1-to-M"/>
              <owl:cardinality rdf:resource="#M"/>
           </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>
    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
           <owl:Restriction>
             <owl:onProperty rdf:resource="#q-M-to-1"/>
             <owl:someValuesFrom rdf:resource="#cardinality-N"/>
           </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
           <owl:Restriction>
             <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
             <owl:someValuesFrom rdf:resource="#only-d"/>
           </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <rdf:Description rdf:about="#N-times-M">
      <owl:sameIndividualAs 
          rdf:datatype=
"http://www.w3.org/2001/XMLSchema#int">77</owl:sameIndividualAs>
     </rdf:Description>

</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-1-to-N-times-M rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-1-to-N-times-M .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:only-d rdf:type owl:Class .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality first:N .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality first:N-times-M .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality first:M .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .
first:N-times-M owl:sameIndividualAs "77"^^xsd:int  .
FullConclusions: <extra-credit/conclusions003>
<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/extra-credit/conclusions003" >
    
    <owl:Class>
         <owl:oneOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises003#N"/>
            <rdf:Description rdf:about="premises003#M"/>
         </owl:oneOf>
         <owl:oneOf rdf:parseType="Collection">
            <rdf:Description>
              <owl:sameIndividualAs rdf:datatype=
"http://www.w3.org/2001/XMLSchema#int">7</owl:sameIndividualAs>
            </rdf:Description>
            <rdf:Description>
              <owl:sameIndividualAs rdf:datatype=
"http://www.w3.org/2001/XMLSchema#int">11</owl:sameIndividualAs>
            </rdf:Description>
         </owl:oneOf>
    </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:first first:M .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:e rdf:first first:N .
_:e rdf:rest _:c .
_:e rdf:type rdf:List .
_:a owl:oneOf _:e .
_:g owl:sameIndividualAs "7"^^xsd:int  .
_:i owl:sameIndividualAs "11"^^xsd:int  .
_:k rdf:first _:i .
_:k rdf:rest rdf:nil .
_:k rdf:type rdf:List .
_:m rdf:first _:g .
_:m rdf:rest _:k .
_:m rdf:type rdf:List .
_:a owl:oneOf _:m .

FullPositive Entailment Test:004
Description: (informative) <extra-credit/Manifest004#test> Jeremy J. Carroll
A more difficult prime factorization example.
Required datatype support: xsd:int,
N3 format is informative.
FullPremises: <extra-credit/premises004>
<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/extra-credit/premises004" 
    xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#">

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
       <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-1-to-N-times-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <rdf:Description rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:resource="#N"/>
        </owl:Restriction>
      </owl:equivalentClass>
      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
           <owl:cardinality rdf:resource="#N-times-M"/>
         </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>
    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
           <owl:Restriction>
             <owl:onProperty rdf:resource="#p-N-to-1"/>
             <owl:someValuesFrom rdf:resource="#only-d"/>
           </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
           <owl:Restriction>
              <owl:onProperty rdf:resource="#invQ-1-to-M"/>
              <owl:cardinality rdf:resource="#M"/>
           </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>
    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
           <owl:Restriction>
             <owl:onProperty rdf:resource="#q-M-to-1"/>
             <owl:someValuesFrom rdf:resource="#cardinality-N"/>
           </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
           <owl:Restriction>
             <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
             <owl:someValuesFrom rdf:resource="#only-d"/>
           </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>
   
    <rdf:Description rdf:about="#N-times-M">
      <owl:sameIndividualAs 
          rdf:datatype=
"http://www.w3.org/2001/XMLSchema#int">929136997</owl:sameIndividualAs>
     </rdf:Description>

</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-1-to-N-times-M rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-1-to-N-times-M .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:only-d rdf:type owl:Class .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
_:a rdf:type rdf:List .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality first:N .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality first:N-times-M .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality first:M .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .
first:N-times-M owl:sameIndividualAs "929136997"^^xsd:int  .
FullConclusions: <extra-credit/conclusions004>
<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/extra-credit/conclusions004" >
    
    <owl:Class>
         <owl:oneOf rdf:parseType="Collection">
            <rdf:Description rdf:about="premises004#N"/>
            <rdf:Description rdf:about="premises004#M"/>
         </owl:oneOf>
         <owl:oneOf rdf:parseType="Collection">
            <rdf:Description>
              <owl:sameIndividualAs rdf:datatype=
"http://www.w3.org/2001/XMLSchema#int">83563</owl:sameIndividualAs>
            </rdf:Description>
            <rdf:Description>
              <owl:sameIndividualAs rdf:datatype=
"http://www.w3.org/2001/XMLSchema#int">11119</owl:sameIndividualAs>
            </rdf:Description>
         </owl:oneOf>
    </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:first first:M .
_:c rdf:rest rdf:nil .
_:c rdf:type rdf:List .
_:e rdf:first first:N .
_:e rdf:rest _:c .
_:e rdf:type rdf:List .
_:a owl:oneOf _:e .
_:g owl:sameIndividualAs "83563"^^xsd:int  .
_:i owl:sameIndividualAs "11119"^^xsd:int  .
_:k rdf:first _:i .
_:k rdf:rest rdf:nil .
_:k rdf:type rdf:List .
_:m rdf:first _:g .
_:m rdf:rest _:k .
_:m rdf:type rdf:List .
_:a owl:oneOf _:m .

D. Editorial Issues (Informative)

Last Call comments regarding any of these issues are welcome. In particular, the existence of an issue in this section does not constitute a promise that this will be addressed before the Proposed Recommendation.

D.1. Arising from Automated Checking

Most of these issues will be ignored.

D.2. Document Structure

It is desirable to provide a PDF version that prints with correct page boundaries.

D.3. Test Specific Issues

Exhaustive coverage of OWL features is desired.

Tests reflecting more issue resolutions are desired.

Other additional tests will be added as submitted by WG members and the community during Last Call, and beyond.

D.4. Other

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

Check descriptions for appropriate links to other OWL specs.


E. Acknowledgments (Informative)

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

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

Ian Horrocks contributed to the conformance section of this document.

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

F. Change Log

This section is only for WG review, and gives the changes since the 31st March version.

Added text for datatype support stuff: to first part of section 3; last paragraph of section 6 and changed SHOULD to MUST for xsd:integer and xsd:string in section 4.2.2. Also see test examples, for example in C.2.6 Datatypes

Added Jena2 OWL Syntax Checker into document creation tool. Syntax error messages included in document.

Changed format of literals in document body in N3 to use triple quote convention.

Added Manifest for all the tests as requested by Sean.

F.1. Syntactic Fixes

See archive copy for motivations.

Changed the Manifests to show the following as Lite:

Changed the Manifests to show the following as DL:

Deleted unnecessary "blank intersectionOf blank" in:

Added a type to an untyped node:

Replaced <owl:Thing/> with <owl:class rdf:about="&owl;Thing"/>:

Replaced <owl:Thing> with <rdf:Description rdf:about="&owl;Thing"/>:

Changed owl:sameClassAs to owl:equivalentClass in:

Added owl:DataRange to type class nodes in the following files:

Added owl:Thing to type class nodes in the following files:

Added owl:Class to type class nodes in the following files:

Added owl:Class to type class nodes in the following files. Also recorded these as OWL Lite not OWL DL:

Added owl:Ontology declaration to imported file:

Added owl:Ontology declaration to importing file:

Added owl:DatatypeProperty declaration to:

Changed files to be OWL Full rather than OWL Lite

F.2. Other Changes to Approved Tests

Changed description of:

cardinality-005 obsoleted, and copied and negated to cardinality 007 (see Minutes May 1st for unapproval).

Changed domain to range in description-logic tests 901, 902, 903, 904 as reported by Horrocks prior to approval vote.

Changed the following to be OWLforOWLTests: Nothiong-002, I5.5-001, I5.5-OO2

Patched up guide examples to be in OWL DL.

I5.24-004 fixed up to correct <owl:Thing> / <owl:Class rdf:about="owl:Thing"> bug, and patched to be a Lite test.

Added or corrected xml:base declaration:

The following tests had their descriptions changed.

Added xsd:positiveInteger as used datatype in (copy of) wine.owl example (msicellaneous 001). Deleted commented out stuff from (copy of) food.owl.

Global detele of ctrl-M

F.3. Other Changes to Proposed Tests

Rearranged whitespace in literals

Changed I5.8-011 to be OWLforOWLTest.

Obsoleted miscellaneous 101. The other tests 102 103 give sufficient coverage of the issue to do with restrictions with multiple components.

Changed Sean's DL tests from positive entailments to inconsistency tests, and from negative entailments to consisitency tests. New files:

Approved many tests as in May 1st minutes.

(Hopefully) fixed extra credit arithmetic tests 002, 003, 004 (substantial rewrite of tests).

I5.24-003 fixed up to correct <owl:Thing> / <owl:Class rdf:about="owl:Thing"> bug, and patched to be a Lite test.

Added datatype support statements for:

Added xml:base declarations for many files without - many of Sean's tests in description-logic, and FunctionalProperty/conclusions005.rdf FunctionalProperty/premises005.rdf I5.5/premises001.rdf I5.5/premises002.rdf Nothing/premises002.rdf .

Obsoleted extra-credit 001 (integer addition in OWL Full) because I did not have the time to fix it.

Updated comments in many description logic tests (the Heinsohn ref was prettified) and also the following:

F.4. More tests

Sean's DL tests have been transformed into Lite tests and added again using the Horrock's transform.

owl:sameInstanceAs, owl:sameClassAs done in #I4.6-003 #I4.6-004 #I4.6-005

Updated testOntology, false, and added empty .

Added more description-logic cardinality tests:

Added imports-010 to test domain and range for owl:imports.

Added I5.3-010 I5.3-011 concerning _:a pred class

Added equivalentClass-008 and sameIndividualAs-001 to clairfy the interaction of annotations with these relationships.

Added DatatypeProperty-001 as in http://lists.w3.org/Archives/Public/www-webont-wg/2003Mar/0044.html

G. References

Normative

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

Informative

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