2016-07-15 3 views
0

CSVファイルをアップロードしましたが、すでにNeo4jでノードと関係を定義しています。私は、基本的に、neo4jからの出力を生成するSpringからのCypherクエリを実行する例でプログラムベースを作成しようとしました。しかし、私はこのエラーに遭遇しています:SpringからNeo4jへのCypherクエリーの実行

Exception in thread "main" java.lang.NoSuchMethodError:org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(Ljava/io/File;)Lorg/neo4j/graphdb/GraphDatabaseService; 
at org.neo4j.connection.Neo4j.run(Neo4j.java:43) 
at org.neo4j.connection.Neo4j.main(Neo4j.java:37) 

私はおそらくエラーである可能性がありますか?

public class Neo4j{ 
public enum NodeType implements Label{ 
    Issues, Cost, Reliability, Timeliness; 
} 
public enum RelationType implements RelationshipType{ 
    APPLIES_TO 
} 

String rows = ""; 
String nodeResult; 
String resultString; 
String columnString; 
private static File DB_PATH = new File("/Users/phaml1/Documents/Neo4j/default.graphdb/import/"); 

public static void main(String[] args){ 
    Neo4j test = new Neo4j(); 
    test.run(); 
} 
void run() 
{ 

    clear(); 
    GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH); 

    try(Transaction tx1 = db.beginTx(); 
      Result result = db.execute("MATCH(b:Business)-[:APPLIES_TO]->(e:Time) RETURN b,e")) 
    { 
     while(result.hasNext()) 
     { 
      while (result.hasNext()) 
      { 
       Map<String,Object> row = result.next(); 
       for (Entry<String,Object> column : row.entrySet()) 
       { 
        rows += column.getKey() + ": " + column.getValue() + "; "; 
       } 
       rows += "\n"; 
     } 
    } 

    try (Transaction something = db.beginTx(); 
      Result result1 = db.execute("MATCH(b:Business)-[:APPLIES_TO]->(e:Time) RETURN b,e")) 
    { 
     Iterator<Node> n_column = result.columnAs("n"); 
     for(Node node: Iterators.asIterable(n_column)) 
     { 
      nodeResult = node + ": " + node.getProperties("Description"); 
     } 
     List<String> columns = result.columns(); 
     columnString = columns.toString(); 
     resultString = db.execute("MATCH(b:Business)-[:APPLIES_TO]->(e:Time) RETURN b,e").resultAsString(); 
    } 

    db.shutdown(); 
    } 
} 

private void clear(){ 
    try{ 
     deleteRecursively(DB_PATH); 
    } 
    catch(IOException e){ 
     throw new RuntimeException(e); 
    } 
} 

}それはのNeo4jのバージョンの競合のように見えます

答えて

0

: はここに私のコードです。

GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH); 

くださいのNeo4j 2倍で、引数として文字列(https://neo4j.com/api_docs/2.0.3/org/neo4j/graphdb/factory/GraphDatabaseFactory.html#newEmbeddedDatabase(java.lang.String)

を持っていますが、3倍のNeo4j内のファイルは、(http://neo4j.com/docs/java-reference/current/javadocs/org/neo4j/graphdb/factory/GraphDatabaseFactory.html#newEmbeddedDatabase-java.io.File-

SDNはおそらくdependency-としてのNeo4j 2.3.6に引っ張っていますあなたの依存関係ツリーをチェックし、Neo4jのバージョンを無効にする

関連する問題