Root defined bagID, and what about bagAbout?

Howdy folks,

I'm curious about the absence of a means by which a URI can
be specified for a bag of statements (e.g. 'bagAbout') and 
also why one could not define a bagID or bagAbout attribute on 
the root <rdf:RDF> element. 

What got me thinking about this was the idea of how the bagID 
(or a similar URI based bagAbout) mechanism could be used to
define 'source' or 'authority' of statements for all statements
made within a particular RDF instance. E.g. consider

<rdf:RDF ... rdf:bagID="bag_of_assertions">
  ...
  <!-- lots of statements about lots of things -->
  ...
  <rdf:Description rdf:aboutEach="#bag_of_assertions">
    <x:authority rdf:resource="mailto:mr.know.it.all@foo.com"/>
    <x:source rdf:resource="http://foo.com/facts_of_life.rdf"/>
  </rdf:Description>
</rdf:RDF>

This would provide a very convenient mechanism for both reifying
and grouping the statements made from a given serialization as well as 
defining source, authority, and other information about those
statements that could be essential to operations employing a 
knowledge base made up of the syndication of statements from a
large number of inputs.

One would not wish to have to (a) define a separate bagID for every
rdf:Description element and (b) make the same aboutEach statements
for each of those bagIDs. No?

The basic "template" such as above could be employed by software
applications as a kind of 'reification, affiliation, and tracability' 
wrapper around any arbitrary RDF statements.

And what if, in a context where multiple instances will be syndicated
into a common knowledge base, one would like to use URI's to identify
those bag nodes, to ensure that there is no chance for accidental
collision (as IDs are only unique for an instance)? Wouldn't it
make sense (or even be essential) that there be a bagAbout attribute
as well, taking a URI value? I.e. one would wish to have the safer

<rdf:RDF ... 
   rdf:bagAbout="http://foo.com/facts_of_life.rdf#bag_of_assertions">
  ...
  <!-- lots of statements about lots of things -->
  ...
  <rdf:Description rdf:aboutEach="#bag_of_assertions">
    <x:authority rdf:resource="mailto:mr.know.it.all@foo.com"/>
    <x:source rdf:resource="http://foo.com/facts_of_life.rdf"/>
  </rdf:Description>
</rdf:RDF>

--

Seems like with just a tiny, simple tweak to the DTD one could
get alot of useful functionality, essentially all of which already 
exists in current parsers...

Eh?

Just thinking out loud....

Cheers,

Patrick

--
Patrick Stickler                      Phone:  +358 3 356 0209
Senior Research Scientist             Mobile: +358 50 483 9453
Software Technology Laboratory        Fax:    +358 7180 35409
Nokia Research Center                 Video:  +358 3 356 0209 / 4227
Visiokatu 1, 33720 Tampere, Finland   Email:  patrick.stickler@nokia.com
 

Received on Wednesday, 19 September 2001 08:16:10 UTC