我试图弄清楚在返回一组主要项目时查询其他可选关系的正确方法是什么(或者是否有更惯用的方法来完成同样的事情)。
我在http://console.neo4j.org/?id=747b3x设置了一个示例。我有三个节点,其中一个有两个标签和一个 IS_A 东西。我想查询所有项目并返回项目本身以及任何相关的标签和事物。
我试图创建的结果集如下:
Item Tags IS
------- ---------- --------
1 ['A', 'B'] null
2 null null
3 null 'foo'
这是我的查询当前的样子:
MATCH (i:Item)
WHERE HAS(i.name) // in reality, statements to narrow down i
WITH i
MATCH (i)-[?:HAS]->(t:Tag), (i)-[?:IS_A]->(s:Thing)
RETURN i.name AS item, COLLECT(t.name) AS tags, s.name AS is
在控制台中,这给出了一个空指针异常,但在我的服务器上,它似乎只返回具有标签和与之关联的事物的项目。实现这一目标的最佳方法是什么?
谢谢!