2016-09-06 47 views
1

匹配和返回路径应按路径顺序返回节点及其之间的关系。如何输出包含关系类型的路径?

根据Cypher文档,这应该包括关系类型。如果你看一下developer docs,并搜索与return p结尾的查询,返回的模式总是包括每个关系的类型,如:

[Node[2]\{name:"Michael Douglas"\},:ACTED_IN[5]\{role:"President Andrew Shepherd"\},Node[6]\{title:"The American President"\}] 

然而,在Neo4j的3.0.3浏览器(并假设其他版本,也没有看到3.0.4更改日志中的修复),关系的任何输出(无论是作为路径的一部分还是其他)都只返回关系属性,或者如果没有任何属性,则返回空对象{} 。类型不输出都:

[{name: Black}, {}, {name: Red}, {}, {name: Yellow}, {}, {name: Black}, {}, {name: Blue}] 

我可以输出加入到返回单独的关系,另一列:

EXTRACT(rel in RELS(path) | TYPE(rel)) as relType 

但我真正想要的是路径输出(节点列表和每个节点之间的关系),但包括关系类型。

是否有一些选项可以打开,或者某些其他功能或查询解决方法输出此?

回答

1

在浏览器中,您可以点击Code选项卡上(在响应面板的左手边,下面GraphRowsText)看到完整的Response(右边的Commit Transaction盒)。

或者,您可以使用每个查询面板顶部的下载图标,在JSON(或CSV)文件中下载完整响应。

完整响应包含所有关系数据和元数据(包括关系类型)。

[增订]

Code窗格显示POST请求的Web浏览器的应用程序,使得对Neo4j的交易终端。因此,该窗格中的结果实际上与任何客户端针对相同请求收到的结果相同。

但是,当您自己进行调用时,可以通过修改“提交事务”的有效内容中的可选参数来减少返回的数据量(其中大部分是冗余的或可能不感兴趣)。例如,您可以尝试仅使用“图形”元素指定resultDataContents数组,并完全省略“includeStats”参数。响应基本上只包含“图形”数据元素。

+0

确实有关系数据存在,并且在以编程方式处理时可能会有所帮助,但就一目了然的人眼可读的表示而言,它并不完全适合账单。关系仍然与输出中的节点分离。此外,关系类型在图形部分,而不是元部分。当不从浏览器查询时,该部分会返回吗? – InverseFalcon

+0

查看我更新的答案,了解一些提示。 – cybersam