how to test parsers?

How does one test an OWL parser?  We had some discussion about this, but
I don't remember any conclusion.  If anyone knows of a good solution,
I'd appreciate hearing about it.

For example, a test case (WebOnt-Thing-003) says:

  <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing">
    <owl:equivalentClass rdf:resource
       ="http://www.w3.org/2002/07/owl#Nothing"/>
 
which owlapi (version 3, thanks Matthew!) converts to:

    <EquivalentClasses>
        <Class abbreviatedIRI="owlapi:Nothing"/>
        <Class abbreviatedIRI="owlapi:Thing"/>
    </EquivalentClasses>

which my xslt converts back to:

  <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Nothing">
      <owl:equivalentClass>
         <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing"/>
      </owl:equivalentClass>
   </owl:Class>

Swapped the subject and object on equivalentClass and adding the triple
{ owl:Nothing a owl:Class} are fine semantically, but it sure makes it
hard to automate testing.  I guess one has to know the OWL semantics to
know if the parser and serializer are correct.

As I recall, we talked about this under the subject of parser/serializer
conformance.  Maybe my best bet is to make sure the two ontologies each
entail each other....  Is that good enough?  Is there anything simpler I
can do?

     -- Sandro

Received on Thursday, 30 July 2009 13:46:17 UTC