我很努力地找到一种方法来查找两个节点之间的所有路径(到最大长度),同时通过对将要成为关联对象的Neo4j进行排序来控制路径探索探索(由他们的一个属性)。Neo4j Cypher查找探索排序关系的所有路径
所以要清楚,可以说我想找到两个节点K之间的最佳路径,直到最大长度M.查询会像:
match (source{name:"source"}), (target{name:"target"}),
p = (source)-[*..M]->(target)
return p order by length(p) limit K;
到目前为止好。但让我们说路径的关系有一个叫做“优先级”的属性。我想要的是编写一个查询,告诉Neo4j路径探索的每一步,首先应该探索哪些关系。
我知道,当我使用java库和嵌入式数据库(通过实现PathExpander接口并将它作为Java中的GraphAlgoFactory.allSimplePaths()函数的输入)可能)。 但现在我试图找到一种方法,在使用Bolt或REST API的服务器模式数据库访问中执行此操作。
有没有办法在服务器模式下做到这一点?或者在服务器模式下访问图形时可能使用Java库函数?
怎么样'APOC'? https://github.com/neo4j-contrib/neo4j-apoc-procedures#graph-algorithms-work-in-progress –
我检查了它,它不会做我想要的,但无论如何感谢! –