[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