Patrick,

I've already thought long and hard about that.

The problem is you can't implement that transparently as you can never allow 
code in a second call rely on data derived from a previous one.

The simplest form that I came up with is a "BatchCommand" that gets an API 
interface injected that allows requests but doesn't return data. 

The execution of this Batch command would then return a "BatchResult" with all 
the data acquired during the batch operation.

Another way would be to inject the normal GraphDatabaseService interface, 
record the invocations in a first phase and then execute the batch command 
again (this time ignoring the inputs but then returning the results) but this 
is bad from a usability perspective.

One critical issue is the creation of relationships as they depend on the 
correct node-ids of previously created nodes. Jacob already thought about some 
means of referring to previous output data but I think kept away from that as 
we didn't want to make this batch-interface a turing complete language.

So you see, it's not that simple.

Michael

Am 27.06.2011 um 20:45 schrieb Patrik Sundberg:

> Hi,
> 
> Since there is now possible to send off batches of operations via the REST
> interface, I was wondering if anyone has started to look at implementing
> transactions in the java REST client (
> https://github.com/jexp/neo4j-java-rest-binding) ?
> 
> It would seem possible, but I can also see it could involve some major
> reorganizing of the internals of the client to make everything aware of
> transactions and submit via batch command.
> 
> Patrik
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user

_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to