2016-07-11 5 views
0

私は次のコードを持っています。これはWikipediaのインデックスからグラフを作成するためのものです。このコードは、Wikipediaグラフをgraph.dbディレクトリにインポートしようとしています。Eclipseで次のエラーを解決するには?

// Copyright (c) 2012 Mirko Nasato 
// 

package org.graphipedia.dataimport.neo4j; 

import java.util.HashMap; 
import java.util.Map; 

import org.neo4j.unsafe.batchinsert.BatchInserter; 
import org.neo4j.unsafe.batchinsert.BatchInserters; 

public class ImportGraph { 

    private final BatchInserter inserter; 
    private final Map<String, Long> inMemoryIndex; 

    public ImportGraph(String dataDir) { 
     inserter = BatchInserters.inserter(dataDir); 
     inserter.createDeferredSchemaIndex(WikiLabel.Page).on("title").create(); 
     inMemoryIndex = new HashMap<String, Long>(); 
    } 

    public static void main(String[] args) throws Exception { 
     if (args.length < 2) { 
      System.out.println("USAGE: ImportGraph <input-file> <data-dir>"); 
      System.exit(255); 
     } 
     String inputFile = args[0]; 
     String dataDir = args[1]; 
     ImportGraph importer = new ImportGraph(dataDir); 
     importer.createNodes(inputFile); 
     importer.createRelationships(inputFile); 
     importer.finish(); 
    } 

    public void createNodes(String fileName) throws Exception { 
     System.out.println("Importing pages..."); 
     NodeCreator nodeCreator = new NodeCreator(inserter, inMemoryIndex); 
     long startTime = System.currentTimeMillis(); 
     nodeCreator.parse(fileName); 
     long elapsedSeconds = (System.currentTimeMillis() - startTime)/1000; 
     System.out.printf("\n%d pages imported in %d seconds.\n", nodeCreator.getPageCount(), elapsedSeconds); 
    } 

    public void createRelationships(String fileName) throws Exception { 
     System.out.println("Importing links..."); 
     RelationshipCreator relationshipCreator = new RelationshipCreator(inserter, inMemoryIndex); 
     long startTime = System.currentTimeMillis(); 
     relationshipCreator.parse(fileName); 
     long elapsedSeconds = (System.currentTimeMillis() - startTime)/1000; 
     System.out.printf("\n%d links imported in %d seconds; %d broken links ignored\n", 
       relationshipCreator.getLinkCount(), elapsedSeconds, relationshipCreator.getBadLinkCount()); 
    } 

    public void finish() { 
     inserter.shutdown(); 
    } 

} 

ただし、このコードを実行するたびに、次のエラーが発生しています。

このjavadocツールに基づいて
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The method inserter(File) in the type BatchInserters is not applicable for the arguments (String) 

    at org.graphipedia.dataimport.neo4j.ImportGraph.<init>(ImportGraph.java:36) 
    at org.graphipedia.dataimport.neo4j.ImportGraph.main(ImportGraph.java:48) 

答えて

1

https://neo4j.com/docs/java-reference/current/javadocs/org/neo4j/unsafe/batchinsert/BatchInserters.html

BatchInsertersファイルではなく、 "パス/に/ DIR" の文字列を必要とします。ファイルオブジェクトを作成して渡す必要があります。

コード: 上部にインポートを追加します。

import java.io.File 

は、その後、私はEclipse環境でこれを行うべきか、次の行私は、Javaに新しいです。この

inserter = BatchInserters.inserter(new File(dataDir)); 
+0

inserter = BatchInserters.inserter(dataDir); 

を交換しますか? – Technologic27

関連する問題