Thanks again for your response.

I'm making good progress in getting going with your newer APIs.
Unfortunately, I had to go on and do a bunch of work while waiting for
the response, and now after I get all this working, I'll have a
substantial merge job ahead of me because  I had to touch a good bit of
the same code for the new features I added to my code :-(.

As soon as that's done and working, then I can switch over to Cypher
transactions.

stream(/statement/, /parameters=None/, /**kwparameters/)

    Execute the query and return a result iterator.

    Parameters:         

      * *statement* – A Cypher statement to execute.
      * *parameters* – A dictionary of parameters.

    Return type:        

    py2neo.cypher.RecordStream
    <http://py2neo.org/2.0/cypher.html#py2neo.cypher.RecordStream>


OK. I see it returns a RecordStream. Unfortunately it doesn't document
what's in the RecordStream :-(

What's fields are in the Records in the RecordStream?

Will I get one Record per transaction element?

What do those Records look like for various kinds of Cypher queries?

When I add a node where do I find the newly-created Node object?

When I add a relationship, where do I find the newly-created
Relationship object?


    Thanks!

    -- Alan




On 08/26/2015 03:02 AM, Nigel Small wrote:
> Hi Alan
>
> So IIRC, there are outstanding faults with the uniqueness modes that
> underpin the *add_to_index_or_fail* function. I forget the exact
> nature of these but I put a warning in the py2neo docs about using them:
> http://py2neo.org/2.0/legacy.html#py2neo.legacy.LegacyWriteBatch.add_to_index_or_fail
>
> If memory serves (which it often doesn't) the issue was related to this:
> https://github.com/neo4j/neo4j/issues/906
>
> Going forward, I'd advise moving to labels and schema indexes rather
> than using legacy indexes. Additionally, Cypher transactions are
> generally superior to the old HTTP batches which have some functional
> limitations. Both of these features (schema indexes and Cypher
> transactions) are now mature and still in active development so will
> often provide better results.
>
> Cheers
> Nigel
>
>
> On 19 August 2015 at 13:30, Alan Robertson <[email protected]
> <mailto:[email protected]>> wrote:
>
>     I turned on Nigel's debugging. This is the error this time (same
>     but different node number mentioned)
>     BatchError: Batch job 2 failed with NotFoundException
>     Node 35832 not found
>     Here's what Nigel's debugging says:
>
>     > Sending batch request with 3 jobs
>     > {0} POST node
>     
> {"domain":"global","nodetype":"Person","firstname":"Annika","lastname":"Hansen","time_create_iso8601":"2015-08-18
>     20:28:46","time_create_ms":1439929726819,"dateofbirth":"unknown"}
>     > {1} POST {0}/relationships {"to":"node/35910","type":"IS_A"}
>     > {2} POST index/node/Person?uniqueness=create_or_fail
>     {"value":"Annika","key":"Hansen","uri":"{0}"}
>     < Received batch response for 3 jobs
>     < {0} 201 <Node graph=u'http://localhost:7474/db/data/'
>     ref=u'node/35917' labels=set([]) properties={u'domain': u'global',
>     u'node
>     type': u'Person', u'firstname': u'Annika', u'lastname': u'Hansen',
>     u'time_create_iso8601': u'2015-08-18 20:28:46', u'time_create_
>     ms': 1439929726819, u'dateofbirth': u'unknown'}>
>     < {1} 201 <Relationship graph=u'http://localhost:7474/db/data/'
>     ref=u'relationship/60444' start=u'node/35917' end=u'node/35910' t
>     ype=u'IS_A' properties={}>
>     It points to the problem as being with the index/node/Person update.
>
>
>     On 08/17/2015 11:50 AM, Alan Robertson wrote:
>     > Hi,
>     >
>     > Twice I've tried to convert to py2neo 2.x. Both times I ran into
>     this problem. The first time I had to revert the 2.0 changes and
>     put out the release anyway. This time I'm sticking with it until I
>     get past it somehow...
>     >
>     > The symptom is that I get this result from a transaction:
>     >
>     >     BatchError: Batch job 2 failed with NotFoundException
>     >     Node 34950 not found
>     >
>     > I can assure you that the number 34950 does not appear anywhere
>     in my code (I put in lots of debug). The transaction consists of
>     three things:
>     >     Create a new node
>     >     Relate the newly created node to an old node (which has node
>     id 35031).
>     >     Insert the newly-created node into a legacy index.
>     >
>     > This all works with the 1.6 series of code.
>     >
>     > Here's a little of the debug from the transaction:
>     > ==== Performing
>     batch.create(0:({dateofbirth:"unknown",domain:"global",
>     firstname:"Annika", lastname:"Hansen",
>     nodetype:"Person",time_create_iso8601:"2015-08-17 17:23:50",
>     time_create_ms:1439832230360})) - for new node
>     > ==== RELATIONSHIP(0 -[IS_A]-> (n35031
>     {domain:"metadata",name:"Person",nodetype:"CMAclass"}))
>     > ==== add_to_index_or_fail: node 0; index Index(Node,
>     u'http://localhost:7474/db/data/index/node/Person')("Hansen","Annika")
>     > Here's the explanation of the debug output:
>     > The 0 in "batch.create(0:(..." means that this newly-created
>     node has index 0 in the transaction (as it should).
>     > The "RELATIONSHIP(0 -[IS_A]-> (n35031 {..." means that we
>     created a relationship between a node 0 and a Py2neo Node whose id
>     is 35031.
>     > The "add_to_index_or_fail" line means we called the
>     legacy.add_to_index_or_fail function on node 0, putting it into
>     the Person legacy index with the values "Hansen" and "Annika" as
>     the index values.
>     >
>     > This is all exactly the same code which worked before. I mainly
>     added "legacy." to a bunch of calls, changed a few imports and
>     added more debug when it didn't work.
>     >
>     > This looks a bit like a bug in py2neo to me.  Suggestions on how
>     to proceed?
>     > --
>     >
>     > Alan Robertson / CTO
>     > [email protected]
>     <mailto:[email protected]> / +1 303.947.7999
>     <tel:%2B1%20303.947.7999>
>     >
>     > Assimilation Systems Limited
>     > http://AssimilationSystems.com
>     >
>     > Twitter Linkedin skype
>     > --
>     > You received this message because you are subscribed to the
>     Google Groups "Neo4j" group.
>     > To unsubscribe from this group and stop receiving emails from
>     it, send an email to [email protected]
>     <mailto:[email protected]>.
>     > For more options, visit https://groups.google.com/d/optout.
>
>
>     -- 
>
>     Alan Robertson / CTO
>     [email protected]
>     <mailto:[email protected]> / +1 303.947.7999
>     <tel:%2B1%20303.947.7999>
>
>     Assimilation Systems Limited
>     http://AssimilationSystems.com
>
>     Twitter Linkedin skype
>
>     -- 
>
>     Alan Robertson / CTO
>     [email protected]
>     <mailto:[email protected]>/ +1 303.947.7999
>     <tel:%2B1%20303.947.7999>
>
>     Assimilation Systems Limited
>     http://AssimilationSystems.com
>
>     Twitter <https://twitter.com/ossalanr> Linkedin
>     <https://www.linkedin.com/in/alanr> skype
>     <https://htmlsig.com/skype?username=alanr_unix.sh>
>
>     -- 
>     You received this message because you are subscribed to the Google
>     Groups "Neo4j" group.
>     To unsubscribe from this group and stop receiving emails from it,
>     send an email to [email protected]
>     <mailto:[email protected]>.
>     For more options, visit https://groups.google.com/d/optout.
>
>
> -- 
> You received this message because you are subscribed to the Google
> Groups "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected]
> <mailto:[email protected]>.
> For more options, visit https://groups.google.com/d/optout.


-- 

Alan Robertson / CTO
[email protected] <mailto:[email protected]>/ +1
303.947.7999

Assimilation Systems Limited
http://AssimilationSystems.com

Twitter <https://twitter.com/ossalanr> Linkedin
<https://www.linkedin.com/in/alanr> skype
<https://htmlsig.com/skype?username=alanr_unix.sh>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to