Re: tracing statement origin (was Re: I have a trouble with The RDF Model)

Jonas Liljegren wrote:

<snip />

> > <ModelAccess>
> >   <uri rdf:resource="http://somedoc.rdf">
> >   <last_mod>timestamp</last_mode>
> >   <last_access>timestamp</last_access>
> >   <cache_until>timestamp</cache_until>
> >   <authority>...</authority>
> >   ...
> >   <statementBags>
> >     <rdf:Bag>
> >       <rdf:li rdf:resource="http://somedoc.rdf#stat_bag1"/>
> >       <rdf:li rdf:resource="http://somedoc.rdf#stat_bag2"/>
> >       <rdf:li rdf:resource="http://somedoc.rdf#stat_bag3"/>
> >    </rdf:Bag>
> >   </statementBags>
> > <ModelAccess>
> >
> > ModelAccess is outside of anything that the M&S has touched on but I
> > think it is very important for getting the next level of context
> > needed for manipulating RDF on the web where context is everything.
> 
> Absolutly.  I take it you will write a proposal of a schema for
> this. ;-)

I'll add it to the work queue.
 
> But I wan't all the basic statements in the model.  Not just the
> statementBags.  I could suffice with them.  But I would still generate
> a complete list of statements in the model, because that's what I will
> use in the application.  The uses of the statementBags are not as
> many.
> 
> Maby we could have (support for) both:

This is happening in a hierarchical manner in the approach I outlined.
I can see that having an additional index of all the statements
hanging off of the top-level resource would be useful. I can also see
other ways of achieving this in an implementation based on the
information that is available. 

The members of the Bag pointed to by ModelAccess->statementBags are
themselves Bag resources whose members are the reified statement
resources. Below is the example with this information explicitly
shown. It simply includes the Description Bags inline in the
statementBags property value. This makes it clear that there are two
levels of nested context from the ModelAccess thru the Description
Bags and finally to the reified statement resources. The reified
statement resources can also be shown inline and then we would get the
almost complete representation of the source document caveat the
ground statements themselves. I include the first rdf:Statement inline
as an example.

If we hung a property off of the rdf:Statement resources that
indicated whether it was a stating or a quoting we could get throw the
ground statements away and only deal with the transformed view. Lets
make this a boolean property called isStated which is also shown on
the one inline reified statement resource in the example below.

Note: I use qnames in a few places and elide some declarations to save
on visual space so don't paste this directly into a processor. 

<ModelAccess>
  <uri rdf:resource="http://somedoc.rdf">
  <last_mod>timestamp</last_mode>
  <last_access>timestamp</last_access>
  <cache_until>timestamp</cache_until>
  <authority>...</authority>
  <!-- ... -->
  <statementBags>
    <rdf:Bag>
      <rdf:li>
         <rdf:Bag rdf:about="http://somedoc.rdf#stat_bag1"/>
            <rdf:li>
              <rdf:Statement rdf:about="http://somedoc.rdf#genid1">
                <rdf:subject, rdf:resource="http://somedoc.rdf#res1"/>
                <rdf:predicate rdf:resource="rdf:type"/>
                <rdf:object rdf:resource="uriForTypeNode"/>
                <isStated>true</isStated>
              </rdf:Statement>
            </rdf:li>
            <rdf:li rdf:resource="http://somedoc.rdf#stat1"/>
         </rdf:Bag>
       </rdf:li>
     <rdf:li>
       <rdf:Bag rdf:about="http://somedoc.rdf#stat_bag2">
          <rdf:li rdf:resource="http://somedoc.rdf#stat2"/>
       </rdf:Bag>
     </rdf:li>
     <rdf:li>
       <rdf:Bag rdf:about="http://somedoc.rdf#stat_bag3">
         <rdf:li rdf:resource="http://somedoc.rdf#stat3"/>
       </rdf:Bag>
     </rdf:li>
   </rdf:Bag>
 </statementBags>
</ModelAccess>

Gabe

-- 
--------------------------- 
http://www.jfinity.com/gabe

Received on Tuesday, 28 November 2000 23:05:34 UTC