W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > October 2002

Re: rdf:first/rest/nil/List: syntax-only at the RDF level

From: Dave Beckett <dave.beckett@bristol.ac.uk>
Date: Fri, 25 Oct 2002 18:30:56 +0100
To: Dan Connolly <connolly@w3.org>
cc: w3c-rdfcore-wg@w3.org
Message-ID: <18382.1035567056@hoth.ilrt.bris.ac.uk>

>>>Dan Connolly said:
> 
> The rdf:collection stuff was decided 31May
> http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002May/0159.html
> but that record doesn't show the "there are no interesting
> entailments around rdf:first/rest" comment that I thought
> I made and I thought we agreed to.
> 
> Jeremy remembers it that way, though...
> "My understanding was that RDF Core agreed to provide the List syntax,
> and 
> the List vocabulary (rdf:List, rdf:first, rdf:next rdf:nil); but not to 
> provide any (formal) semantics for these terms."
> http://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0138.html

I also remember it this way 
  (thinking it was one more set of things with little or no semantic
  value - to join rdf:value, rdf:Seq, rdf:Bag, rdf:Alt, but I digress)

and I support this.

I want to concentrate on a small part of what you mentioned in
passing, just to make sure you see what RDF/XML is providing.

<snip/>

> As I proposed[23Oct] to WebOnt, this follows because
> the range of owl:intersectionOf is a class, owl:List,
> which is specified to have maxCardinality 1 for rdf:first
> and rdf:rest.

<snip/>

> [23Oct] Re: SEM: List's
> From: Dan Connolly (connolly@w3.org)
> Date: Wed, Oct 23 2002
> http://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0159.html

So, assume there is an owl:List class:
  owl:List rdfs:subClassOf rdf:List.
which OWL uses for some purpose, not important here.  That's fine.

However, the convienence RDF/XML syntax we have for these collections
(which, as we are discussing, may have no particular semantics in RDF)
is as follows:

  <ex:prop1 rdf:parseType="Collection">
    <rdf:Description rdf:about="uri1"/>
    <rdf:Description rdf:about="uri2"/>
    <rdf:Description rdf:about="uri3"/>
  </ex:prop1>

which gives a big pile of triples:

  _:node ex:prop1 _:genid1 .
  _:id1 rdf:type rdf:List .
  _:id1 rdf:first <uri1> .
  _:id2 rdf:type rdf:List .
  _:id2 rdf:first <uri2> .
  _:id1 rdf:rest _:id2 .
  _:id3 rdf:type rdf:List .
  _:id3 rdf:first <uri3> .
  _:id2 rdf:rest _:id3 .
  _:id3 rdf:rest rdf:nil .

but the triples for the nodes in the middle of it are of rdf:type rdf:List.

There is no way for those to be made into owl:List using this form of
abbreviation, hence no way for OWL to have a convienent notation for
what might be called OWL lists.

Dave
Received on Friday, 25 October 2002 13:32:09 EDT

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:52:31 EDT