Re: RDF Concepts Reference

[freed from spam trap -rrs]

 Date: Wed, 17 Jan 2001 07:58:21 -0500 (EST)
 Message-ID: <938F7F15145BD311AECE00508B7152DB033EAFA4@vts007.vertis.nl>
 From: Dennis van der Laan <LaanD@vertis.nl>
 To: "'www-rdf-interest@w3.org'" <www-rdf-interest@w3.org>

I'm currently working on an RDF Parser and an RDF Query language, so I've
struggled with the RDF(S) specification myself.

I rather like to think of the RDF BNF notation as a guideline. Under the
surface, we all know what is meant. You mentioned for example the problem of
two possible productions of a container (6.13 or 6.25-6.27) but that isn't
the only ambiguity. The 'type' property is taken apart in production 6.10,
but there is never stated that a 'normal' property can't have the name
'type', just as it is with other property names, like rdf:li. We should
think of all these names (rdf:Bag, rdf:li, rdf:type, ...) as keywords, just
as in a program language. Other names can be anything BUT these keywords.
That can't be stated in BNF, or at least not in a readable fashion.

What you said about the type of Containers, I didn't understand. Every Bag
is of type rdf:Bag, every Seq is of type rdf:Seq and every Alt is of type
rdf:Alt. The class rdf:Bag is of type rdfs:Class, etc. This all makes sense
to me.

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.

About rdf:value: It isn't used in the BNF notation, because it isn't a
property of any rdf class. It is a 'reserved' property that can be used in
new classes that specify a kind of value. For example, if you define a class
Weight, with a property 'unit' and a property 'rdf:value', you can use an
instance of this class as a value of, say, a property 'weight' of a person.
If the RDF text is being interpreted, but the interpreter doesn't know your
class Weight, it can still look if this class has a property 'rdf:value' (it
expects a value) so it can find the value of the property 'weight', but only
doesn't know the unit. It is obvious that a reserved property should be used
for this, because otherwise, you wouldn't know where to look for.

Dennis

Received on Wednesday, 17 January 2001 09:31:45 UTC