【发布时间】:2015-10-25 10:25:40
【问题描述】:
我想检索具有节点标签约束的节点之间的路径。路径中的所有节点都应该有一个特定的标签。 “amps”是我的标签 我的查询:
MATCH p=(a:amps{word:"review"})-->()-->()-->(b:amps{word:"nothing"})
RETURN p
在上面的查询中,我有两个中间节点。现在,我希望这两个节点也应该包含标签“amps”。
如何在标签上进行比较?
【问题讨论】:
我想检索具有节点标签约束的节点之间的路径。路径中的所有节点都应该有一个特定的标签。 “amps”是我的标签 我的查询:
MATCH p=(a:amps{word:"review"})-->()-->()-->(b:amps{word:"nothing"})
RETURN p
在上面的查询中,我有两个中间节点。现在,我希望这两个节点也应该包含标签“amps”。
如何在标签上进行比较?
【问题讨论】:
如果 ALL 路径中的节点应具有 amps 标签,并且您当前的查询可以通过两种方式执行此操作:
1) 在() 中指定标签:
MATCH p=(a:amps{word:"review"})-->(:amps)-->(:amps)-->(b:amps{word:"nothing"})
RETURN p
2) 用ALL 谓词指定它:
MATCH p=(a:amps{word:"review"})-->()-->()-->(b:amps{word:"nothing"})
WHERE ALL ( n IN nodes(p) WHERE "amps" IN labels(n) )
RETURN p
【讨论】: