Ideas for store for IFP smushing

Hi RDF Interest,

Have been thinking a lot recently about techniques for smushing IFP
based data (inc. foaf, doap etc..), and Sandro's uname paper[1] got me
thinking about the optimisation possibilites of an extra layer of
indirection.

I'm putting together a prototype store (derived from the design of
Steve Harris' excellent 3store) that doesnt expose URIs to the user
except through explicit queries containing (?foo :uname ?uri). This
disconnection between resource and URI offers some reasonably compact
strategies for IFP and owl:sameAs smushing (since the resource -> URI
can be 1:N without duplicating triples). It also provides optimisation
possibilities for cases where the client isn't interested in URIs, but
just the structure of the data and its literals. (I've found this to
be the case when obtaining RDF infromation for e.g. displaying in a
UI).

Instead of BNodes, I'm using generated internal ids with a limited
lifespan (remain constant between smushing passes). This is mainly
because you can't use bnodes for properties, but also because it
enables a client to efficiently submit multiple queries using the
short-lived internal URIs for speed.

The downside to this approach is that I can't think of a way to
efficiently undo a smushing pass, which you'd want to do if e.g. you
unasserted an IFP.

Has anybody else explored these possibilities? Anything I ought to
consider?

Cheers,

Phil

[1] http://www.w3.org/2001/12/uname/

Received on Friday, 6 August 2004 07:09:00 UTC