- From: Frank Manola <fmanola@acm.org>
- Date: Wed, 26 Oct 2005 16:15:44 -0400
- To: Jos de Bruijn <jos.debruijn@deri.org>
- CC: semantic-web@w3.org
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