W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > November 2001

Issue rdfms-abouteach

From: Dave Beckett <dave.beckett@bristol.ac.uk>
Date: Thu, 15 Nov 2001 14:24:35 +0000
To: w3c-rdfcore-wg@w3.org
Message-ID: <3860.1005834275@tatooine.ilrt.bris.ac.uk>

Issue http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteach

Summary: I propose to remove rdf:aboutEach from the RDF/XML language.

Virtually all RDF/XML parsers are streaming, based on SAX events or
equivalent in other languages.  rdf:aboutEach is a file-scope based
construction that affects every property off a top level (in XML
terms) node with the given URI, either previously mentioned or later
on in the document.  This means that the parsers have to record all
the properties from top level nodes seen so that any potential
rdf:aboutEach at the end of the document will work properly.

It seems an odd syntactic construct that has not been widely used
(I have never seen it) and sits badly in the core.  If it remains
useful, it should be layered in some form of system on top of RDF/S
and not at the syntax layer.  The CWM experiments with log:forall
point at better ways to do this, IMHO.


This issue was previously discussed in the 2001-Jun-01 RDF Core WG
meeting where there was no consensus for removal at that time.
See http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Jun/0008.html
and Ora's action:
   http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Jul/0253.html


Reasons I see for removal

  Insufficient use

    I don't think it has been used at all in any major RDF
    application that I've come across such as Dublin Core, PRISM, W3C
    SWAD, DAML+OIL.   Google searches return mostly pointers to primers
    on RDF trying to explain it.

  Insufficient implementation
    (selected lists)

    I think these parsers implement it in some fashion:
       libwww RDF by parsing everything into memory before emitting triples
       SiRPAC (in non streaming mode)
       ARP - However, see below
       Wilbur (in non streaming mode, not the default)
         Doesn't handle aboutEach before container
         -- http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Jul/0253.html
       VRP

    Parsers that do not handle it:
       SiRPAC (in streaming mode)
       Wilbur (in streaming mode, default)
       Raptor
       RDF Filter
       Repat
       Mozilla RDF parser - http://www.mozilla.org/newlayout/faq.html
       CWM xm2rdf.py - it notes
         # aboutEach { <#> forall r . { ppp rdf:li r } l:implies ( zzz } )

  Confusing interactions with rdf:bagID as recorded in Issue
     http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteach

  Difficult to implement, especially in streaming RDF/XML parsers;
  scalability problems.

      "For very large files (more than 100 Megabyte?), the way ARP
       handles rdf:aboutEach may exhaust memory. I have the design of
       a fix, but it is not high on my ToDo list. e-mail me if you
       wish to move it up."
    -- Jeremy, http://www.hpl.hp.co.uk/people/jjc/arp/issues.html

  A structure in the XML syntax with no graph representation

  Will make the primer shorter :)


Actions to implement:
  ACTION Dave (RDF/XML syntax doc editor): remove from the grammar in the
    RDF/XML document 

  ACTION Brian: Add explanatory text to RDF M&S errata warning of this change.

This would close
  http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteach 
  http://www.w3.org/2000/03/rdf-tracking/#rdfms-propElt-id-with-dr

by removing rdf:aboutEach / distributed referrants from the language

and affect the previously closed
  http://www.w3.org/2000/03/rdf-tracking/#rdfms-aboutEach-on-object
by making the resolution moot.

Dave
Received on Thursday, 15 November 2001 09:24:36 EST

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