Re: RDFS bug "A property can have at most one range property"

On Mon, 11 Sep 2000, Tim Berners-Lee wrote:

> ----- Original Message -----
> From: "Dan Brickley" <danbri@w3.org>
> To: "Tim Berners-Lee" <timbl@w3.org>
> Cc: <www-rdf-comments@w3.org>; <www-rdf-interest@w3.org>
> Sent: Monday, September 11, 2000 1:06 PM
> Subject: Re: RDFS bug "A property can have at most one range property"
> 
> 
> >
> > <Sigh/>
> >
> > I'm inclined to agree.
>
> Inclined? *Inclined?!* You mean there is some possible way in which this
> is anything other than a bug!?
> 

Inclination w.r.t. changing the spec, not w.r.t. the technical issue.

We've blessed specs with imperfections before
(<cough>rdf:aboutEachPrefix</cough>). "Inclined" means, we could do with a
few more voices to chime in here saying "right on, fix this even if it
means a delay", but basically I agree, and hope others see it same way.

> > A similar problem comes from implied rdfs:range constraints when an
> > application defines an rdfs:subPropertyOf some already-constrained
> > property.
> >
> > example (to use an eg from the old MCF submission
> > http://www.w3.org/TR/NOTE-MCF-XML/):
> >
> >
> > rdfs:domain(util:author,util:Document).
> > rdfs:range(util:author,util:Person).
> >
> > ...locally specialised as follows for some 2nd vocabulary:
> >
> > rdfs:subPropertyOf(s2:technicalAuthor,util:author).
> > rdfs:range(s2:technicalAuthor,s2:Engineer).
> >
> > (in some cartoon world where the technical-author of things will always
> > be engineers)
> >
> > >From one perspective, there are now two rdf:range constraints in effect
> > against technicalAuthor, which is fine so long as
> > rdfs:subClassOf(s2:Engineer,util:Person). This isn't what the spec says;
> > as currently specified, 'there can only be one'.
> 
> This "can only be one" actually means nothing in RDF. Can only be in where?
> then only sort of constraint you could apply is cardinality=1 which means
> that is two things are both ranges of the same thinmg they must be
> equivalent
> in some way. This would give you
>     daml-o:equivalent(s,t)   <=  range(p,s) & range(p,t)
> This is of course not the case with range as in your example above.
> 
> > This makes it difficult
> > to exchange partial knowledge, such as the claim that the technicalAuthor
> > of a resource will always be a Person.
> 
> 
> "Difficult" is rther an understatement when a spec has something in
> it which makes no sense.

Difficult is the word. You can exchange that info but you don't use
rdfs:range to do it. Ugly's another word...

So... this topic was raised a while ago to (I thought remarkably) little
traffic. Let's see if this stirs things up some more...

Dan

> 
> > It seems to me cleaner to allow multiple range statements, and be clear
> > about what they allow you to infer, rather than assert baldly that 'there
> > can only be one'.
> >
> > Regarding rdfs:domain's weak semantics (as specified it might be useful
> 
> I prefer "void" to "weak" actually.

It's weakly meaningful. You might use knowledge from rdfs:domain to
populate user-interface elements with 'likely' classes. It carries
information that can be useful when building RDF applications. It also
doesn't enable much by way of crisp inferences. This may seem odd. I think
the answer is: on the Web, there are a vast vast number of statements that
it is meaningful (legal etc...) to say, but less that it is useful to
make. weak ("void") information like rdfs:domain can still help eg in user
interface generation. I'm not arguing that the current definition is the
best, just that it can be put to some uses.


> > for hinting to a GUI about possible classes, for eg, but not for
> > inference), Ralph's msg is at
> > http://lists.W3.org/Archives/Public/www-rdf-comments/2000AprJun/0042.html
> > and was crossposted to www-rdf-interest, www-rdf-comments, and the RDF
> > Schema WG list. There was only one reply.
> >
> > I'd encourage anyone who shares Tim's concern that rdfs:domain be
> > redefined to followup up the above post (citing implementation experience
> > details etc if possible). Ditto for the rdfs:range concern. It's pretty
> > late in the process with RDFS. All specs get last minute rushed in bugfix
> > and enhancement suggestions. If we want to change things at this late
> > stage, we'll need to amass a persuasive case that this is the right thing
> > to do.
> >
> > Dan
> >
> > On Mon, 11 Sep 2000, Tim Berners-Lee wrote:
> >
> > > Apologies for the late submission of this comment on RDF-Schema
> > > http://www.w3.org/TR/2000/CR-rdf-schema-20000327/
> > >
> > > On looking at the excellent analysis
> > > "A Logical Interpretation of RDF" Wolfram Conen
> > > and Reinhold Klapsing can be accessed at:
> > > http://nestroy.wi-inf.uni-essen.de/rdf/logical_interpretation.ps
> > > (Postscript-Format)
> > > http://nestroy.wi-inf.uni-essen.de/rdf/logical_interpretation.pdf
> > > (PDF-Format)
> > > http://nestroy.wi-inf.uni-essen.de/rdf/logical_interpretation/index.html
> > > (HTML-Format)
> > > see
> http://lists.w3.org/Archives/Public/www-rdf-interest/2000Aug/0122.html
> > >
> > >
> > > (an great sort of thing to happen during CR period , BTW), I find that
> it
> > > points out where there is clearly a bug in
> > > http://www.w3.org/TR/2000/CR-rdf-schema-20000327/#s3.1.3
> > >  in that it says that "A property can have at most one range property. "
> > > This basically doens't mean anything on the web.
> > >
> > > (Why haven't I spotted that before? I guess just skipped over range and
> > > domain
> > > assuming they had their normal meanings).
> > >
> > > An redfs:range statement about a Property allows one to infer a Class of
> > > anything which is the value of that property. The semantics are
> > >
> > >           rdf:type(x,s)   <= rdfs:range(p,s)  & p(y,x)
> > >
> > > For example, if s is a range of p, then also so is any t superset of s.
> > >
> > > It is quite reasonable to make two range statements, which together
> > > of course imply that any value must be in the intersection of the ranges
> > > given.
> > >
> > > Saying range(p,t)  should not be illegal! In other words, Conen &
> Klapsing's
> > > range_cardinality_violation (equation 22) should not be a violation of
> > > anything.
> > >
> > > Ironically, an example of the correct semnatics fo range is actually
> given:
> > > "The rdfs:range of rdfs:range is the class rdfs:Class. This indicates
> that
> > > any resource that is the value of a range property will be a class. "
> > >
> > > This is a closed world type of problem.  The "it is not permitted to
> express
> > > two or more range constraints on a property"  doesn't specify a scope
> within
> > > which those delcarations are made. A global scope is of course
> impossible to
> > > ever validate - how can you know whether anyone else has expressed a
> range
> > > constraint on a given property?
> > >
> > > The note in the spec deals with the problem of expressing the range
> being a
> > > union and mentions that you can't (of course) do that with mutiple range
> > > statements.
> > >
> > > Please remove the offending wording from the spec.
> > >
> > >   Tim BL
> > > ________________________________________________________________
> > >
> > > PS: The analysis also demonstrates the problem with domain in the not
> sign
> > > in eqn20, showing domain is meaningless as stated in the spec, but this
> bug
> > > has been documented already in comments to the spec.
> > >
> > >
> > >
> >
> 

Received on Monday, 11 September 2000 17:39:52 UTC