Neo4j - 使用标题加载CSV的语法

时间:2015-06-16 15:13:35

标签: neo4j

我刚开始使用Neo4j,并且一直在尝试使用CSV中的小样本数据在Neo4j社区中创建我的第一个项目。我一直收到无效的输入/语法错误(见下图)。

问题可能出在几个地方:

  1. 我可能没有正确设置项目
  2. 我可能没有正确位置的文件
  3. 我可能没有正确使用语法
  4. 以下是我一直用来尝试加载文件的Cypher:

    LOAD CSV WITH HEADERS FROM 'C:\Users\Diana\Documents\Nattosphere\Natto_Sample.csv' AS line
    CREATE (n: Natto_Variety{Product_UID: line.Product_UID, Product_Manufacturer: line.Product_Manufacturer, Product_Weight_g: line.Product_Weight_g, Product_Flavoring: line.Product_Flavoring})   
    

    我尝试了几种方法,并创建了一个简化的文件,但每次都得到相同的错误:

    Invalid input 's': expected org$neo4j$cypher$internal$compiler$v2_2$parser$Strings$$HexDigit (line 1, column 33 (offset: 32))
    "LOAD CSV WITH HEADERS FROM 'C:\Users\Diana\Documents\Nattosphere\Natto_Sample.csv' AS line"
    

    在GUI的底部,另一个错误是:

    "Neo.ClientError.Statement.InvalidSyntax"
    

    知道这里可能会发生什么吗?

    -D

4 个答案:

答案 0 :(得分:0)

我认为你必须这样做:

LOAD CSV WITH HEADERS FROM 'file:C:/Users/Diana/Documents/Nattosphere/Natto_Sample.csv' 

如果不起作用,请尝试:

LOAD CSV WITH HEADERS FROM 'file://C:\Users\Diana\Documents\Nattosphere\Natto_Sample.csv' 

请参阅:http://neo4j.com/developer/guide-import-csv/

答案 1 :(得分:0)

首先,你必须在设置dbms.security.allow_csv_import_from_file_urls时设置为true

其次,你必须设置neo4J将在dbms.directories.import中搜索csv的位置

设置这些项目时,必须将csv文件复制到我们设置dbms.directories.import的文件夹中

后来在Cypher:

LOAD CSV FROM' file:///Natto_Sample.csv'

*如果您将文件夹放入文件夹...请使用此字符/路由您的网址

答案 2 :(得分:0)

CSV Import Guide中所述,使用标头加载csv的语法是:

LOAD CSV WITH HEADERS FROM "file-url" AS line

其中本地文件的file-url是:

file:///data.csv 

将csv文件放在导入目录中,这应该有效

答案 3 :(得分:-1)

您不需要编写C:reference:

LOAD CSV WITH HEADERS FROM 'file:/Users/Diana/Documents/Nattosphere/Natto_Sample.csv'