Re: Sesame: getting the underlying SailConnection from a Connection

( sending this to the list now... I copied only James before )

> layer and will not include any inferencing done in the Sesame Sail level.

good point. I had forgotten about inferencing.
as a matter of fact, I do need it.

Think of the jena repository as a dumb mirror that needs to be
perfectly sync'ed to the sesame repository. including inferenced
statements.

The jena side does not have much processing power, hence the
requirement that it only mirrors what is going on on the server side.

I don't know if my use case is too compelling, but it seems to me that
having a way to create a delta out of every transaction ( including
inferencing ) might be useful.

For now I will just compute the delta manually after every transaction
( that is, compare statement by statement to a previous snapshot )
during development, but I will definitely need a more robust solution
in the future. I wonder what will happen when comparing statements
with blank nodes though.

Thanks,
Aldo

On 1/19/07, James Leigh <james-nospam@leighnet.ca> wrote:
> Aldo Bucchi wrote:
> > I am trying to keep two repositories in sync. One of them is a sesame
> > Repository running in a java app, the other one is a Jena Model
> > running on another java app.
> >
> > Don't ask why jaja, it's just the way it is.
> >
> > Well, the thing is that one of them is the main repository ( the
> > sesame one ) and the other one is just a mirror.
> >
> > I was thinking of listening to sailconnection events ( add and remove
> > statements ) and generate a simple rdfxml package with the delta (
> > additions and removals ) that can be easily sent over the wire to the
> > jena side, but I haven't been able to understand the correct place to
> > hook the listeners.
> >
> > I am modifying the sesame Repository through
> > Repository.getConnection().etc() methods, so I need a way to get hold
> > of the underlying SailConnection.
> >
> In SVN we introduced the RepositoryBroadcaster that would be more
> appropriate for this use.  With this you can capture getConnection, add,
> remove, clear, commit, roll-back events that can be used to track any
> modifications done at the repository level. This can then be used to
> mirror the changes to the jena instance.  Of course there will be a
> performance penalty with this set-up versus having a Jena-Sesame middle
> layer and will not include any inferencing done in the Sesame Sail level.
>
> James
>


-- 
::::: Aldo Bucchi :::::
mobile (56) 8 429 8300

Received on Friday, 19 January 2007 18:51:00 UTC