- From: by way of <LaanD@vertis.nl>
- Date: Wed, 17 Jan 2001 09:30:44 -0500
- To: www-rdf-interest@w3.org
[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