TraversalsΒΆ
The traversals framework is supported too with the same syntax of neo4j.py, but with some added issues.
Regular way:
>>> n1.relationships.create("Knows", n2, since=1970)
<Neo4j Relationship: http://localhost:7474/db/data/relationship/36009>
>>> class TraversalClass(gdb.Traversal):
...: types = [
...: client.All.Knows,
...: ]
...:
>>> [traversal for traversal in TraversalClass(n1)]
[<Neo4j Node: http://localhost:7474/db/data/node/15880>]
Added way (the types of relationships are ‘All’, ‘Incoming’, ‘Outgoing’):
>>> n1.relationships.create("Knows", n2, since=1970)
<Neo4j Relationship: http://localhost:7474/db/data/relationship/36009>
>>> n1.traverse(types=[client.All.Knows])[:]
[<Neo4j Node: http://localhost:7474/db/data/node/15880>]
For getting a paginated traversal is only needed one of the next parameters: ‘paginated’ to enable the pagination, ‘page_size’ to set the size of returned page, and ‘time_out’ to establish the lease time that the server will wait for. After set any of this parameters, the traversal call will return an iterable object of traversals called ‘PaginatedTraversal’:
>>> pages = n1.traverse(types=[client.All.Knows], stop=stop, page_size=5)
>>> pages
<PaginatedTraversal object at 0x25a5150>
>>> [n for n in [traversal for traversal in pages]]
[<Neo4j Node: http://localhost:7474/db/data/node/15880>]