W3C home > Mailing lists > Public > www-rdf-interest@w3.org > November 2001

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

From: <tarod@softhome.net>
Date: Mon, 19 Nov 2001 09:05:47 GMT
Message-ID: <20011119090547.31809.qmail@softhome.net>
To: Peter Crowther <peter.crowther@networkinference.com>
Cc: www-rdf-interest@w3.org

  Once again we are talking about vocabularies and different vocabularies
for the same rdf, etc...

  Ok, I want to understand the reason of RDFSchema. RDFSchema is used to
define the template (?) you need to follow to write a RDF Document. So, if
I write a RDF Schema everybody who write a RDF Document should write it as
the Schema specifies. You can define a lot of vocabularies and you can
rewrite your validation algorithm, so, the validation of a RDF Document
should be independent of the validation of a DAML Document. You can specify
different semantics for both. If we talk only about RDF and RDF Schema, why
is better the new approach than the old one?

  Thanks,
        Marc

Peter Crowther writes:

> > From: tarod@softhome.net [mailto:tarod@softhome.net]
> [...]
> > The problem I wanted to explain is why
> > the RDFSchema should use the domain classes as an 
> > intersection instead of a
> > union, without using DAML, ok? I know DAML is more powerful, 
> > but RDFSchema
> > should be independent of that, if I want to use RDF to 
> > represent an UML
> > Model, the intersection in the domain of the property is not 
> > as useful as the union... 
> > 
> >   Where can I find a good point to explain it without using 
> > or thinking in
> > DAML? 
> > 
> >   I think the problem lies in RDFSchema being modified 
> > according to one RDFSchema-based vocabulary.
> 
> The problem with the union approach is that a reasoner (for any vocabulary)
> can be presented with unexpected types.  For example:
> 
> - Your vocabulary defines the range of a property as SomeClass.
> 
> - My vocabulary (developed after yours) defines the range of that property
> as SomeOtherClass.
> 
> - A third vocabulary (developed after yours, but independently of mine)
> defines the range of the same property as YetAnotherClass.
> 
> - At some point, a user loads my vocabulary and the third vocabulary into
> the same RDFS-aware engine.  The range of the property is now
> {SomeOtherClass, YetAnotherClass}.
> 
> There are now two options:
> 
> 1) The range is the conjunction of the two.  In this case, it is possible
> that many statements in both vocabularies are illegal, but any inference
> from any engine will be well-behaved: nothing that was previously illegal
> becomes legal.
> 
> 2) The range is the disjunction of the two.  In this case, all
> previously-legal statements in both vocabularies will remain legal, but
> there may be new statements that were previously illegal that now become
> legal.  This may cause unexpected behaviour in previously well-defined
> vocabularies.
> 
> Personally, I prefer the first option --- as a user of these two
> vocabularies, I'd much rather know in advance that there might be a problem
> than find unexpected snags after I've been using the combination for a
> while.
> 
> 		- Peter
> 
Received on Monday, 19 November 2001 04:40:49 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:52 GMT