Re: yet another non-entailment

From: "Jeremy Carroll" <jjc@hplb.hpl.hp.com>
Subject: Re: TEST: What is a test (was Re: TEST: Functional and InverseFunctional tests for approval)
Date: Tue, 27 Aug 2002 13:00:20 +0200

> I feel a strong sense of agreement with Peter this morning!
> (honest)
> 
> Peter:
> >I feel strongly that a test is not just one or two files, but instead must
> >have an attached description and rationale.  In my view, all this
> >information should be bundled together in single easily human-readable document,
> >which is what would be approved by the working group.
> 
> I agree with this but less strongly.
> At some point we need to be able to present the test material in a more
> coherent fashion than the current overly messy web site.

My view is that if the attached information is not mandated for a test to
be approved, then it will never be created.

> My understanding of the current modus operandi is that we are making do with
> a few scrappy files and a Manifest file that could be machine processed to
> create what Peter expects. (One thing missing from the Manifest is
> "rationale", I am not clear what would constitute a rationle for a test, why
> do we choose one test rather than another). I have typically triplicated the
> description putting it in the Manifest and the premises and conclusions
> document for each test. This is not perfect and is error prone, but I am not
> volunteering to build the machine processor this week.

> RDF Core's test cases document is largely machine processed from the
> Manifest files; given the amount of work that that has been I don't think I
> realistically aspire to more than that; whilst Peter's wishes appear
> greater.
> 
> http://www.w3.org/TR/rdf-testcases/#tc_cert
> 
> As is, I don't think we should hold up approving test cases merely on
> packaging grounds. However the packaging is currently inadequate.

I'm not proposing anything complicated.  I would be happy with a format
that is something like

DESCRIPTION:  

<text>

RATIONALE: 

<text>

PREMISE:  

???

CONCLUSION:

???

which could easily be processed by a sed script.  (This assumes, of course,
that the processing is done on a reasonable OS.  :-)

It would also be useful to have a README (MANIFEST) file that organizes the
various tests.

> 
> Jeremy


An example test file is


DESCRIPTION:  

An entailment test showing how cardinalities of subproperties can be added
up in a superproperty when the global ranges of the subproperties are
disjoint. 

RATIONALE: 

This entailment has been disputed, and is being specifically included to
resolve the dispute.

PREMISE:  

:p rdfs:domain :A .
:q rdfs:domain :B .
:A owl:disjointWith :B .
:p rdfs:subPropertyOf :r .
:q rdfs:subPropertyOf :r .

CONCLUSION:

_:x rdf:type rdfs:Class .
_:x owl:intersectionOf _:l1 .
_:l1 rdf:first _:r1 .
_:l1 rdf:rest _:l2 .
_:l2 rdf:first _:r2 .
_:l2 rdf:rest rdf:nil .
_:r1 owl:onProperty :p .
_:r1 owl:minCardinality 2 .
_:r2 owl:onProperty :q .
_:r2 owl:minCardinality 2 .
_:x rdfs:subClassOf _:r3 .
_:r3 owl:onProperty :r .
_:r3 owl:minCardinality 4 .

A better premise and conclusion, for me, would be


PREMISE:  

ObjectProperty(r)
ObjectProperty(p super=r domain=A)
ObjectProperty(q super=r domain=B)
DisjointClasses(A B)

CONCLUSION:

SubClassOf(
  sub=intersectionOf(restriction(p minCardinality=2)
		     restriction(q minCardinality=2))
  super=restriction(r minCardinality=4))

Received on Tuesday, 27 August 2002 07:41:45 UTC