【问题标题】:BFS traversal using cypher使用密码进行 BFS 遍历
【发布时间】:2012-04-28 06:47:58
【问题描述】:

我需要使用 BFS 遍历有向无环图 (DAG)。 我通过 REST API 使用 neo4j,所以我与 neo4j 通信的主要方式是使用 Cypher。

使用 Cypher,我可以从起始节点检索一组所有路径,并从中派生 BFS 遍历。

我想知道是否有更简单的方法来使用 Cypher 进行 BFS 遍历。我期望的输出将是一组节点集。

【问题讨论】:

  • 我很乐意提供帮助,但我不太明白您想要完成什么。更多信息会有所帮助。
  • @Andres:最终我希望将 BFS 迭代器的遍历作为输出,按深度排序。
  • 难道你不能在长度之后对结果路径进行排序吗?也许从每个节点中取出最后一个节点,比如bit.ly/ItCCQY

标签: neo4j cypher graph-algorithm breadth-first-search


【解决方案1】:

难道你不能在长度之后对结果路径进行排序吗?也许从每个节点中取出最后一个节点,比如http://bit.ly/HF0p0t 之类的

start n=node(1) match p = n-[*1..]->m return p, length(p), last(p) order by length(p) asc

要按升序取回路径?

【讨论】:

  • 一个很好的起点,谢谢!现在我只需要弄清楚如何遍历给定类型的边缘,我很高兴......控制台+1;不知道它在那里......
  • 我在使用 last(p) 时遇到 SyntaxException:未知函数。我有版本 1.6.1。是不是太老了?你会推荐我安装什么版本?
  • 是的,这是 Neo4j 1.7,我认为这些功能在 1.6 中是没有的
猜你喜欢
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 2020-08-03
  • 1970-01-01
  • 2020-08-12
相关资源
最近更新 更多