首页 文章

neo4j中没有 Headers 的CSV文件

提问于
浏览
1

我有一个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代码中的任何更改都会受到赞赏 .

1 回答

  • 1

    这根本不起作用 - 如果你试图在neo4j中存储一个多维数组,你最终会看到这个:

    包含集合的集合无法存储在属性中 .

    所以,你有两个选择 . 你可以存储一个不是多维的平面数组,做这样的事情:

    MERGE (t:Timestamp { load: "thistle" }) 
    ON CREATE SET t.date: timestamp()
    SET t.data = t.data + split(line,",")
    

    第二种选择是根本不使用数组,这是我建议的 . 无论它是什么(你还没有真正指定),你需要一个更好的图形模型 . 考虑将这些值分解为多个节点以及它们之间的一组关系 . 这将使加载数据变得更加容易,并为您提供利用neo4j做得好并且更容易查询的好处 .

相关问题