py2neo递归匹配
py2neo recursive matching
我正在玩 py2neo,现在我正在寻找使用递归查找特定节点的所有子节点的最方便的方式。
我正在寻找的是以下想法:
MATCH (:LabelA {id:"C"})-[:to*]->(m:LabelA) RETURN n;
这就是它在 cypher 中的样子。我知道这个查询可以是 运行 和 graph.run() 并通过这个查询。但我想知道是否有人知道是否可以使用 graph.match() 代码?
可以通过以下方式找到第一个节点:
sNode = graph.nodes.match(id="C").first()
firstNode = graph.match((sNode, ), r_type="to")
我希望有一个结构,例如(我试过这个但不起作用:)):
sNode = graph.nodes.match(id="C").first()
nodesFound = graph.match((sNode, ), r_type="to*")
#do something with nodesFound
那将 return 递归地找到列表中的所有节点。
有人有这方面的经验吗?
无法使用匹配器执行此操作。你必须使用 Cypher。
我正在玩 py2neo,现在我正在寻找使用递归查找特定节点的所有子节点的最方便的方式。
我正在寻找的是以下想法:
MATCH (:LabelA {id:"C"})-[:to*]->(m:LabelA) RETURN n;
这就是它在 cypher 中的样子。我知道这个查询可以是 运行 和 graph.run() 并通过这个查询。但我想知道是否有人知道是否可以使用 graph.match() 代码?
可以通过以下方式找到第一个节点:
sNode = graph.nodes.match(id="C").first()
firstNode = graph.match((sNode, ), r_type="to")
我希望有一个结构,例如(我试过这个但不起作用:)):
sNode = graph.nodes.match(id="C").first()
nodesFound = graph.match((sNode, ), r_type="to*")
#do something with nodesFound
那将 return 递归地找到列表中的所有节点。
有人有这方面的经验吗?
无法使用匹配器执行此操作。你必须使用 Cypher。