Neo4jrestclient index results return Iterable instead of node / url?

I am trying to follow the docs http://readthedocs.org/docs/neo4j-rest-client/en/latest/indices.html

I expect the index query to return node, but instead return "Iterable: Node":

db = GraphDatabase("http://localhost:7474/db/data")
playerIndex = db.nodes.indexes.get("index1")
playerNode = db.nodes.create(player_id = "Homer")
playerIndex.add("player_id", "Homer", playerNode)
print playerIndex["player_id"]["Homer"], "\n", playerNode

prints:

<Neo4j Iterable: Node>
<Neo4j Node: http://localhost:7474/db/data/node/157>

How can I get the results of a neo4jrestclient index query to return a Node like the second line?

+3
source share
2 answers

Index queries can return more than one node, so in this case it returns an iterator. To get the next item in an iterator, execute .next ():

print playerIndex["player_id"]["Homer"].next(), "\n", playerNode

See: https://github.com/versae/neo4j-rest-client/blob/master/neo4jrestclient/iterable.py

+3
source

@espeed, .next() node . :

for node in playerIndex["player_id"]["Homer"]:
    print node, "\n", playerNode

, [:]:

print playerIndex["player_id"]["Homer"][:], "\n", playerNode

, , . , - .

+3

All Articles