[Mulgara-general] Jena-Mulgara connector

Seaborne, Andy andy.seaborne at hp.com
Sun Jan 13 20:03:29 UTC 2008



Andrae Muys wrote:
> On 04/01/2008, at 1:39 AM, Seaborne, Andy wrote:
>> It's also "interesting" if you create a blank node by some small
>> integer and see what node in the server graph you have really named.
>> id=1 seems to rdf:type.
> 
> I wouldn't rely on that if I were you :).

I wasn't going to to!  Just an interesting discovery trying to 
understand how bnode ids work in Mukgara.


> If the problem reusing a blanknode from a query for an insert, as
> long as you perform the query within the same write-phase you will be
> fine.  Mulgara's understanding of insert/delete is as functions from
> graphs to graphs, ie:  insert :: Triple -> Graph -> Graph.

Let me just check my understanding: if the app (from iTQL or from the 
remote API) inserts a bnode in an operation, deletes said bnode in a 
second operation, then it's id can be reused even inside the same 
transaction in some later operation.

If a trasnaction (i.e. handle to one graph at one point in time) does 
nothing but read operations, then the bnode id is stable.

> In other words our current semantic is that the result of an update
> operation on a graph is a new graph, and as such blank-nodes from the
> pre-update graph are not necessarily the same as the blank-nodes on
> the post-update graph.
> 
> So a mulgara instance consists of a sequence of 4-uniform hypergraphs
> defined as the graphs produced by a sequence of unification and
> restriction operations starting with an empty graph, and we call the
> resulting ordinal number of a given graph a phase.
> 
> This idea of graph immutability (operations don't change the graph,
> but produce a new one) has formed the basis of our thinking regarding
> blank-nodes and their interaction with transactions and queries.  As
> a result your blank nodes remain valid for the duration of a
> transaction, for the moment that means holding the write-lock,
> however over the next few weeks we will be introducing the ability to
> obtain read-only transactions which will help alleviate some of your
> blank-node problems.

Sounds interesting - any description of the read-only transactions features?

I've already added basic graph pattern support to JenaMulgara so that 
conjunctive triple patterns are sent as a single operation.  That 
reduces the bnode effects so that if the app sticks to the Mulgara way 
of doing it, it can ask BGPs.

------

Are there plans to support language tags and handle xsd decimals (where 
they contain a fractional part)?

	Andy

> Andrae
> 
> --
> Andrae Muys
> andrae at netymon.com
> Senior RDF/SemanticWeb Consultant
> Netymon Pty Ltd
> 
> 
> _______________________________________________
> Mulgara-general mailing list
> Mulgara-general at mulgara.org
> http://mulgara.org/mailman/listinfo/mulgara-general

-- 
Hewlett-Packard Limited
Registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England



More information about the Mulgara-general mailing list