2016-07-11 4 views
0

다음 코드를 가지고 있습니다. 위키 백과 인덱스에서 그래프를 만드는 것입니다. 이 코드는 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의 https://neo4j.com/docs/java-reference/current/javadocs/org/neo4j/unsafe/batchinsert/BatchInserters.html

BatchInserters을 바탕으로

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

는 파일이 아니라 "경로 /로가/DIR"문자열이 필요합니다. 파일 오브젝트를 작성하여 전달해야합니다.

코드 : 맨 위에 가져 오기를 추가하십시오.

import java.io.File 

그럼 내가 Eclipse 환경에서이 작업을 수행하는 방법을, 다음 줄 내가 자바에 새로운 오전이

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

inserter = BatchInserters.inserter(dataDir); 

를 대체? – Technologic27

관련 문제