Neo4j,Cypher:删除查询更改结果的方向,但关系只有一个方向。

时间:2014-09-22 23:18:27

标签: neo4j cypher

我正在使用Neo4j + Cypher构建内容推荐引擎。我正在使用Neo4j 2.1.2企业

我导入的数据代表访问过网页的用户。我的图表上唯一的关系是(用户) - [:VIEWED] - >(页面)。以下查询旨在显示其他用户也查看过的每个页面的页面标识符pid(唯一属性),以及所有这些用户查看该页面的次数。因此,对于给定页面,我想查看用户查看了哪些其他页面,以及每个页面查看了多少用户。

MATCH (p:Page)<--(u:User)-->(p2:Page) 
WHERE (p.pid=501515) 
RETURN p.pid, p2.pid, count(u) 
ORDER BY count(u) desc 
LIMIT 3

这不会返回任何结果。但是,如果我只是删除方向,我会按预期得到三个结果。

MATCH (p:Page)--(u:User)--(p2:Page) 
WHERE (p.pid=501515) 
RETURN p.pid, p2.pid, count(u) 
ORDER BY count(u) desc 
LIMIT 3

返回我期望的值。 (我可以使用其他查询验证数据)。

为什么这些查询的结果不同?

0 个答案:

没有答案