W3C home > Mailing lists > Public > public-owl-wg@w3.org > April 2009

Action-317 Review of Conformance and Test Cases

From: Alan Ruttenberg <alanruttenberg@gmail.com>
Date: Wed, 1 Apr 2009 02:16:58 -0400
Message-ID: <29af5e2d0903312316y60879c74yfb9ce5e23998699@mail.gmail.com>
To: W3C OWL Working Group <public-owl-wg@w3.org>
Here is my review of the Conformance and Test Cases document.

Section 1.

nor does it constitute a ^comprehensive^ conformance test suite
Is it the case that returning a false on a positive entailment test
indicates nonconformance?

Section 2.1.2

"Note that OWL 2 Profiles may support only a reduced set of
datatypes. This is, however, a syntactic condition that must be met by
documents in order to fall within the relevant profile, and the
semantic conditions on the supported datatypes are unchanged, i.e.,
they are defined by a (possibly extended) OWL 2 Datatype map."

I didn't understand this. Does this mean that the profiles can have an
extended datatype map?

Section 2.2

I worry that the use of Ont(d) to denote either a structure or a graph
is confusing and that it might be better to give these distinct names.


"Given an ontology document d in the RDF/XML serialization, for a tool
applying the Direct Semantics, Ont(d) denotes the ontology structure
obtained from d via the canonical parsing process as defined in the
OWL 2 Syntax specification [OWL 2 Specification] and the procedure for
mapping from RDF graphs to the structural specification described in
the OWL 2 Mapping to RDF Graphs [OWL 2 Mapping to RDF Graphs];"


"Given an ontology document d in the RDF/XML serialization, for a tool
applying the Direct Semantics, Ont(d) denotes the ontology structure
obtained by applying the canonical parsing process as defined in the
OWL 2 Syntax specification [OWL 2 Specification] to d using, in steps
2.2 and 3.3, the procedure for mapping from RDF graphs to the
structural specification described in the OWL 2 Mapping to RDF Graphs
[OWL 2 Mapping to RDF Graphs];"

In the below, the juxtaposition of normative "must" with the loose
"similar" is odd. Rephrase?

"The conformance conditions related to entailment checking and query
answering are defined below. Other OWL 2 tools must satisfy similar
conditions. In particular, they must be consistent with the Direct
Semantics [OWL 2 Direct Semantics] and/or the RDF-Based Semantics [OWL
2 RDF-Based Semantics]."

Section 2.2

I would like to see a requirement that tools can operate in a 'strict'
mode, in which the datatype map is limited to be the smaller of the
OWL 2 Datatype Map or the set of datatypes that a profile is
syntactically restricted to, in order to support applications where
interoperability between OWL implementations is a high priority.

Section 2.2.1


"Additionally, an OWL 2 entailment checker... must provide a means to
determine the datatypes supported by its datatype map, and any limits
it has on datatype lexical forms  for example by listing them in its
supporting documentation (see Section 4 of the OWL 2 Syntax
specification [OWL 2 Specification]); "

It would be the provider of the entailment checker that listed the
datatype map etc, rather than the entailment checker itself.

In the below, I think FO should be expanded to "first order".

... "denotes the FO theory corresponding to Ont(di) in which triples
are represented using the T predicate  that is, T(s, p, o) represents
an RDF triple with the subject s, predicate p, and the object o."

Section 3.1.1

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

I don't understand the comment about there not being a conformance
requirement. Section 2.1.1 lists syntactic conformance requirements
and we have, in the RDF Mapping, "for any OWL 2 DL ontology O, let G =
T(O) be the RDF graph obtained by transforming O as specified in
Section 2, and let OG be the OWL 2 DL ontology obtained by applying
the reverse transformation from Section 3 to G; then, O and OG are
logically equivalent  that is, they have exactly the same set of


Do we want to say that translations preserve structure, or preserve
semantics? Currently it says structure which may be too strong.

Are not all the ontologies in a translation test normative?

Section 3.1.2

"Semantic tests specify one or more OWL 2 ontology documents and check
semantic conditions defined with respect to abstract structures
obtained from the ontology documents, typically via a parsing

What would an atypical case be?


Why is O(in) not included in the test ontology rather than only given
in an appendix?

I would move "Details on the changes of the test case format as
compared to WebOnt are found in Section 3.5." to immediately after the

"Existing test ontologies, such as the ones used by the WebOnt working
group [OWL Test Cases], have not been crafted this way and do not meet
the above requirements."

"it is, however, not necessary to compute entailments of this ontology
in order to use the provided test case documents"

I'm not clear on why this is the case. Strictly based on looking at
the ontology there are cases where it looks like entailments are
needed (for example :semantics property of
:alternativeSemanticsTest). Will these entailments not be necessary
because they will be stated explicitly in the test documents?

Section 3.2.2

There is no class for syntactic translation tests.

"In practice, semantic tests will indeed have only one premise,
conclusion, or non-conclusion, but for convenience each of those may
be provided in multiple syntactic forms. This is the reason why the
above assertions do not require exact cardinalities."

Do we expect there to be at most one in each syntax? If so, you can
use qualified max cardinality here.

Section 3.2.3

"The individual :FUNCTIONAL indicates that all functional syntax input
ontologies are normative"
Here and elsewhere the scope of "all" wasn't clear.

The choice of ObjectOneOf( :RDFXML :FUNCTIONAL :OWLXML ) unecessarily
limits extensibility of the (future contributed) tests to other
syntaxes. Better to use a class and subclasses so that other syntaxes
can be added later.

SubClassOf(:RDFXML :OWL2Syntax)
ObjectPropertyRange( :normativeSyntax :OWL2Syntax)

Here and elsewhere property ranges are given, but not domains
(:TestCase). Any reason not to?

Section 3.2.6

"The following axiom reflects the fact that OWL 2 EL and OWL 2 QL are
syntactic profiles of OWL 2 DL."

profile != subset in our spec. Use "subset"? "restriction" or just say
"are also" OWL 2 DL.

Also, 2.1.1 says: "An OWL 2 RL ontology document is an OWL 2 DL
ontology document" so shouldn't RL be mentioned here too?

Section 3.2.8

Do we really want to keep rejected test cases? Why?  For test cases
contributed after the end of the working group, does it make sense to
consider these "proposed" given that there may be no one to propose
them to? Should we add another value "contributed"?

Section 3.2.9

:identifier, :creator, :description seem like dc:identifier,
dc:creator, rdfs:comment.
Should we reuse these previously defined properties?
Allowing a rdfs:label seems like a good idea.

It may be worth doing an audit of the test ontology to see if there
are other opportunities to use already defined properties.

I wonder if :identifier should be further restricted by a pattern
facet, as the logical definition doesn't follow the textual one.

Values for creator and description should perhaps be rdf:text rather
than xsd:string to allow for (future) translations and non-english

Section 3.2.12

SubAnnotationPropertyOf(foaf:page :specRef)?

Section 3.2.13

SubAnnotationPropertyOf(foaf:page :issue)?

Section 3.2.14

Annotation(rdfs:isDefinedBy <url to the conformance and test specification>)?

"# The following "intersection properties" have not been described in
the test and conformance document but are used"


They are described in 3.2.1

Section 3.5.1

"instead of using multiple files for each involved ontology"
Received on Wednesday, 1 April 2009 06:17:48 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:42:11 UTC