Re: RDF Concepts Reference

Hi Dave,

On Wed, 17 Jan 2001, Dave Beckett wrote:
> > The question about the multiple inheritance of rdfs:ConstraintProperty I
> > didn't understand either (is it me?). You end with "Why?", but why WHAT...
> > Why is it the ONLY class that has multiple inheritance or why does it HAVE
> > multiple inheritance? Either case, it looks clear to me.
> 
> I said:
> >> rdfs:ConstraintProperty is the only class that is a subclass of
> >> two other classes.  Why?
> 
> To me it looks like an oddity in the rdf class hierarchy and is the
> only part that means RDF schema implementations have to support
> multiple inheritance.  Maybe this is required anyway but it isn't
> explicitly described.  
> 
> If it is so clear to you Dennis, why don't you explain it?

"Multiple inheritance" in RDF is in large part forced on us by having a
flat space of identifiers (or identifiable objects). If each thing that
might have a URI name on the Web could only belong within a single class
hierarchy, we'd find ourselves in an ugly namespace rush. There's only
one URI space, yet we want (as per our plentiful rhetoric about mixing
metadata from decentralised communities of expertise etc etc) to say
lots of different sorts of things about those self-same resources. RDF
has a built-in notion of type (rdf:type), which provides a handy "off
the shelf" idiom for putting things into categories. Other modelling
styles are of course possible, and can serve a similar end 
(eg. importing UML structures over top of nodes-and-arcs rdf, using
library classification schemes, using dc:type etc etc). But rdf:type is
RDF's standard way of expressing category membership.

In that context, disallowing "multiple inheritance" (which I'm
scare-quoting only because we don't specify inheritance machinery for
property values, over-riding etc) raises certain problems:

 - banning multiple inheritance would mean that each Web-identifiable
resource could only be categorised with rdf:type within a single class
hiearchy (ontology/vocabulary). This pulls against our 'anyone can say
anything about anything' pluralism and creates a race to be the first to
type instances.

 - who to believe? If multiple sources assert rdf:type claims using
disparate schemas, should we infer that someone is 'wrong' or that their
class hiearachies are in fact intermingled.

 - fragmentation: if we constrained the use of rdf:type this way,
chances are folk would create similar models but use ad-hoc properties
similar to rdf:type.


Does that help motivate the multiple inheritance approach?

Dan

Received on Wednesday, 17 January 2001 11:05:48 UTC