java - 如何在java中用cypher加载CSV文件?

标签 java neo4j cypher

我是密码新手。我想在 java 中使用 cypher 加载一个 csv。我用谷歌搜索并找到了以下内容

LOAD CSV WITH HEADERS FROM "http://neo4j.com/docs/2.3.1/csv/import/movies.csv" AS csvLine
MERGE (country:Country { name: csvLine.country })
.....

如何使用此加载 csv 查询到 java 代码中。我试过这样的事情。

import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;

import javax.naming.spi.DirStateFactory.Result;

import org.neo4j.cypher.javacompat.ExecutionEngine;
import org.neo4j.cypher.javacompat.ExecutionResult;
import org.neo4j.graphdb.Direction;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.RelationshipType;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.kernel.impl.util.FileUtils;
public class test_new {


private static final String DB_PATH = "C:...../default.graphdb";
public static void main( final String[] args ) throws IOException
{
    GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH );



    Transaction tx1 = db.beginTx();
    try{

        ExecutionEngine engine = new ExecutionEngine(db);
      ExecutionResult result = engine.execute("LOAD CSV WITH HEADERS FROM "C:/..../Mock_data.csv" AS csvLine ");

        tx1.success();
    } finally {
        tx1.close();

    }
    db.shutdown();
}

}

但是我不确定这条线。

 ExecutionResult result = engine.execute("LOAD CSV WITH HEADERS FROM "C:/..../Mock_data.csv" AS csvLine ");

它抛出语法错误。

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Syntax error, insert ")" to complete MethodInvocation
Syntax error, insert ";" to complete LocalVariableDeclarationStatement

我自己也不知道语法结构。如何加载csv路径?

最佳答案

纠正Java语法错误,需要对字符串中间的双引号进行转义;否则看起来你的字符串文字在路径周围的引号处结束:

"LOAD CSV WITH HEADERS FROM \"C:/..../Mock_data.csv\" AS csvLine "

关于java - 如何在java中用cypher加载CSV文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34745005/

相关文章:

java - 如何在 Java 中从 Linux 打开 UNC 路径?

neo4j - 如何在保持节点关系的同时重命名标签,并将其合并到另一个标签中?

shell - Neo4j - 通过 Neo4jShell 将密码查询文件结果导出到 .csv 或 .txt 文件

scala - 使用 scala 检索与给定节点相关的 neo4j 节点

Python Neo4j self 引用

csv - 仅从 Neo4j 中的大型 csv 文件加载少量样本

java - Spring数据Neo4j(SDN): Nested objects not populated by cypher

java - 如何从 URL 在 webView 中加载 PDF?

java - 为什么 Pentaho Report Designer 将名为 "ce"的参数添加到报表的数据库连接中?

java - 希望以更清洁/更有效的方式将字符串与整数相关联