Re: why are properties decoupled from classes

Jos de Bruijn wrote:
> Find some more comments inline :)

Ditto.

> 
snip
> 
> I definitely like the capability of RDF to capture semi-structured data.
> I would not want, like in a classical OO system, that every node in an
> RDF graph is typed and that only those properties which appear in the
> class definition may be used.
> 
> My point is that in most cases it does not make sense (at least to me)
> to describe (constraints on) properties outside of the context of a
> class.
> 

I think we're generally in agreement.  As you say, there are certainly 
lots of cases where it only makes sense to constrain properties as 
applied to a particular class.  Some of the OWL constraints are intended 
to be steps in this direction.  However, there are other cases where it 
can make sense to constrain properties more generally.  A lot of this 
depends on how you're modeling things when you define your vocabulary. 
See below.

> 
>>>Another example is the range constraint. One may want to use the same
>>>property for different classes, but with a slightly different range.
>>>It seems totally reasonable to say:
>>>age rdfs:range xs:nonNegativeInteger
>>>
>>>This seems to work quite well for the age (in years) of persons.
>>>However, this does not work for, for example, the age of particles in a
>>>particle accelerator.
>>>

This is a good point.  There certainly may be subtle (or not-so-subtle!) 
distinctions between the semantics of a general concept like "age" as 
applied to different kinds of things. However, remember that in RDFS 
you're not really defining *the* "age" property, but a *particular* 
"age" property, identified by a URI.  Best practices for modeling is a 
subject for separate (and lengthy!) discussion, but I could certainly 
see some possible justification for a model having, rather than one 
property with different class-based constraints, two different 
properties (say foo:age and bar:age, perhaps as subproperties of a more 
general one) for this example.  In that case, different range 
constraints on the two properties might be appropriate.  However, YMMV.
In any event, I think we agree that we want to be able to say exactly 
what we mean, without the language somehow forcing us to say more or 
less than that!

Cheers!

--Frank

Received on Wednesday, 26 October 2005 20:11:07 UTC