Re: less-restrictive range and domain terms

From: "Phil Dawes" <pdawes@users.sourceforge.net>
Subject: less-restrictive range and domain terms
Date: Tue, 4 May 2004 15:51:52 +0100

> Hi All,
> 
> I've recently found myself wanting a less-restrictive version of
> rdfs:range (or owl:allValuesFrom) and rdfs:domain. I want to say
> 'property *can* have range of class foo' rather than 'property *must*
> have range of class foo'.

Hmm.  

First of all, there is no 'property *must* have range of class foo' in RDF
or OWL.  All there is is ``property *has* range class foo''.

Second, what do you mean by 'property *may* have range of class foo'?
There is a very wide variety of interpretations for this phrase, including
``adding a range of foo for property would not produce an inconsistency''
and ``it would make sense to add a range of foo for property''.  

> I first came across this requirement with my veudas RDF browser when
> consuming RDF without schema information. Hints like 'can have range'
> help when rendering the editing UI.  They can also be inferred easily
> from the RDF.

So, show us the inferences!

In general, I am very skeptical of this sort of claim.  Without some sense
of the meaning you want, there is no way to determine whether the
inferences you would provide are correct.

> The second example was attempting to implement a cross-store querying
> mechanism - I want to make statements like 'in the context of store A,
> property canHaveRange class' This works as a useful hint for the query
> chopper-upper to decide which patterns to run against which stores.
> 
> Does such a term exist anywhere or shall i make one up?

There have been some attempts to incorporate some sort of pragmatic range
information into KR laguages.  I believe that the Galen project had this
sort of construct in some early versions of its representation language.

> (or is there a better way? :-)

Well, yes.  :-)

1/ Let us know what you think this construct means informally.  The above
   description is much too vague to serve, by the way.  Intuitive examples
   would help, especially if they include both positive and negative
   versions of the construct.
2/ Provide a proof or model theory for a language that includes this
   construct.  (I would prefer a model theory, of course.)

Only once that is done can your proposal can be truely evaluated.
(Yes, this is not a trivial request.)

> Many thanks,
> 
> Phil

Peter F. Patel-Schneider
Bell Labs Research

PS:  In some sense this construct exists already.  Just use
     rdfs:canhaverange and make statements like
	ex:foo rdfs:canhaverange ex:bar .
     Inferences are easy - no special inferences are provided!


        

Received on Tuesday, 4 May 2004 12:24:24 UTC