Re: Understanding 'chaining'

Mark Birbeck wrote:
> Hi Ivan,
> 
> I wrote:
>>> That's right; since we're already passing a 'context' full of
>>> properties via a stack, then as you say, this is nothing major.
>>>
>>> So essentially we'd just add a flag to the context to indicate that we
>>> have a 'partially completed' triple, and then of course we'd also add
>>> to the context the subject and predicate of that incomplete triple.
>>> When something completes the triple, it would clear the flag before
>>> any further recursion happens.
>>>
> 
> You wrote:
>> It is a little bit more I believe. If you have a chain of elements with only @rel, then you
>> will have to accumulate hanging triples, ie, passing them 'on' to
>> children before putting them (possibly) into the triple store.
> 
> That is true. But it has already been done for us. The current
> processing steps already capture context and push it onto the stack
> when recursing. If we were to add the 'incomplete triple' values to
> the context, then they too would be pushed.
> 

Ah... and then the return values from the (recursively) called procedure
would define whether the incomplete triples would be thrown away or
added to the triple store in some form (Eg, the @about value should be
returned to the caller). Yes, that was not the original scheme I had in
my mind on the tramway:-) but that is a better alternative indeed.

(/me picky:-) it is incomplete triples, in plural: @rel may have several
values...)

Anyway, these are implementation details. The important point at this
point is that the new/old scheme is implementable without too much
complications. Ie, we can put this argument aside, and decide which
scheme to choose based on their specifications.

Ivan

> So you are right that you need to keep track of all other 'incomplete
> triples' that are 'above' the current one, but they will simply be
> sitting on the stack in the various contexts that have been pushed,
> waiting to be used when the processor starts returning from recursed
> processing.
> 
> Regards,
> 
> Mark
> 

-- 

Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Friday, 30 November 2007 05:18:27 UTC