Species Validation Report

As requested, a brief report on implementation status of our parser
and species validator.

    Sean

====================================================================

The implementation is primarily targeted at OWL-DL, and we have a
number of classes/interfaces that provide a representation of an OWL
ontology in terms of a data structure that closely follows the
abstract syntax definition.

The strategy used for validation consists of two stages.

o In the first, we attempt to construct an object representing a
possible abstract syntax for the ontology (e.g. an ontology which
could result in the given set of triples when transformed).

o We can then interrogate this object to further determine its
characteristics.

Broadly speaking, the first stage allows us to detect obvious OWL-Full
"syntactic" situations (missing type triples, structure sharing etc),
while the second then identifies other violations of the rules such as
the use of a union in an OWL Lite ontology, or the use of class as
instance. The intention is that we will be able to use validation at
the abstract syntax level for ontologies produced by means other than
RDF parsing (e.g. via editing tools).

The RDF parsing uses a parser provided by the KAON project from the
University of Karlsruhe. The original idea was to try and use the
streaming capabilities provided by this parser. This proves difficult,
however, given the unordered nature of the triples. There is no
technical reason why we couldn't use an alternative RDF parser such as
Jena, but I would imagine that for the purposes of demonstrating
implementation experience, the less overlap in implementations the
better.

The test harness does the following:

  For each test in the OWL Test Cases (see below for a list of the
  tests used), the manifest is examined and a list of all the
  rtest:RDF-XML-Document instance is obtained. For each of these,
  where an otest:level is given, we check that the species level that
  the validator provides agrees with that given in the Manifest (cf
  4.2.1 in Test).

As of 28/08/03 the validator agrees with the test manifests on all but
three of the tests:

http://www.w3.org/2002/03owlt/disjointWith/consistent004
http://www.w3.org/2002/03owlt/disjointWith/consistent006
http://www.w3.org/2002/03owlt/disjointWith/consistent008

e.g. those relating to the use of bnodes in disjointWith. This is no
surprise, as this check is still to be implemented. I am hopeful that
we will be able to cope with these cases, although with other
commitments and time constraints this is unlikely to happen before
Sept 8 at the earliest.

Latest version of the validator is available as a servlet at:

http://phoebus.cs.man.ac.uk:9999/OWL/Validator

A binary distribution of the code is now also available at:

http://wonderweb.man.ac.uk/owl

Source to follow.


Manifests used for testing (268):
=========================

