[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