Jena-TDBとSPARQLの両方が新しく、愚かな質問かもしれません。私はWindows XPでtdb-0.9.0を使用しています。Jena TDBはAPIを使用して保存してクエリを実行します
trail_1.rdf
ファイルのTDBモデルを作成しています。ここで私が理解していれば(私が間違っていれば正しい)、次のコードはTDBモデルの与えられたrdfファイルを読み込み、指定されたディレクトリのモデルをストア/ロードする(より良い言葉がわからない)。D:\Project\Store_DB\data1\tdb
:
// open TDB dataset
String directory = "D:\\Project\\Store_DB\\data1\\tdb";
Dataset dataset = TDBFactory.createDataset(directory);
Model tdb = dataset.getDefaultModel();
// read the input file
String source = "D:\\Project\\Store_DB\\tmp\\trail_1.rdf";
FileManager.get().readModel(tdb, source);
tdb.close();
dataset.close();
この理解は正しいですか?私の理解あたりとして
今モデルはD:\Project\Store_DB\data1\tdb
ディレクトリに保存されているので、私は時間のいくつかの後の時点で、それにクエリを実行することができるはずです。
のでD:\Project\Store_DB\data1\tdb
でTDBストアを照会するために、私は、次の試してみましたが、それは何も出力しません:
String directory = "D:\\Project\\Store_DB\\data1\\tdb" ;
Dataset dataset = TDBFactory.createDataset(directory) ;
Iterator<String> graphNames = dataset.listNames();
while (graphNames.hasNext()) {
String graphName = graphNames.next();
System.out.println(graphName);
}
私もまた、何も印刷されませんでしたこの、試してみました:
String directory = "D:\\Project\\Store_DB\\data1\\tdb" ;
Dataset dataset = TDBFactory.createDataset(directory) ;
String sparqlQueryString = "SELECT (count(*) AS ?count) { ?s ?p ?o }" ;
Query query = QueryFactory.create(sparqlQueryString) ;
QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ;
ResultSet results = qexec.execSelect() ;
ResultSetFormatter.out(results) ;
を私は間違って何をしていますか?上記の私の理解に間違いはありますか?