我有一个CSV文件,其格式类似于下面的
1,2,3,4,5,6
7,8,9,1,2,3
4,5,6,7,8,9
1,2,3,4,5,6
7,8,9,1,2,3
4,5,6,7,8,9
然后我使用了以下Cypher查询
CREATE CONSTRAINT ON (t:Timestamp) ASSERT t.date IS UNIQUE;
LOAD CSV FROM "file:///example.csv" AS line
MERGE (t:Timestamp) ON CREATE SET t.date: timestamp(), data:split(line,",")})
所以基本上我想将CSV文件中的数据存储为数组列表 应出现以下json格式
{
"date" = "271020170000"
"data" = [[1,2,3,4,5,6],
[7,8,9,1,2,3],
[4,5,6,7,8,9],
[1,2,3,4,5,6],
[7,8,9,1,2,3],
[4,5,6,7,8,9]]
}
还有一个问题是关于时间戳,它给了我错误。我想在上传新数据时显示时间戳。
我的Cypher代码中的任何更改都会受到赞赏。
答案 0 :(得分:1)
这根本不起作用 - 如果你试图在neo4j中存储一个多维数组,你最终会看到这个:
包含集合的集合无法存储在属性中。
所以,你有两个选择。你可以存储一个不是多维的平面阵列,做这样的事情:
MERGE (t:Timestamp { load: "thistle" })
ON CREATE SET t.date: timestamp()
SET t.data = t.data + split(line,",")
第二个选项是根本不使用数组,这是我建议的。无论它是什么,你都需要一个更好的图形模型(你还没有真正指定)。考虑将这些值分解为多个节点以及它们之间的一组关系。这将使加载数据变得更加容易,并为您提供利用neo4j做得好并且更容易查询的好处。