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

Re: RDF Concepts Reference

From: Dave Beckett <dave.beckett@bristol.ac.uk>
Date: Wed, 17 Jan 2001 15:25:39 +0000
To: Dennis van der Laan <LaanD@vertis.nl>
cc: www-rdf-interest@w3.org
Message-ID: <16799.979745139@tatooine.ilrt.bris.ac.uk>
>>>Dennis van der Laan said:
>  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>

This seems to be a reply to an email I sent to this list about a
month ago:
refering to
  RDF and RDF Schema Concepts Reference

But neither of these or any quotes from my email were mentioned in
your email to the list.

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

Yeah, I've been working on a parser, nearly ready for first alpha release.

> 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.

The RDF BNF may not be complete, but it is not a guideline, it is
a normative part of a W3C Recommendation for the XML syntax of RDF.

The rdf:type property is not the same kind thing as rdf:li etc.
Often about, aboutEach, type, resource etc. are used without the rdf:
or other namespace prefix (even in the spec) .  rdf:li is mostly seen
with the rdf: and so on for other major syntax concepts.

[Aside: I'm using the word concept here since I can't find out a
better one; I mean entities defined in the syntax, although entities
has other overloading in XML/SGML world.  Sigh.]

> 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.

I said:
>> Container concepts have a rdf:type but that was only defined in
>> RDF Schema as rdfs:Class.  RDF M&S just said: "resource and not property"

Classes, rdfs:Class and the schema for RDF itself were only
introduced in the RDFS document *after* the RDF M&S document.  Thus
in the RDF M&S document, rdf:Bag has no formally defined type but has
the words I quoted "resource and not property".  You can read that in
M&S section 5. "Formal Model for RDF" in rule 10.

> 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?

> 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.

Hunting around again in RDF M&S, I've actually found some references
in the prose to the rdf:value property:

 Section 2.3 Qualified Property Values - Paragraph 2
    "The principal value being qualified is given as the value of the
     <em>value</em> property of this common resource."

 Section 7.3 Non-Binary Relations - Paragraph 1
     "...  the RDF core includes a <em>value</em> property to denote
     the principal value of the main relation."

I can't believe you wrote "It is obvious that ..." :-)

If it was obvious - i.e. in the BNF, formal model or formal grammar,
there wouldn't be this problem.  All 'reserved properties' (your
term) should be defined.

I'll update the document to represent the rdf:value references.  The
point of doing this was to get some sort of definitive summary of
the [syntax] concepts that the RDF M&S and RDFS defined.

Received on Wednesday, 17 January 2001 10:25:57 GMT

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