[Mulgara-general] Setting SAIL with Mulgara?
Andrae Muys
andrae at netymon.com
Sun Mar 16 18:30:38 PDT 2008
On 13/03/2008, at 8:07 PM, David Legg wrote:
> I was pleasantly surprised when the Sesame documentation talks about
> 'context' [1]. I couldn't help thinking how close that is to
> Mulgara's
> idea of a quad store. That bit at least should be a lot easier to
> support.
These are almost identical concepts in Mulgara and Sesame. The only
difference seems to be the degree to which Mulgara has taken this
sort of thing - especially with the modeling of many filter-like
operations as virtual rdf-graphs via the xsd-resolver.
>> If anyone (including you David!) wants to start on this, then the
>> help
>> would be greatly appreciated.
>>
>
> I'll see what I can do. I can use Sesame's in-memory repository
> for the
> moment.
If you do decide to look at a Mulgara/SAIL interface, the approach
that James and I discussed at the workshop came down to:
1. Defining an isomorphic mapping between the SAIL query algebra and
either the Mulgara query-ast or (more likely) the Mulgara tuples-
algebra.
2. Using the mapping to develop an alternative to Mulgara's Session
interface that implements SAIL.
3. Using the mapping to develop an iTQL->SAIL query algebra parser.
4. Adding operations to the SAIL interface to support insert/select
and delete/select - which are extremely useful operations that
Mulgara supports not currently supported by SAIL. (NB. possibly
better names for these operations might be insert/construct and
delete/construct).
It is worth noting that most of the hard work is in step 1. Getting
that mapping right is going to require detailed knowledge of both
Sesame and Mulgara's query semantics. Issues that are likely to be
tricky include:
1.1 Subqueries - specifically there is a particularly fun corner case
regarding variable bindings.
1.2 Aggregates.
1.3 The interaction between Non-Union Compatible Disjunction and
Joins or Appends.
1.4 Trying to identify mappings between filter-operations and virtual-
graphs.
1.5 MINUS - I don't believe Sesame supports it at the moment.
I believe these are the only really tricky issues.
The good-news of course is that once you have a mapping the next two
are trivial mechanical tasks, and the fourth primarily social not
technical.
Andrae
--
Andrae Muys
andrae at netymon.com
Senior RDF/SemanticWeb Consultant
Netymon Pty Ltd
More information about the Mulgara-general
mailing list