首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Neo4j中的所有属性返回到不同的列中

如何将Neo4j中的所有属性返回到不同的列中
EN

Stack Overflow用户
提问于 2018-11-22 00:52:33
回答 2查看 1.1K关注 0票数 3

我知道,我们可以通过单击ready按钮将neo4j数据库导出为CSV文件。在我们实现这个cypher查询之后:

代码语言:javascript
复制
Match (n)
return n 

但是这个查询给了我们1行的所有属性。

我的问题是:在导出到CSV文件之前实现哪个Cypher查询,以便为我们提供独立列中的所有属性,即使节点不具有相同的属性。

例如:

代码语言:javascript
复制
node(0) has: name, age.
node(1) has: name, age.
node(2) has: name, address.
node(3) has: name, phone No.
node(4) has: name, age.
node(5) has: name, DoB.

我需要的结果是:

代码语言:javascript
复制
name      age      address      phone No      DoB
Tom       22
Smith     18
Lee                 123abc
Perry                            01234
Sara      40
Tom                                          11/11/2000

不是作为:

代码语言:javascript
复制
n
Tom, 22
Smith, 18
Lee, 123abc
Perry, 01234
Sara, 40
Tom, 11/11/2000
EN

回答 2

Stack Overflow用户

发布于 2018-11-22 03:27:37

要真正获得您想要的格式,您需要显式声明Cypher中的每一列

代码语言:javascript
复制
MATCH (n) RETURN n.name as name, n.age as age, n.address as address, n.'phone No' as 'phone no', n.DoB as DoB

一种更简单的替代方法是将属性导出为映射,然后在加载时设置它们。但是,如果没有apoc,再次设置标签也需要显式。

代码语言:javascript
复制
MATCH (n) RETURN PROPERTIES(n) as props, LABELS(n) as labels
-----
LOAD CSV ... as csv
// without apoc
CREATE(n)
SET n=csv.props
// or with apoc
CALL apoc.create.node(csv.labels, csv.props) YIELD node
票数 2
EN

Stack Overflow用户

发布于 2018-11-22 01:03:29

一种方法是使用apoc将其导出为CSV。

CALL apoc.export.csv.query("MATCH (n) return n", "/tmp/results.csv", {})

示例结果如下所示,您可以使用其他工具(如jq )将其转换为您喜欢的结构

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53416974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档