过滤关系属性neo4j

时间:2015-04-20 11:19:32

标签: neo4j cypher graph-databases

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

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的那些。 这是一种bug还是什么?

1 个答案:

答案 0 :(得分:2)

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

根据我的经验,这是默认开启的,因此可以解释为什么您在“图表”视图中看到了您不期望的结果,而“行”视图中的结果是预期的。将滑块移动到Off

将其关闭