2011-08-03 16 views
1

DBpediaデータセットからRDFのエントリをいくつか持つTDBデータベースをクエリしようとしていますが、後でもっと多くのエントリがあります。 How to use Jena TDB to store local version of Linked Movie Databaseにある提案を使用していますが、プログラムは何も返しません。 JavaからTDBを検索しても何も返さない

public static void main(String[] args) throws Exception { 
    String directory = "C:\\Users\\MyPC\\Fuseki\\Fuseki-0.2.0\\mydatasets"; 
    Dataset dataset = TDBFactory.createDataset(directory); 
    Model model = dataset.getDefaultModel(); 

    String queryString = "SELECT * WHERE { ?s ?p ?o }"; 
    Query query = QueryFactory.create(queryString); 
    QueryExecution qexec = QueryExecutionFactory.create(query, model); 
    try { 
     ResultSet results = qexec.execSelect(); 
     for (; results.hasNext();) { 
      QuerySolution soln = results.nextSolution(); 
      System.out.println(soln); 
      RDFNode x = soln.get("varName");  // Get a result variable by name. 
      Resource r = soln.getResource("VarR"); // Get a result variable - must be a resource 
      Literal l = soln.getLiteral("VarL"); // Get a result variable - must be a literal 
     } 
    } catch (Exception e) { 
     System.err.print("Error:"+e.getMessage()); 
    } finally { 
     qexec.close(); 
    } 
} 

for (; results.hasNext();) {ループのためにそれだけでtryブロックをスキップして、一番下にqexec.close()になると、デバッガが取得する

。私はFusekiから私は同じクエリを実行し、データのすべての行を取得することができるので、私は店のデータを知っている。

誰かが正しい方向に何らかの解決策を教えてもらえますか?私は成功せずにさまざまな方法を試みました。

答えて

4

あなたには結果がありません。追加してみてください:

System.err.printf("Model size is: %s\n", model.size); 

モデルがどのように大きな見るために:私は答えは0

どのようにデータをロードしたのである疑いがありますか? C:\\Users\\MyPC\\Fuseki\\Fuseki-0.2.0\\mydatasetsは正しい場所ですか?

+0

私の問題が見つかりました! 愚か私は店がある間違ったデータディレクトリに入った!ありがとう – salvu

関連する問題