The tests of this document are also [[not yet]] available in these non-normative formats: Zip archive of approved tests, Zip archive of proposed tests, the test web site.
Copyright ©2002 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
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.
This section is largely untrue, and describes aspiration rather than fact. In fact, this document is merely the work of its authors for consideration by the Web Ontology Working Group.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C.
The approved test cases in this document represent the consensus of the Web Ontology Working Group as at 7th October 2002. In later versions of this document many of the proposed tests will have moved into the approved tests section, either positively or negatively, depending on the working group consensus on the underlying issues. This document is subsidiary to the other Web Ontology Language recommendation track documents ([OWL Language], [OWL Abstract Syntax], [OWL Formal Semantics]) that give the formal definition of the language. The test cases described in this document (both approved and proposed) may be updated, replaced, negated or obsoleted at any time; despite this the working group would value implementor feedback on them. For this first Working Draft, feedback is particularly sought on issues of test format, description, process and presentation.
Comments on this document should be sent to public-webont-comments@w3.org, a mailing list with a public archive. Alternatively, if you do not wish your comments to be made public, you can send your comments to w3t-semweb-review@w3.org . General discussion of related technology is welcome in www-rdf-logic.
There are no patent disclosures related to this work at the time of this writing.
This is a W3C Working Draft for review by W3C members and other interested parties. It is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference materials or to cite them 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/.
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.
As part of the definition of the Web Ontology Language (OWL) [OWL Language] the Web Ontology Working Group provides a set of test cases. This document contains those test cases. They are intended to provide examples for, and clarification of, the other recommendation track documents ([OWL Language], [OWL Abstract Syntax], [OWL Formal Semantics]) to which this document is subsiduary.
This document describes the various types of test used
and the format in which the tests
are presented.
Alternative formats of the test collection are provided.
These are intended to be suitable
for use by OWL developers in test harnesses,
possibly as part of a test driven development process,
such as Extreme Programming [XP].
The format of the Manifest
files
used as part of these alternative formats is described.
This document describes the process for conflict resolution and errata related to these tests.
In the non-normative appendices, this document also describes the process for creation and approval of these tests.
Further appendices show further proposed tests that are awaiting resolution by the working group.
The test cases do not constitute a conformance test suite for OWL.
The test illustrate issue resolutions, and illustrate the use and meaning of the terms in the OWL namespace.
There are other miscellaneous tests motivated individually [[none in this version]] .
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 want index files for the web site that clarify which parts are part of the deliverable and which are not?]]
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 test data (specified in RDF/XML [RDF/XML Syntax]), and the supporting documentation.
When the normative tests and the other normative OWL recommendations diverge the following process should be followed.
If the OWL working drafts are at or before last call then:
If the OWL recommendation has passed last call then:
Note: this last step does not require consensus, or even a majority.
Note: the errata process over the tests is monotonic decreasing.
Each test consists of either one or two 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 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.
These tests use one document.
It is named badNNN.rdf
.
This document includes a use of the OWL namespace with a local name
that is not defined by the OWL recommendation.
Note: These tests are intended to help migration from DAML+OIL [DAML+OIL], since the local names chosen are defined in the DAML+OIL namespace.
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 Formal Semantics [OWL Formal Semantics].
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 Formal Semantics [OWL Formal Semantics].
These tests use one document.
It is named consistentNNN.rdf
.
The document is consistent as defined
by the OWL Formal Semantics [OWL Formal Semantics].
These tests use one document.
It is named inconsistentNNN.rdf
.
The document is inconsistent as defined
by the OWL Formal Semantics [OWL Formal Semantics].
During development, tests that are not of one of the above types, are classified as miscellaneous while awaiting a new test type to be defined.
This document does not define criteria for how any specific OWL system should respond to the test data. Appropriate use of these tests should be determined by the system developers.
The following guidelines are offered.
Any OWL compliant system should be able to read and process all the test input files. Moreover, those files that show an incorrect use of the OWL namespace should result in the system issuing a diagnostic.
OWL reasoners should be able to prove many of the relationships shown in these tests. However, incomplete reasoners may fail to find proofs of some truths illustrated by these test cases.
In detail, we may see that, a reasoner is unsound when:
A reasoner is incomplete if:
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
otest:PositiveEntailmentTest
otest:NegativeEntailmentTest
otest:ConsistencyTest
otest:InconsistencyTest
rtest:MiscellaneousTest
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
.
owl:FunctionalProperty
Positive Entailment Test: | 001 |
---|---|
Description: (informative) | |
If prop belongs to owl:FunctionalProperty ,
and subject denotes a resource and
has two outgoing prop arcs, then the object s of these arcs
have the same denotation. | |
Premises: | |
<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> | |
Conclusions: | |
<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> |
Positive Entailment Test: | 002 |
---|---|
Description: (informative) | |
If prop belongs to owl:FunctionalProperty ,
and subject denotes a resource and
has two outgoing prop arcs, then the object s of these arcs
have the same denotation. Hence an arc originating in
object1 can be copied to object2 . | |
Premises: | |
<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:resource="#object1" eg:prop2="value" /> <first:prop rdf:resource="#object2" /> </rdf:Description> </rdf:RDF> | |
Conclusions: | |
<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/test002" > <rdf:Description rdf:about="premises002#object2" eg:prop2="value"/> </rdf:RDF> |
owl:InverseFunctionalProperty
Positive Entailment Test: | 001 |
---|---|
Description: (informative) | |
If prop belongs to owl:InverseFunctionalProperty ,
and object denotes a resource and
has two incoming prop arcs, then the subject s of these arcs
have the same denotation. | |
Premises: | |
<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> | |
Conclusions: | |
<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> |
Positive Entailment Test: | 002 |
---|---|
Description: (informative) | |
If prop belongs to owl:InverseFunctionalProperty ,
and object denotes a resource and
has two incoming prop arcs, then the subject s of these arcs
have the same denotation. Hence an arc originating in
subject1 can be copied to subject2 . | |
Premises: | |
<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" eg:prop2="value" > <first:prop rdf:resource="#object" /> </rdf:Description> <rdf:Description rdf:ID="subject2" > <first:prop rdf:resource="#object" /> </rdf:Description> </rdf:RDF> | |
Conclusions: | |
<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"/> </rdf:RDF> |
owl:inverseOf
Positive Entailment Test: | 001 |
---|---|
Description: (informative) | |
If the pair (x,y) is an instance of P , than the pair (y,x) is
an instance of the named property. | |
Premises: | |
<rdf:RDF xmlns:my="http://example.net/myVocab#" xmlns:eg="http://example.net/vocab#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:your="http://example.net/yourVocab#"> <rdf:Description rdf:about="http://example.net/myVocab#hasBrother"> <owl:inverseOf rdf:resource="http://example.net/yourVocab#isBrotherOf"/> </rdf:Description> <rdf:Description rdf:about="http://example.net/vocab#joe"> <my:hasBrother rdf:resource="http://example.net/vocab#bob"/> </rdf:Description> </rdf:RDF> | |
Conclusions: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:your="http://example.net/yourVocab#"> <rdf:Description rdf:about="http://example.net/vocab#bob"> <your:isBrotherOf rdf:resource="http://example.net/vocab#joe"/> </rdf:Description> </rdf:RDF> |
Illegal use of OWL namespace. | 001 |
---|---|
Description: (informative) | |
A DAML+OIL qualified cardinality constraint is not legal OWL. | |
Incorrect: | |
<!DOCTYPE rdf:RDF [ <!ENTITY owl "http://www.w3.org/2002/07/owl#"> ]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:eg="http://example.org/" xmlns:owl="&owl;" > <owl:Restriction owl:cardinalityQ="1"> <owl:onProperty rdf:resource="#exampleProp"/> <owl:hasClassQ rdf:resource="#exampleClass"/> </owl:Restriction> </rdf:RDF> |
Illegal use of OWL namespace. | 002 |
---|---|
Description: (informative) | |
A DAML+OIL qualified max cardinality constraint is not legal OWL. | |
Incorrect: | |
<!DOCTYPE rdf:RDF [ <!ENTITY owl "http://www.w3.org/2002/07/owl#"> ]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="&owl;" > <owl:Restriction owl:maxCardinalityQ="1"> <owl:onProperty rdf:resource="#exampleProp"/> <owl:hasClassQ rdf:resource="#exampleClass"/> </owl:Restriction> </rdf:RDF> |
Illegal use of OWL namespace. | 003 |
---|---|
Description: (informative) | |
A DAML+OIL qualified min cardinality constraint is not legal OWL. | |
Incorrect: | |
<!DOCTYPE rdf:RDF [ <!ENTITY owl "http://www.w3.org/2002/07/owl#"> ]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:eg="http://example.org/" xmlns:owl="&owl;" > <owl:Restriction owl:minCardinalityQ="1"> <owl:onProperty rdf:resource="#exampleProp"/> <owl:hasClassQ rdf:resource="#exampleClass"/> </owl:Restriction> </rdf:RDF> |
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:
"PROPOSED"
.
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.
The chair actions two members of the working group to review the tests a week before putting the test to the group.
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.
Until this document reaches last call, the editors may make editorial changes to approved and proposed tests. This includes:
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 gain group consensus if they follow these rules.
Tests should normally be expressed in RDF/XML.
Jeremy disagrees with the rest of this subsection and moves to strike the text. It is intended to reflect Peter's proposal to restrict RDF/XML to simple striped syntax.
The following RDF/XML grammar rules [RDF/XML Syntax] are not used:
rdf:parseType="Resource"
.
rdf:ID
, both for
reification and as an alternative to rdf:about
.
Moreover, all URI references in rdf:about
and rdf:resource
attribute values
are absolute.
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.
Test and manifest files should use the ".rdf"
suffix. URIs should not. The URL used for xml:base
declarations
does not have a suffix.
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"
).
The following copyright statement should be included as an XML comment in every test file:
<!-- Copyright World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, 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. $ -->
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.
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].
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.
This section repeats the normative tests.
This time the test data is shown in simple triples, using N-triple syntax [RDF Test Cases] with qnames. Qnames are used in place of URIs in the syntax with no delimiters. This syntax conforms with the usage in N3 [N3], the namespace prefices are also declared using N3 syntax [N3].
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#
first
#
second
#
In the N3 syntax [N3] used for namespace declarations, the first three 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#> . |
Other namespaces are explicitly listed with the test data.
owl:FunctionalProperty
Positive Entailment Test: | 001 |
---|---|
Description: | |
If prop belongs to owl:FunctionalProperty ,
and subject denotes a resource and
has two outgoing prop arcs, then the object s of these arcs
have the same denotation. | |
Premises: | |
first:prop rdf:type owl:FunctionalProperty . first:subject first:prop first:object1 . first:subject first:prop first:object2 . | |
Conclusions: | |
first:object1 owl:sameIndividualAs first:object2 . |
Positive Entailment Test: | 002 |
---|---|
Description: | |
If prop belongs to owl:FunctionalProperty ,
and subject denotes a resource and
has two outgoing prop arcs, then the object s of these arcs
have the same denotation. Hence an arc originating in
object1 can be copied to object2 . | |
Namespaces: | |
@prefix eg: <http://www.example.org/> . | |
Premises: | |
first:prop rdf:type owl:FunctionalProperty . first:object1 eg:prop2 "value" . first:subject first:prop first:object1 . first:subject first:prop first:object2 . | |
Conclusions: | |
first:object2 eg:prop2 "value" . |
owl:InverseFunctionalProperty
Positive Entailment Test: | 001 |
---|---|
Description: | |
If prop belongs to owl:InverseFunctionalProperty ,
and object denotes a resource and
has two incoming prop arcs, then the subject s of these arcs
have the same denotation. | |
Premises: | |
first:prop rdf:type owl:InverseFunctionalProperty . first:subject1 first:prop first:object . first:subject2 first:prop first:object . | |
Conclusions: | |
first:subject1 owl:sameIndividualAs first:subject2 . |
Positive Entailment Test: | 002 |
---|---|
Description: | |
If prop belongs to owl:InverseFunctionalProperty ,
and object denotes a resource and
has two incoming prop arcs, then the subject s of these arcs
have the same denotation. Hence an arc originating in
subject1 can be copied to subject2 . | |
Namespaces: | |
@prefix eg: <http://www.example.org/> . | |
Premises: | |
first:prop rdf:type owl:InverseFunctionalProperty . first:subject1 eg:prop2 "value" . first:subject1 first:prop first:object . first:subject2 first:prop first:object . | |
Conclusions: | |
first:subject2 eg:prop2 "value" . |
owl:inverseOf
Positive Entailment Test: | 001 |
---|---|
Description: | |
If the pair (x,y) is an instance of P , than the pair (y,x) is
an instance of the named property. | |
Namespaces: | |
@prefix my: <http://example.net/myVocab#> . @prefix your: <http://example.net/yourVocab#> . @prefix eg: <http://example.net/vocab#> . | |
Premises: | |
my:hasBrother owl:inverseOf your:isBrotherOf . eg:joe my:hasBrother eg:bob . | |
Conclusions: | |
eg:bob your:isBrotherOf eg:joe . |
Illegal use of OWL namespace. | 001 |
---|---|
Description: | |
A DAML+OIL qualified cardinality constraint is not legal OWL. | |
Namespaces: | |
@prefix eg: <http://example.org/> . | |
Incorrect: | |
_:jARP2062 rdf:type owl:Restriction . _:jARP2062 owl:cardinalityQ "1" . _:jARP2062 owl:onProperty first:exampleProp . _:jARP2062 owl:hasClassQ first:exampleClass . |
Illegal use of OWL namespace. | 002 |
---|---|
Description: | |
A DAML+OIL qualified max cardinality constraint is not legal OWL. | |
Incorrect: | |
_:jARP2065 rdf:type owl:Restriction . _:jARP2065 owl:maxCardinalityQ "1" . _:jARP2065 owl:onProperty first:exampleProp . _:jARP2065 owl:hasClassQ first:exampleClass . |
Illegal use of OWL namespace. | 003 |
---|---|
Description: | |
A DAML+OIL qualified min cardinality constraint is not legal OWL. | |
Namespaces: | |
@prefix eg: <http://example.org/> . | |
Incorrect: | |
_:jARP2068 rdf:type owl:Restriction . _:jARP2068 owl:minCardinalityQ "1" . _:jARP2068 owl:onProperty first:exampleProp . _:jARP2068 owl:hasClassQ first:exampleClass . |
owl:FunctionalProperty
Positive Entailment Test: | 003 |
---|---|
Description: | |
If prop is an owl:FunctionalProperty ,
then its inverse is an owl:InverseFunctionalProperty . | |
Premises: | |
<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> | |
Conclusions: | |
<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> |
Positive Entailment Test: | 004 |
---|---|
Description: | |
If the range of prop is a singleton set then it is necessarily functional, (i.e. every member of its domain
has a single value) and so it is an owl:FunctionalProperty . | |
Premises: | |
<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> | |
Conclusions: | |
<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> |
Positive Entailment Test: | 005 |
---|---|
Description: | |
If prop belongs to owl:FunctionalProperty
then an OWL object has at most one value for prop . | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl ="http://www.w3.org/2002/07/owl#" xmlns:eg ="http://www.example.org/"> <owl:FunctionalProperty rdf:about="http://www.example.org/foo#prop" /> <owl:Thing rdf:about="http://www.example.org/foo#object" /> </rdf:RDF> | |
Conclusions: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl ="http://www.w3.org/2002/07/owl#" xmlns:eg ="http://www.example.org/"> <owl:Thing rdf:about="http://www.example.org/foo#object"> <rdf:type> <owl:Restriction> <owl:onProperty> <owl:FunctionalProperty rdf:about="http://www.example.org/foo#prop" /> </owl:onProperty> <owl:maxCardinality>1</owl:maxCardinality> </owl:Restriction> </rdf:type> </owl:Thing> </rdf:RDF> |
owl:InverseFunctionalProperty
Positive Entailment Test: | 003 |
---|---|
Description: | |
If prop is an owl:InverseFunctionalProperty ,
then its inverse is an owl:FunctionalProperty . | |
Premises: | |
<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> | |
Conclusions: | |
<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> |
Positive Entailment Test: | 004 |
---|---|
Description: | |
If the domain of prop is a singleton set then it is necessarily inverse functional, (i.e. every member of its
range is the value of a single item) so it is an
owl:InverseFunctionalProperty . | |
Premises: | |
<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> | |
Conclusions: | |
<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> |
owl:Nothing
Inconsistent document. | 001 |
---|---|
Description: | |
The triple asserts something of type Nothing , however
that is the empty class. | |
Inconsistent: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#"> <owl:Nothing/> </rdf:RDF> |
Positive Entailment Test: | 002 |
---|---|
Description: | |
There is one empty owl:Class , and it is often called Nothing . | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > </rdf:RDF> | |
Conclusions: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> </owl:oneOf> <owl:sameClassAs rdf:resource="http://www.w3.org/2002/07/owl#Nothing" /> </owl:Class> </rdf:RDF> |
owl:TransitiveProperty
Positive Entailment Test: | 001 |
---|---|
Description: | |
A simple illustration of transitivity. | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" 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"> </owl:TransitiveProperty> </rdf:RDF> | |
Conclusions: | |
<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> |
owl:intersectionOf
Positive Entailment Test: | 001 |
---|---|
Description: | |
The order of the classes in an intersectionOf
construct is unimportant. | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:first="http://www.w3.org/2002/03owlt/intersectionOf/premises001#" xmlns:second="http://www.w3.org/2002/03owlt/intersectionOf/conclusions001#" 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"> </first:B> </rdf:RDF> | |
Conclusions: | |
<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/intersectionOf/premises001#" xmlns:second="http://www.w3.org/2002/03owlt/intersectionOf/conclusions001#" xml:base="http://www.w3.org/2002/03owlt/intersectionOf/conclusions001" > <first:C rdf:about="premises001#John"> </first:C> </rdf:RDF> |
owl:maxCardinality
Inconsistent document. | 001 |
---|---|
Description: | |
A property with maximum cardinality of two cannot take three distinct values on some subject node. | |
Inconsistent: | |
<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>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> |
Inconsistent document. | 002 |
---|---|
Description: | |
A property with maximum cardinality of two cannot take three distinct values on some subject node. In this example, one of the three values is implicit. | |
Inconsistent: | |
<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> |
owl:oneOf
Consistent document. | 001 |
---|---|
Description: | |
oneOf does not indicate that the named
individuals are distinct. Thus a consistent interpretation
of this file is when all the individual names denote the
same individual. | |
Consistent: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:first="http://www.w3.org/2002/03owlt/oneOf/consistent001#" xml:base="http://www.w3.org/2002/03owlt/oneOf/consistent001" > <owl:Class> <owl:oneOf rdf:parseType="Collection"> <rdf:Description rdf:ID="amy"/> <rdf:Description rdf:ID="bob"/> <rdf:Description rdf:ID="caroline"/> </owl:oneOf> <owl:sameClassAs> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <rdf:Description rdf:ID="yolanda"/> <rdf:Description rdf:ID="zebedee"/> </owl:oneOf> </owl:Class> </owl:sameClassAs> </owl:Class> </rdf:RDF> |
owl:unionOf
Positive Entailment Test: | 001 |
---|---|
Description: | |
A union is a superclass of its parts. | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" 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"> </first:Human> </rdf:RDF> | |
Conclusions: | |
<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"> </first:A> </rdf:RDF> |
Positive Entailment Test: | 002 |
---|---|
Description: | |
A union behaves quite like set theoretic union. | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" 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"> </first:A> </rdf:RDF> | |
Conclusions: | |
<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"> </first:B> </rdf:RDF> |
Illegal use of OWL namespace. | 001 |
---|---|
Description: | |
This is not legal OWL. The name UnambiguousProperty is not in the OWL namespace. daml:UnambiguousProperty corresponds to owl:InverseFunctionalProperty . | |
Incorrect: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl ="http://www.w3.org/2002/07/owl#" > <owl:UnambiguousProperty rdf:ID="Name"/> </rdf:RDF> |
Illegal use of OWL namespace. | 001 |
---|---|
Description: | |
This is not legal OWL. The name UniqueProperty is not in the OWL namespace. daml:UniqueProperty corresponds to owl:FunctionalProperty . | |
Incorrect: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl ="http://www.w3.org/2002/07/owl#" > <owl:UniqueProperty rdf:ID="Name"/> </rdf:RDF> |
Positive Entailment Test: | 001 |
---|---|
Description: | |
This entailment is similar to one that does not hold
in RDFS only (no owl:Property
or owl:Class triples). | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xml:base="http://www.w3.org/2002/03owlt/I5.3/premises001" > <owl:Property rdf:ID="prop"> <rdfs:range> <owl:Class rdf:ID="A"> <rdfs:subClassOf> <owl:Class rdf:ID="B"/> </rdfs:subClassOf> </owl:Class> </rdfs:range> </owl:Property> </rdf:RDF> | |
Conclusions: | |
<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.3/conclusions001" > <owl:Property rdf:about="premises001#prop"> <rdfs:range> <owl:Class rdf:about="premises001#B"/> </rdfs:range> </owl:Property> </rdf:RDF> |
Positive Entailment Test: | 002 |
---|---|
Description: | |
This seems intuitive but doesn't seem to fit with the RDF Model Theory. | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xml:base="http://www.w3.org/2002/03owlt/I5.3/premises002" > <owl:Property rdf:ID="prop"> <rdfs:range rdf:resource="#A"/> <rdfs:range rdf:resource="#B"/> </owl:Property> </rdf:RDF> | |
Conclusions: | |
<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.3/conclusions002" > <owl: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> </owl:Property> </rdf:RDF> |
Positive Entailment Test: | 003 |
---|---|
Description: | |
This is a typical definition of range from description logic. | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xml:base="http://www.w3.org/2002/03owlt/I5.3/premises003" > <owl:Property rdf:ID="prop"> <rdfs:range rdf:resource="#A"/> </owl:Property> </rdf:RDF> | |
Conclusions: | |
<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.3/conclusions003" > <owl:Thing> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="premises003#prop"/> <owl:allValuesFrom rdf:resource="premises003#A"/> </owl:Restriction> </rdfs:subClassOf> </owl:Thing> </rdf:RDF> |
Positive Entailment Test: | 004 |
---|---|
Description: | |
This is a typical definition of range from description logic. It works both ways. | |
Premises: | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xml:base="http://www.w3.org/2002/03owlt/I5.3/premises004" > <owl:Thing> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="conclusions004#prop"/> <owl:allValuesFrom rdf:resource="conclusions004#A"/> </owl:Restriction> </rdfs:subClassOf> </owl:Thing> </rdf:RDF> | |
Conclusions: | |
<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.3/conclusions004" > <owl:Property rdf:ID="prop"> <rdfs:range rdf:resource="#A"/> </owl:Property> </rdf:RDF> |
This section repeats the tests of the previous section.
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#
first
#
second
#
In the N3 syntax [N3] used for namespace declarations, the first three 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#> . |
Other namespaces are explicitly listed with the test data.
owl:FunctionalProperty
Positive Entailment Test: | 003 |
---|---|
Description: | |
If prop is an owl:FunctionalProperty ,
then its inverse is an owl:InverseFunctionalProperty . | |
Premises: | |
first:prop rdf:type owl:FunctionalProperty . first:prop owl:inverseOf first:inv . | |
Conclusions: | |
first:inv rdf:type owl:InverseFunctionalProperty . |
Positive Entailment Test: | 004 |
---|---|
Description: | |
If the range of prop is a singleton set then it is necessarily functional, (i.e. every member of its domain
has a single value) and so it is an owl:FunctionalProperty . | |
Premises: | |
first:prop rdf:type owl:ObjectProperty . first:prop rdfs:range first:Singleton . first:Singleton rdf:type rdfs:Class . _:jARP2302 rdf:first _:jARP2303 . _:jARP2302 rdf:rest rdf:nil . _:jARP2302 rdf:type rdf:List . first:Singleton owl:oneOf _:jARP2302 . | |
Conclusions: | |
first:prop rdf:type owl:FunctionalProperty . |
Positive Entailment Test: | 005 |
---|---|
Description: | |
If prop belongs to owl:FunctionalProperty
then an OWL object has at most one value for prop . | |
Namespaces: | |
@prefix eg: <http://www.example.org/> . | |
Premises: | |
eg:foo#prop rdf:type owl:FunctionalProperty . eg:foo#object rdf:type owl:Thing . | |
Conclusions: | |
eg:foo#object rdf:type owl:Thing . _:jARP2308 rdf:type owl:Restriction . eg:foo#prop rdf:type owl:FunctionalProperty . _:jARP2308 owl:onProperty eg:foo#prop . _:jARP2308 owl:maxCardinality "1" . eg:foo#object rdf:type _:jARP2308 . |
owl:InverseFunctionalProperty
Positive Entailment Test: | 003 |
---|---|
Description: | |
If prop is an owl:InverseFunctionalProperty ,
then its inverse is an owl:FunctionalProperty . | |
Premises: | |
first:prop rdf:type owl:InverseFunctionalProperty . first:prop owl:inverseOf first:inv . | |
Conclusions: | |
first:inv rdf:type owl:FunctionalProperty . |
Positive Entailment Test: | 004 |
---|---|
Description: | |
If the domain of prop is a singleton set then it is necessarily inverse functional, (i.e. every member of its
range is the value of a single item) so it is an
owl:InverseFunctionalProperty . | |
Premises: | |
first:prop rdf:type owl:ObjectProperty . first:prop rdfs:domain first:Singleton . first:Singleton rdf:type rdfs:Class . _:jARP2316 rdf:first _:jARP2317 . _:jARP2316 rdf:rest rdf:nil . _:jARP2316 rdf:type rdf:List . first:Singleton owl:oneOf _:jARP2316 . | |
Conclusions: | |
first:prop rdf:type owl:InverseFunctionalProperty . |
owl:Nothing
Inconsistent document. | 001 |
---|---|
Description: | |
The triple asserts something of type Nothing , however
that is the empty class. | |
Inconsistent: | |
_:jARP2319 rdf:type owl:Nothing . |
Positive Entailment Test: | 002 |
---|---|
Description: | |
There is one empty owl:Class , and it is often called Nothing . | |
Premises: | |
Conclusions: | |
_:jARP2320 rdf:type owl:Class . _:jARP2320 owl:oneOf rdf:nil . _:jARP2320 owl:sameClassAs owl:Nothing . | |
Errors: | |
Incorrect description in premises002.
Incorrect description in conclusions002. |
owl:TransitiveProperty
Positive Entailment Test: | 001 |
---|---|
Description: | |
A simple illustration of transitivity. | |
Premises: | |
first:Antwerp first:path first:Amsterdam . first:Ghent first:path first:Antwerp . first:path rdf:type owl:TransitiveProperty . | |
Conclusions: | |
first:Ghent first:path first:Amsterdam . |
owl:intersectionOf
Positive Entailment Test: | 001 |
---|---|
Description: | |
The order of the classes in an intersectionOf
construct is unimportant. | |
Premises: | |
_:jARP2332 rdf:first first:Employee . _:jARP2332 rdf:rest rdf:nil . _:jARP2332 rdf:type rdf:List . _:jARP2330 rdf:first first:Student . _:jARP2330 rdf:rest _:jARP2332 . _:jARP2330 rdf:type rdf:List . first:B owl:intersectionOf _:jARP2330 . _:jARP2337 rdf:first first:Student . _:jARP2337 rdf:rest rdf:nil . _:jARP2337 rdf:type rdf:List . _:jARP2335 rdf:first first:Employee . _:jARP2335 rdf:rest _:jARP2337 . _:jARP2335 rdf:type rdf:List . first:C owl:intersectionOf _:jARP2335 . first:John rdf:type first:B . | |
Conclusions: | |
first:John rdf:type first:C . |
owl:maxCardinality
Inconsistent document. | 001 |
---|---|
Description: | |
A property with maximum cardinality of two cannot take three distinct values on some subject node. | |
Inconsistent: | |
_:jARP2342 rdf:type owl:Restriction . _:jARP2342 owl:maxCardinality "2" . _:jARP2342 owl:onProperty first:prop . first:sb1 rdf:type _:jARP2342 . 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 . |
Inconsistent document. | 002 |
---|---|
Description: | |
A property with maximum cardinality of two cannot take three distinct values on some subject node. In this example, one of the three values is implicit. | |
Inconsistent: | |
_:jARP2355 rdf:type owl:Restriction . _:jARP2355 owl:maxCardinality "2" . _:jARP2355 owl:onProperty first:prop . first:sb1 rdf:type _:jARP2355 . 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 . |
owl:oneOf
Consistent document. | 001 |
---|---|
Description: | |
oneOf does not indicate that the named
individuals are distinct. Thus a consistent interpretation
of this file is when all the individual names denote the
same individual. | |
Consistent: | |
_:jARP2369 rdf:type owl:Class . _:jARP2374 rdf:first first:caroline . _:jARP2374 rdf:rest rdf:nil . _:jARP2374 rdf:type rdf:List . _:jARP2372 rdf:first first:bob . _:jARP2372 rdf:rest _:jARP2374 . _:jARP2372 rdf:type rdf:List . _:jARP2370 rdf:first first:amy . _:jARP2370 rdf:rest _:jARP2372 . _:jARP2370 rdf:type rdf:List . _:jARP2369 owl:oneOf _:jARP2370 . _:jARP2376 rdf:type owl:Class . _:jARP2379 rdf:first first:zebedee . _:jARP2379 rdf:rest rdf:nil . _:jARP2379 rdf:type rdf:List . _:jARP2377 rdf:first first:yolanda . _:jARP2377 rdf:rest _:jARP2379 . _:jARP2377 rdf:type rdf:List . _:jARP2376 owl:oneOf _:jARP2377 . _:jARP2369 owl:sameClassAs _:jARP2376 . |
owl:unionOf
Positive Entailment Test: | 001 |
---|---|
Description: | |
A union is a superclass of its parts. | |
Premises: | |
_:jARP2384 rdf:first first:Animal . _:jARP2384 rdf:rest rdf:nil . _:jARP2384 rdf:type rdf:List . _:jARP2382 rdf:first first:Human . _:jARP2382 rdf:rest _:jARP2384 . _:jARP2382 rdf:type rdf:List . first:A owl:unionOf _:jARP2382 . first:John rdf:type first:Human . | |
Conclusions: | |
first:John rdf:type first:A . |
Positive Entailment Test: | 002 |
---|---|
Description: | |
A union behaves quite like set theoretic union. | |
Premises: | |
_:jARP2391 rdf:first first:Animal . _:jARP2391 rdf:rest rdf:nil . _:jARP2391 rdf:type rdf:List . _:jARP2389 rdf:first first:Human . _:jARP2389 rdf:rest _:jARP2391 . _:jARP2389 rdf:type rdf:List . first:A owl:unionOf _:jARP2389 . _:jARP2398 rdf:first first:Stone . _:jARP2398 rdf:rest rdf:nil . _:jARP2398 rdf:type rdf:List . _:jARP2396 rdf:first first:Human . _:jARP2396 rdf:rest _:jARP2398 . _:jARP2396 rdf:type rdf:List . _:jARP2394 rdf:first first:Animal . _:jARP2394 rdf:rest _:jARP2396 . _:jARP2394 rdf:type rdf:List . first:B owl:unionOf _:jARP2394 . first:John rdf:type first:A . | |
Conclusions: | |
first:John rdf:type first:B . |
Illegal use of OWL namespace. | 001 |
---|---|
Description: | |
This is not legal OWL. The name UnambiguousProperty is not in the OWL namespace. daml:UnambiguousProperty corresponds to owl:InverseFunctionalProperty . | |
Incorrect: | |
first:Name rdf:type owl:UnambiguousProperty . |
Illegal use of OWL namespace. | 001 |
---|---|
Description: | |
This is not legal OWL. The name UniqueProperty is not in the OWL namespace. daml:UniqueProperty corresponds to owl:FunctionalProperty . | |
Incorrect: | |
first:Name rdf:type owl:UniqueProperty . |
Positive Entailment Test: | 001 |
---|---|
Description: | |
This entailment is similar to one that does not hold
in RDFS only (no owl:Property
or owl:Class triples). | |
Premises: | |
first:prop rdf:type owl: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 . | |
Conclusions: | |
first:prop rdf:type owl:Property . first:B rdf:type owl:Class . first:prop rdfs:range first:B . |
Positive Entailment Test: | 002 |
---|---|
Description: | |
This seems intuitive but doesn't seem to fit with the RDF Model Theory. | |
Premises: | |
first:prop rdf:type owl:Property . first:prop rdfs:range first:A . first:prop rdfs:range first:B . | |
Conclusions: | |
first:prop rdf:type owl:Property . _:jARP2413 rdf:type owl:Class . _:jARP2416 rdf:first first:B . _:jARP2416 rdf:rest rdf:nil . _:jARP2416 rdf:type rdf:List . _:jARP2414 rdf:first first:A . _:jARP2414 rdf:rest _:jARP2416 . _:jARP2414 rdf:type rdf:List . _:jARP2413 owl:intersectionOf _:jARP2414 . first:prop rdfs:range _:jARP2413 . |
Positive Entailment Test: | 003 |
---|---|
Description: | |
This is a typical definition of range from description logic. | |
Premises: | |
first:prop rdf:type owl:Property . first:prop rdfs:range first:A . | |
Conclusions: | |
_:jARP2420 rdf:type owl:Thing . _:jARP2421 rdf:type owl:Restriction . _:jARP2421 owl:onProperty first:prop . _:jARP2421 owl:allValuesFrom first:A . _:jARP2420 rdfs:subClassOf _:jARP2421 . |
Positive Entailment Test: | 004 |
---|---|
Description: | |
This is a typical definition of range from description logic. It works both ways. | |
Premises: | |
_:jARP2424 rdf:type owl:Thing . _:jARP2425 rdf:type owl:Restriction . _:jARP2425 owl:onProperty second:prop . _:jARP2425 owl:allValuesFrom second:A . _:jARP2424 rdfs:subClassOf _:jARP2425 . | |
Conclusions: | |
second:prop rdf:type owl:Property . second:prop rdfs:range second:A . |
Some of these issues will be ignored.
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/maxCardinality/
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/editors-draft/
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/oneOf/
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/I3.2/
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/I3.4/
Jtidy reported 7 errors in webont-issues.
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/I5.3/
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/unionOf/
Jtidy reported 1 warnings in umlp/.
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/inverseOf/
Jtidy reported 1 warnings in I4.1/.
Jtidy reported 1 warnings in FunctionalProperty/.
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/InverseFunctionalProperty/
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/TransitiveProperty/
Jtidy reported 1 warnings in 03owlt.
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/Nothing/
Server returned HTTP response code: 403 for URL: http://www.w3.org/2002/03owlt/intersectionOf/
Jtidy reported 1 warnings in qualified-cardinality-constraints/.
Jtidy reported 231 warnings in webont-issues.
Check descriptions of approved tests with respect to clarity of distinction between syntax and semantics.
Check descriptions for appropriate links to other OWL specs.
Add automatic checking of filenames. (4)
Page to choose which bits you want. (2)
Validate HTML.
Jeremy Carroll thanks Oreste Signore, his host at W3C Italia and Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo", part of the Consiglio Nazionale delle Ricerche, where Jeremy is a visiting researcher.