- From: Graham Klyne <GK@dial.pipex.com>
- Date: Tue, 08 Aug 2000 14:25:52 +0100
- To: Pierre-Antoine CHAMPIN <champin@bat710.univ-lyon1.fr>
- Cc: www-rdf-comments@w3.org
At 11:14 AM 8/8/00 +0200, Pierre-Antoine CHAMPIN wrote:
>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
I agree. It might even be called rdf:Bag (i.e. syntax-compatible with the
current spec).
>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.
I don't agree here. I think the term "choice" is unfortunate. To me, it
simple implies a union type. I would be happy with rdf:Alt and rdf:li, in
syntax and model.
>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.
I agree with this bit.
>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.
Hmmm, interesting. I'm not so sure about invoking reification in this
way. I'll think about it some more. Meanwhile, here are two other approaches:
(1) For an ordered list, I would be content to see "_1", "_2", etc. in the
syntax (rather than implied by the subject container class and rdf:li).
(2) Use a LISP-like approach:
[<Cons>] --head--> [Item1]
[ ]
[ ] --tail--> [<Cons>] --head--> [Item2]
[ ]
[ ] --tail--> etc.
The sequence would be terminated by a Cons without a tail.
#g
--
>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.
------------
Graham Klyne
(GK@ACM.ORG)
Received on Tuesday, 8 August 2000 09:47:21 UTC