【发布时间】:2012-12-24 22:41:52
【问题描述】:
我正在尝试在 neo4j 版本 1.9M02 上运行以下密码查询
START me=node(2)
MATCH me-[:FOLLOWS]->friends
,friends-[fr:ADDED|STOCKS]->products
,me-[r?]->products
WHERE r is null
RETURN products._id
ORDER BY fr.CreatedOn DESC
SKIP 0
LIMIT 10
我希望得到所有由我的朋友添加或库存但不是我添加或库存的产品,按关系创建时间排序。此查询返回正确的结果,但具有重复的 products._id 值(一个用户添加了该产品,另一个用户将其储存了)。但我只需要这个 products._id 的一个实例,所以我尝试了
START me=node(2)
MATCH me-[:FOLLOWS]->friends
,friends-[fr:ADDED|STOCKS]->products
,me-[r?]->products
WHERE r is null
RETURN DISTINCT products._id
ORDER BY fr.CreatedOn DESC
SKIP 0
LIMIT 10
(为 products._id 添加了 DISTINCT)但是这次我得到了 Unknown identifier fr 错误。所以我在 RETURN 语句中添加了 fr
START me=node(2)
MATCH me-[:FOLLOWS]->friends
,friends-[fr:ADDED|STOCKS]->products
,me-[r?]->products
WHERE r is null
RETURN DISTINCT products._id,fr
ORDER BY fr.CreatedOn DESC
SKIP 0
LIMIT 10
此查询正常运行,但返回与以前一样的重复产品 ID。
最近几天我只在玩 neo4j,所以一点也不专业。如果有人可以在这里帮助我,我将不胜感激。
【问题讨论】:
-
你好,有一个console.neo4j.org的案例,所以我们可以举个例子来摆弄一下?
-
嗨彼得,很遗憾我没有任何例子。而且我想我需要很长时间才能将我的数据库导入到 console.neo4j。一个问题,如果我在这里发布我的 neo4j 服务器会不会有任何安全问题?这不是实时数据,只有开发数据。
标签: neo4j graph-databases cypher