【问题标题】:neo4j - loading csv file and store line number as a propertyneo4j - 加载 csv 文件并将行号存储为属性
【发布时间】:2016-10-31 18:37:53
【问题描述】:

我有一个 csv 文件,其中的行按最重要的条目排序。我想将行号存储为属性以指示重要性。

例如:

Name
-----
abc
cde
xyz

我的 Cypher 如下所示:

LOAD CSV WITH HEADERS FROM
'file:///test.csv'  AS line 
WITH line

我想将 line.name 存储为节点名称和存储行号的新属性“rank”。前任。 abc 为 1,cde 为 2,xyz 为 3。

我怎样才能做到这一点?

【问题讨论】:

    标签: csv neo4j numbers cypher line


    【解决方案1】:

    使用行号作为输入不是一个好主意。强烈建议通过添加具有排名值的列来更改 csv 文件。

    作为练习,您可以使用临时节点来解决问题:

    MERGE (tmp:TEMPNODE) SET tmp.line = 0
    WITH tmp
    LOAD CSV WITH HEADERS FROM 'file:///data.csv'  AS line 
    WITH line
    MATCH (tmp:TEMPNODE) SET tmp.line = tmp.line + 1
    RETURN line, tmp.line as index
    

    或者,尝试使用apoc

    CALL apoc.load.csv('url',{sep:";"}) YIELD lineNo, list, map
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多