- From: Pierre-Antoine CHAMPIN <champin@bat710.univ-lyon1.fr>
- Date: Tue, 08 Aug 2000 11:14:00 +0200
- To: Graham Klyne <GK@dial.pipex.com>
- CC: Dan Connolly <connolly@w3.org>, www-rdf-comments@w3.org
Graham Klyne wrote:
>
> I agree -- I think a parser's behaviour should be completely defined by
> -rdf-syntax-, and not dependent of knowledge of
> rdf-schema. Schema-awareness should be a separate issue.
By the way, I never liked the notion of RDF container,
because :
- it was introduced as a part of the syntax
- it implies an infinite number of properties (rdf#_n)
Here are some ideas about that:
rdf:Bag
-------
Indeed a useful construct. But since order does not matter in bags, why using rdf:_n properties.
I'd rather have :
a class rdfs:Container with no syntactical influence
a property rdf:li with rdfs:Container as its domain, to link a container to its items
rdf:Alt
-------
That one is a high level concept - higher than Bag or Seq IMHO: it implies a "choice", but *who* has to choose and *why* ? This is a concern of the application, not of the language.
Anyway, the main feature of that construct is to allow the expression of a *default* element in a container (curently the rdf:_1 item). We could add
a property rdf:default with rdfs:Container as its domain, to point to the default value.
it could even be a subproperty of rdf:li.
rdf:Seq
-------
Another useful construct, since it is the only way to put an order in RDF.
Anyway, as mentioned above, I don't quite like the idea of an infinite number of properties.
I think reification could achieve it much more elegantly :
[rdf:Seq] <--(rdf:type)-- [someSeq] --(rdf:li)--> [Item1]
| |
| (rdf:rank)--> "1"
|
\-------(rdf:li)--> [Item2]
|
(rdf:rank)--> "2"
So there should be
a property rdf:rank with rdf:Statement as its domain.
Those reified statements and their rdf:rank properties should be generated by the parser when needed,
which implies some meta-language feature to request it. For example, a tag rdf:OrderedDescription to be used instead of rdf:Description when the order of the properties matter.
An advantage is that order could be put in any RDF structure, not only containers.
Eg:
<rdf:Descritpion about="people:john" xmlns:ps="http://schemas.org/people/">
<rdf:type rdf:resource="http://schemas.org/people/Man"/>
<ps:firstName> John </ps:firstName>
<ps:lastName> Smith </ps:lastName>
<ps:birthDate> 1/1/1970 </ps:birthDate>
</rdf:Description>
<rdf:OrderedDescription about="people:john">
<ps:daughter rdf:resource="people:mary"/>
<ps:son rdf:resource="people:paul"/>
<ps:daughter rdf:resource="people:lucy"/>
</rdf:OrderedDescription>
<rdf:OrderedDescription about="people:john">
<ps:likes> Eating chocolate </ps:likes>
<ps:likes> Watching movies </ps:likes>
<ps:likes> Playing tennis </ps:likes>
</rdf:OrderedDescription>
Whe would have a resource people:john with 10 properties, in which 3 children are ordered (supposedly by age) and 3 "likes" are ordered (supposedly by preference).
any comments welcome
Pierre-Antoine
--- Quid quid Latine dictum sit, altum viditur
Whatever is said in Latin sounds important.
Received on Tuesday, 8 August 2000 05:02:35 UTC