Neo4j:每个查询只需要一个语句但得到:3

时间:2017-12-16 20:11:24

标签: neo4j cypher neo4j-browser neo4j-desktop

我正在进行Neo4j动手练习,然后参加UCSD视频。我正在剪切和粘贴为练习提供的脚本。我刚刚为所提供的脚本遇到问题,因为该图表不包含指定节点的直接邻域:

contenteditable="true"

返回:

  

预计每个查询只有一个语句,但得到了:3

当我运行前8行时,Neo4j返回图形,包含预期的节点和边。但是当我添加后续查询时,错误消息将开始弹出。

3 个答案:

答案 0 :(得分:6)

如果您正在使用Neo4j Browser运行那些CYPHER,请确保启用了多语句查询编辑器。您可以通过单击复选框在浏览器设置中启用它。 enter image description here

答案 1 :(得分:4)

Neo4j Browser一次只能运行一个查询。你正试图运行3:

查询1:

match (d {Name:'D'})-[:TO]-(b)
with collect(distinct b.Name) as neighbors
match (n)-[r:TO]->(m)
where
not (n.Name in (neighbors+'D'))
and
not (m.Name in (neighbors+'D'))
return n, r, m;

查询2

match (d {Name:'D'})-[:TO]-(b)-[:TO]->(leaf)
where not((leaf)-->())
return (leaf);

查询3:

match (d {Name:'D'})-[:TO]-(b)<-[:TO]-(root)
where not((root)<--())

return (root)

您必须单独复制,粘贴和运行这3个查询。

这是Neo4j浏览器Github Repo中的open issue,关于在浏览器中一次支持多个Cypher语句,但这是专门针对不返回任何数据的语句。

答案 2 :(得分:3)

在使用在线沙箱时,一种对我有用的快速解决方案(也在neo4j.com/graphacademy/online-training/中提到过):

开始之前

启用多语句查询编辑器

  1. 单击Neo4j浏览器左下角的浏览器设置按钮

    settings icon

  2. 确保已选中启用多语句查询编辑器复选框:

    setting option image