http://www.w3.org/2002/03owlt/AllDifferent/Manifest001
http://www.w3.org/2002/03owlt/FunctionalProperty/Manifest001
http://www.w3.org/2002/03owlt/FunctionalProperty/Manifest002
http://www.w3.org/2002/03owlt/FunctionalProperty/Manifest003
http://www.w3.org/2002/03owlt/FunctionalProperty/Manifest004
http://www.w3.org/2002/03owlt/I3.2/Manifest001
http://www.w3.org/2002/03owlt/I3.2/Manifest002
http://www.w3.org/2002/03owlt/I3.2/Manifest003
http://www.w3.org/2002/03owlt/I3.4/Manifest001
http://www.w3.org/2002/03owlt/I4.1/Manifest001
http://www.w3.org/2002/03owlt/I4.6/Manifest003
http://www.w3.org/2002/03owlt/I5.1/Manifest001
http://www.w3.org/2002/03owlt/I5.2/Manifest001
http://www.w3.org/2002/03owlt/I5.2/Manifest002
http://www.w3.org/2002/03owlt/I5.24/Manifest001
http://www.w3.org/2002/03owlt/I5.24/Manifest004
http://www.w3.org/2002/03owlt/I5.3/Manifest005
http://www.w3.org/2002/03owlt/I5.3/Manifest006
http://www.w3.org/2002/03owlt/I5.3/Manifest007
http://www.w3.org/2002/03owlt/I5.3/Manifest008
http://www.w3.org/2002/03owlt/I5.3/Manifest009
http://www.w3.org/2002/03owlt/I5.5/Manifest001
http://www.w3.org/2002/03owlt/I5.5/Manifest002
http://www.w3.org/2002/03owlt/I5.5/Manifest003
http://www.w3.org/2002/03owlt/I5.5/Manifest004
http://www.w3.org/2002/03owlt/InverseFunctionalProperty/Manifest001
http://www.w3.org/2002/03owlt/InverseFunctionalProperty/Manifest002
http://www.w3.org/2002/03owlt/InverseFunctionalProperty/Manifest003
http://www.w3.org/2002/03owlt/InverseFunctionalProperty/Manifest004
http://www.w3.org/2002/03owlt/Nothing/Manifest002
http://www.w3.org/2002/03owlt/SymmetricProperty/Manifest001
http://www.w3.org/2002/03owlt/TransitiveProperty/Manifest001
http://www.w3.org/2002/03owlt/allValuesFrom/Manifest001
http://www.w3.org/2002/03owlt/allValuesFrom/Manifest002
http://www.w3.org/2002/03owlt/cardinality/Manifest001
http://www.w3.org/2002/03owlt/cardinality/Manifest002
http://www.w3.org/2002/03owlt/cardinality/Manifest003
http://www.w3.org/2002/03owlt/cardinality/Manifest004
http://www.w3.org/2002/03owlt/complementOf/Manifest001
http://www.w3.org/2002/03owlt/description-logic/Manifest001
http://www.w3.org/2002/03owlt/description-logic/Manifest002
http://www.w3.org/2002/03owlt/description-logic/Manifest003
http://www.w3.org/2002/03owlt/description-logic/Manifest004
http://www.w3.org/2002/03owlt/description-logic/Manifest005
http://www.w3.org/2002/03owlt/description-logic/Manifest006
http://www.w3.org/2002/03owlt/description-logic/Manifest007
http://www.w3.org/2002/03owlt/description-logic/Manifest008
http://www.w3.org/2002/03owlt/description-logic/Manifest009
http://www.w3.org/2002/03owlt/description-logic/Manifest010
http://www.w3.org/2002/03owlt/description-logic/Manifest011
http://www.w3.org/2002/03owlt/description-logic/Manifest012
http://www.w3.org/2002/03owlt/description-logic/Manifest013
http://www.w3.org/2002/03owlt/description-logic/Manifest014
http://www.w3.org/2002/03owlt/description-logic/Manifest015
http://www.w3.org/2002/03owlt/description-logic/Manifest016
http://www.w3.org/2002/03owlt/description-logic/Manifest017
http://www.w3.org/2002/03owlt/description-logic/Manifest018
http://www.w3.org/2002/03owlt/description-logic/Manifest019
http://www.w3.org/2002/03owlt/description-logic/Manifest020
http://www.w3.org/2002/03owlt/description-logic/Manifest021
http://www.w3.org/2002/03owlt/description-logic/Manifest022
http://www.w3.org/2002/03owlt/description-logic/Manifest023
http://www.w3.org/2002/03owlt/description-logic/Manifest024
http://www.w3.org/2002/03owlt/description-logic/Manifest025
http://www.w3.org/2002/03owlt/description-logic/Manifest026
http://www.w3.org/2002/03owlt/description-logic/Manifest027
http://www.w3.org/2002/03owlt/description-logic/Manifest028
http://www.w3.org/2002/03owlt/description-logic/Manifest029
http://www.w3.org/2002/03owlt/description-logic/Manifest030
http://www.w3.org/2002/03owlt/description-logic/Manifest031
http://www.w3.org/2002/03owlt/description-logic/Manifest032
http://www.w3.org/2002/03owlt/description-logic/Manifest033
http://www.w3.org/2002/03owlt/description-logic/Manifest034
http://www.w3.org/2002/03owlt/description-logic/Manifest101
http://www.w3.org/2002/03owlt/description-logic/Manifest102
http://www.w3.org/2002/03owlt/description-logic/Manifest103
http://www.w3.org/2002/03owlt/description-logic/Manifest104
http://www.w3.org/2002/03owlt/description-logic/Manifest105
http://www.w3.org/2002/03owlt/description-logic/Manifest106
http://www.w3.org/2002/03owlt/description-logic/Manifest107
http://www.w3.org/2002/03owlt/description-logic/Manifest108
http://www.w3.org/2002/03owlt/description-logic/Manifest109
http://www.w3.org/2002/03owlt/description-logic/Manifest110
http://www.w3.org/2002/03owlt/description-logic/Manifest111
http://www.w3.org/2002/03owlt/description-logic/Manifest602
http://www.w3.org/2002/03owlt/description-logic/Manifest603
http://www.w3.org/2002/03owlt/description-logic/Manifest604
http://www.w3.org/2002/03owlt/description-logic/Manifest605
http://www.w3.org/2002/03owlt/description-logic/Manifest606
http://www.w3.org/2002/03owlt/description-logic/Manifest608
http://www.w3.org/2002/03owlt/description-logic/Manifest609
http://www.w3.org/2002/03owlt/description-logic/Manifest610
http://www.w3.org/2002/03owlt/description-logic/Manifest611
http://www.w3.org/2002/03owlt/description-logic/Manifest612
http://www.w3.org/2002/03owlt/description-logic/Manifest613
http://www.w3.org/2002/03owlt/description-logic/Manifest614
http://www.w3.org/2002/03owlt/description-logic/Manifest615
http://www.w3.org/2002/03owlt/description-logic/Manifest616
http://www.w3.org/2002/03owlt/description-logic/Manifest617
http://www.w3.org/2002/03owlt/description-logic/Manifest623
http://www.w3.org/2002/03owlt/description-logic/Manifest624
http://www.w3.org/2002/03owlt/description-logic/Manifest625
http://www.w3.org/2002/03owlt/description-logic/Manifest626
http://www.w3.org/2002/03owlt/description-logic/Manifest627
http://www.w3.org/2002/03owlt/description-logic/Manifest628
http://www.w3.org/2002/03owlt/description-logic/Manifest629
http://www.w3.org/2002/03owlt/description-logic/Manifest630
http://www.w3.org/2002/03owlt/description-logic/Manifest631
http://www.w3.org/2002/03owlt/description-logic/Manifest632
http://www.w3.org/2002/03owlt/description-logic/Manifest633
http://www.w3.org/2002/03owlt/description-logic/Manifest634
http://www.w3.org/2002/03owlt/description-logic/Manifest641
http://www.w3.org/2002/03owlt/description-logic/Manifest642
http://www.w3.org/2002/03owlt/description-logic/Manifest643
http://www.w3.org/2002/03owlt/description-logic/Manifest901
http://www.w3.org/2002/03owlt/description-logic/Manifest902
http://www.w3.org/2002/03owlt/description-logic/Manifest903
http://www.w3.org/2002/03owlt/description-logic/Manifest904
http://www.w3.org/2002/03owlt/differentFrom/Manifest001
http://www.w3.org/2002/03owlt/differentFrom/Manifest002
http://www.w3.org/2002/03owlt/disjointWith/Manifest001
http://www.w3.org/2002/03owlt/disjointWith/Manifest002
http://www.w3.org/2002/03owlt/distinctMembers/Manifest001
http://www.w3.org/2002/03owlt/equivalentClass/Manifest001
http://www.w3.org/2002/03owlt/equivalentClass/Manifest002
http://www.w3.org/2002/03owlt/equivalentClass/Manifest003
http://www.w3.org/2002/03owlt/equivalentClass/Manifest004
http://www.w3.org/2002/03owlt/equivalentClass/Manifest005
http://www.w3.org/2002/03owlt/equivalentClass/Manifest006
http://www.w3.org/2002/03owlt/equivalentProperty/Manifest001
http://www.w3.org/2002/03owlt/equivalentProperty/Manifest002
http://www.w3.org/2002/03owlt/equivalentProperty/Manifest003
http://www.w3.org/2002/03owlt/equivalentProperty/Manifest004
http://www.w3.org/2002/03owlt/equivalentProperty/Manifest005
http://www.w3.org/2002/03owlt/equivalentProperty/Manifest006
http://www.w3.org/2002/03owlt/imports/Manifest001
http://www.w3.org/2002/03owlt/imports/Manifest002
http://www.w3.org/2002/03owlt/imports/Manifest003
http://www.w3.org/2002/03owlt/imports/Manifest004
http://www.w3.org/2002/03owlt/imports/Manifest005
http://www.w3.org/2002/03owlt/imports/Manifest006
http://www.w3.org/2002/03owlt/imports/Manifest007
http://www.w3.org/2002/03owlt/imports/Manifest008
http://www.w3.org/2002/03owlt/intersectionOf/Manifest001
http://www.w3.org/2002/03owlt/inverseOf/Manifest001
http://www.w3.org/2002/03owlt/maxCardinality/Manifest001
http://www.w3.org/2002/03owlt/maxCardinality/Manifest002
http://www.w3.org/2002/03owlt/miscellaneous/Manifest001
http://www.w3.org/2002/03owlt/miscellaneous/Manifest002
http://www.w3.org/2002/03owlt/oneOf/Manifest001
http://www.w3.org/2002/03owlt/oneOf/Manifest002
http://www.w3.org/2002/03owlt/oneOf/Manifest003
http://www.w3.org/2002/03owlt/someValuesFrom/Manifest002
http://www.w3.org/2002/03owlt/unionOf/Manifest001
http://www.w3.org/2002/03owlt/unionOf/Manifest002
http://www.w3.org/2002/03owlt/AnnotationProperty/Manifest001
http://www.w3.org/2002/03owlt/AnnotationProperty/Manifest002
http://www.w3.org/2002/03owlt/DatatypeProperty/Manifest001
http://www.w3.org/2002/03owlt/FunctionalProperty/Manifest005
http://www.w3.org/2002/03owlt/I4.5/Manifest001
http://www.w3.org/2002/03owlt/I4.5/Manifest002
http://www.w3.org/2002/03owlt/I4.6/Manifest004
http://www.w3.org/2002/03owlt/I4.6/Manifest005
http://www.w3.org/2002/03owlt/I4.6/Manifest006
http://www.w3.org/2002/03owlt/I4.6/Manifest007
http://www.w3.org/2002/03owlt/I4.6/Manifest008
http://www.w3.org/2002/03owlt/I5.1/Manifest010
http://www.w3.org/2002/03owlt/I5.2/Manifest003
http://www.w3.org/2002/03owlt/I5.2/Manifest004
http://www.w3.org/2002/03owlt/I5.2/Manifest005
http://www.w3.org/2002/03owlt/I5.2/Manifest006
http://www.w3.org/2002/03owlt/I5.2/Manifest010
http://www.w3.org/2002/03owlt/I5.2/Manifest011
http://www.w3.org/2002/03owlt/I5.21/Manifest001
http://www.w3.org/2002/03owlt/I5.21/Manifest002
http://www.w3.org/2002/03owlt/I5.24/Manifest002
http://www.w3.org/2002/03owlt/I5.24/Manifest003
http://www.w3.org/2002/03owlt/I5.26/Manifest001
http://www.w3.org/2002/03owlt/I5.26/Manifest002
http://www.w3.org/2002/03owlt/I5.26/Manifest003
http://www.w3.org/2002/03owlt/I5.26/Manifest004
http://www.w3.org/2002/03owlt/I5.26/Manifest005
http://www.w3.org/2002/03owlt/I5.26/Manifest006
http://www.w3.org/2002/03owlt/I5.3/Manifest010
http://www.w3.org/2002/03owlt/I5.3/Manifest011
http://www.w3.org/2002/03owlt/I5.3/Manifest014
http://www.w3.org/2002/03owlt/I5.3/Manifest015
http://www.w3.org/2002/03owlt/I5.8/Manifest001
http://www.w3.org/2002/03owlt/I5.8/Manifest002
http://www.w3.org/2002/03owlt/I5.8/Manifest003
http://www.w3.org/2002/03owlt/I5.8/Manifest004
http://www.w3.org/2002/03owlt/I5.8/Manifest005
http://www.w3.org/2002/03owlt/I5.8/Manifest006
http://www.w3.org/2002/03owlt/I5.8/Manifest007
http://www.w3.org/2002/03owlt/I5.8/Manifest008
http://www.w3.org/2002/03owlt/I5.8/Manifest009
http://www.w3.org/2002/03owlt/I5.8/Manifest010
http://www.w3.org/2002/03owlt/I5.8/Manifest011
http://www.w3.org/2002/03owlt/I5.8/Manifest012
http://www.w3.org/2002/03owlt/Nothing/Manifest001
http://www.w3.org/2002/03owlt/Restriction/Manifest001
http://www.w3.org/2002/03owlt/Restriction/Manifest002
http://www.w3.org/2002/03owlt/Restriction/Manifest003
http://www.w3.org/2002/03owlt/Restriction/Manifest004
http://www.w3.org/2002/03owlt/Thing/Manifest001
http://www.w3.org/2002/03owlt/Thing/Manifest002
http://www.w3.org/2002/03owlt/cardinality/Manifest006
http://www.w3.org/2002/03owlt/cardinality/Manifest007
http://www.w3.org/2002/03owlt/description-logic/Manifest035
http://www.w3.org/2002/03owlt/description-logic/Manifest201
http://www.w3.org/2002/03owlt/description-logic/Manifest202
http://www.w3.org/2002/03owlt/description-logic/Manifest203
http://www.w3.org/2002/03owlt/description-logic/Manifest204
http://www.w3.org/2002/03owlt/description-logic/Manifest205
http://www.w3.org/2002/03owlt/description-logic/Manifest206
http://www.w3.org/2002/03owlt/description-logic/Manifest207
http://www.w3.org/2002/03owlt/description-logic/Manifest208
http://www.w3.org/2002/03owlt/description-logic/Manifest501
http://www.w3.org/2002/03owlt/description-logic/Manifest502
http://www.w3.org/2002/03owlt/description-logic/Manifest503
http://www.w3.org/2002/03owlt/description-logic/Manifest504
http://www.w3.org/2002/03owlt/description-logic/Manifest601
http://www.w3.org/2002/03owlt/description-logic/Manifest644
http://www.w3.org/2002/03owlt/description-logic/Manifest646
http://www.w3.org/2002/03owlt/description-logic/Manifest650
http://www.w3.org/2002/03owlt/description-logic/Manifest661
http://www.w3.org/2002/03owlt/description-logic/Manifest662
http://www.w3.org/2002/03owlt/description-logic/Manifest663
http://www.w3.org/2002/03owlt/description-logic/Manifest664
http://www.w3.org/2002/03owlt/description-logic/Manifest665
http://www.w3.org/2002/03owlt/description-logic/Manifest666
http://www.w3.org/2002/03owlt/description-logic/Manifest667
http://www.w3.org/2002/03owlt/description-logic/Manifest668
http://www.w3.org/2002/03owlt/description-logic/Manifest905
http://www.w3.org/2002/03owlt/description-logic/Manifest906
http://www.w3.org/2002/03owlt/description-logic/Manifest907
http://www.w3.org/2002/03owlt/description-logic/Manifest908
http://www.w3.org/2002/03owlt/description-logic/Manifest909
http://www.w3.org/2002/03owlt/description-logic/Manifest910
http://www.w3.org/2002/03owlt/disjointWith/Manifest003
http://www.w3.org/2002/03owlt/disjointWith/Manifest004 *FAIL*
http://www.w3.org/2002/03owlt/disjointWith/Manifest005
http://www.w3.org/2002/03owlt/disjointWith/Manifest006 *FAIL*
http://www.w3.org/2002/03owlt/disjointWith/Manifest007
http://www.w3.org/2002/03owlt/disjointWith/Manifest008 *FAIL*
http://www.w3.org/2002/03owlt/disjointWith/Manifest009
http://www.w3.org/2002/03owlt/equivalentClass/Manifest007
http://www.w3.org/2002/03owlt/equivalentClass/Manifest008
http://www.w3.org/2002/03owlt/equivalentClass/Manifest009
http://www.w3.org/2002/03owlt/extra-credit/Manifest002
http://www.w3.org/2002/03owlt/extra-credit/Manifest003
http://www.w3.org/2002/03owlt/extra-credit/Manifest004
http://www.w3.org/2002/03owlt/imports/Manifest010
http://www.w3.org/2002/03owlt/miscellaneous/Manifest102
http://www.w3.org/2002/03owlt/miscellaneous/Manifest103
http://www.w3.org/2002/03owlt/miscellaneous/Manifest201
http://www.w3.org/2002/03owlt/miscellaneous/Manifest202
http://www.w3.org/2002/03owlt/miscellaneous/Manifest203
http://www.w3.org/2002/03owlt/miscellaneous/Manifest204
http://www.w3.org/2002/03owlt/miscellaneous/Manifest205
http://www.w3.org/2002/03owlt/miscellaneous/Manifest301
http://www.w3.org/2002/03owlt/miscellaneous/Manifest302
http://www.w3.org/2002/03owlt/miscellaneous/Manifest303
http://www.w3.org/2002/03owlt/oneOf/Manifest004
http://www.w3.org/2002/03owlt/sameAs/Manifest001
http://www.w3.org/2002/03owlt/someValuesFrom/Manifest001
http://www.w3.org/2002/03owlt/unionOf/Manifest003
http://www.w3.org/2002/03owlt/unionOf/Manifest004


-- 
Sean Bechhofer
seanb@cs.man.ac.uk
http://www.cs.man.ac.uk/~seanb

Received on Friday, 29 August 2003 08:19:23 UTC