我有一个带有12个输入和4个输出的Neo4j图,我正在尝试使用Java Traverser编写一个查询,该查询将返回从输入节点到输出节点的14条唯一路径。我尝试过的所有查询只返回14条路径的子集。例如,下面的代码返回4个路径,但是其他10个路径都停止输出的1个节点。
RelationshipType relType = RelationshipTypes.EDGE;
TraversalDescription td = new TraversalDescriptionImpl()
.depthFirst()
.relationships(relType, Direction.OUTGOING);
for (Node node : inputs){
Traverser tv = td.traverse(node);
Iterator<Path> iter = tv.iterator();
// ... print path
}
我也尝试过唯一性和深度设置,没有效果。
下面的查询使用Web界面返回所有14条路径,但是当我使用ExecutionEngine类时,我只返回13条路径。
START s=node(*)
MATCH (s)-[p:EDGE*]->(c)
WHERE s.type! = "INPUT" AND c.type! = "OUTPUT"
RETURN p
如何使用Java API获取所有唯一路径?
答案 0 :(得分:0)
START s=node(*)
WHERE s.type = "INPUT"
MATCH (s)-[p:EDGE*]->(c)
WHERE c.type = "OUTPUT"
RETURN p;
这有点类似于你所拥有的。它根据您提供的Neo4j控制台示例返回14个条目。