Neo4j:避免返回子路径

时间:2016-06-07 11:09:15

标签: neo4j

我有这个简单的案例:

driver.findElement(By.xpath("//form[@id='registration-form']/div/div/input[@id='password']")

当我运行以下查询时:

CREATE
(P1:Person { fullname:'John Smith' }),
(P2:Person { fullname:'Mark Almond'}),
(P3:Person { fullname:'Mark Twain'})

CREATE
(P1)-[:Friend]->(P2),
(P2)-[:Friend]->(P3)

我显示了正确的图表。

然而,当我看到返回的"行"时,它会显示:

MATCH p=(a)-[*0..2]-()
WHERE ID(a) = 0 // john smith id
RETURN *

有没有办法只获得最长的路径,而不是其他的#34;组合"有1个或2个元素的路径?

1 个答案:

答案 0 :(得分:0)

将此项用于最长路径:

MATCH p=(a)-[*0..2]-()
WHERE ID(a) = 0 // john smith id
WITH a, p ORDER by length(p) desc LIMIT 1
RETURN *

如果路径规范使用方向(例如仅传出关系),则可以使用:

MATCH p=(a)-[*0..2]->(e)
WHERE ID(a) = 0 // john smith id
   AND NOT (e)-->()  // no further outgoing rels from end node
RETURN *