我需要使用Python27遍歷neo4j圖。如何用Python爲neo4j定義Traverse?
從我所看到的是我可以定義一個穿越和手動包括計算器和我有類似的東西。
def my_evaluator(path):
if (path.end['type'] == 'STOP') or (path.end['type'] == 'BUS_STOP'):
return Evaluation.EXCLUDE_AND_CONTINUE
else:
return Evaluation.INCLUDE_AND_CONTINUE
def get_passengers_with_bus_stop(db, start_node):
nodes = []
traverser = db.traversal()\
.relationships('STOPS_AT', INCOMING)\
.relationships('HAS_BEEN', OUTGOING)\
.evaluator(my_evaluator)\
.traverse(start_node)
# Name
for n in traverser.nodes.iterator():
nodes.append(n['name'])
return nodes
但是,從返回的節點列表中,我想排除第一個節點,有時停在某些Deepth。
我該如何使用定義de neo4j手冊的遍歷?
有時候我找到了一個演示文稿,解釋了另一種定義遍歷的方法,但是這樣不能正確運行,我收到了Python的錯誤消息。我需要安裝其他東西嗎?
class Users(neo4j.Traversal): # Traversals ! queries in Neo4j
types = [ neo4j.INCOMING.WORKS_AS,neo4j.OUTGOING.BELONGS_TO]
order = neo4j.BREADTH_FIRST
stop = neo4j.STOP_AT_END_OF_GRAPH
returnable = neo4j.RETURN_ALL_BUT_START_NODE
我如何定義Neo4j的一個導線用Python來:
- 排除的第一個節點
- 停在一些走向深沉
也許我應該用subtraversals?我如何定義它們?
更具體地說,我想在此圖上定義一個遍歷,從節點「我」在這裏到節點「-1」或節點「+1」單獨。該圖定義了關係的方向和它們的名稱。