[英]Neo4j: From given start node find all paths that touch all relations
使用Neo4j,我正在研究一個非常簡單的模型,該模型由五個節點A..E和它們之間的八個關系組成。 對於給定的起始節點,我想獲取所有涉及模型每個關系的路徑。 每個關系必須被觸摸一次。
我的代碼如下所示:
TraversalDescription traversal = Traversal.description().uniqueness( Uniqueness.RELATIONSHIP_GLOBAL);
Traverser t = traversal.traverse( getNode("C"));
for ( Path position : t )
{
if( position.length() == 8 ) {
System.out.println("Solution found");
}
}
我的問題是,遍歷器不會返回長度為8的所有可能路徑,而僅返回一個。
有沒有辦法告訴Traverser或TraversalDescription拋出所有路徑?
謝謝,奧利
您是否嘗試過使用Cypher查詢? 它可能像
start n = node:someIndex(name='C') match p=n-[RELATION*8]->(x) return x, length(p)
您也可以嘗試使用Evaluators ,它可以幫助您找到一定深度的路徑。
Evaluation evaluate(Path path) {
return path.length() == 8 ? Evaluation.INCLUDE_AND_PRUNE : Evaluation.EXCLUDE_AND_CONTINUE);
}
希望對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.