具有关系属性 neo4j 的过滤器

filter with relation attribute neo4j

我正在尝试使用关系属性过滤图表,但每次这样做时,我都会得到具有重复关系的图表。为了说明,我有以下查询:

MATCH p=(j:JOB {job_id:138})-->(S:URL)-[r]->(T)
WHERE r.job_id=138 And s.netloc <> t.netloc
RETURN s,r,t

这里我试图获取所有节点以及 S 和 T 之间的关系,其中节点 S 与特定作业相关。我也试图只显示具有属性 job_id == 138 的关系,因为有多个关系 r 但只有一个关系具有此属性。

每次执行查询时,我都会不断获取所有关系,就好像我没有 WHERE 子句一样。

我在查询中也试过这种方式

MATCH p=(j:JOB {job_id:138})-->(S:URL)-[r:VISITED {job_id:138} ]->(T)
WHERE S.netloc <> T.netloc
RETURN S,r,T

但是,我总是在有多个关系的地方得到相同的图表。 有趣的是,当我查看行视图时,我只看到正确的关系 r。只有 job_id=138 的。 这是一种错误还是什么???

Neo4j 2.2 包括各种改进,包括对 Neo4j 浏览器中的查询窗格的一些改进。其中之一是自动完成。这是通过图形窗格底部的一个小滑块开关控制的。这就是它所说的:你想自动完成你的图表,是或否。它允许您将浏览器切换为显示结果集中子图之间的所有关系,或仅显示您明确包含在“RETURN”语句中的关系。

根据我的经验,这是默认打开的,因此可以解释为什么您在 'graph' 视图中看到的结果不是您所期望的,而 'rows' 视图中的结果是预期的。通过将滑块移动到 Off.

将其关闭