Jena TDB для хранения и запроса с использованием API

Я новичок в Jena-TDB и SPARQL, так что это может быть глупый вопрос. Я использую tdb-0.9.0 в Windows XP.

Я создаю модель TDB для моегоtrail_1.rdf файл. Мое понимание здесь (поправьте меня, если я ошибаюсь) заключается в том, что следующий код будет считывать данный rdf-файл в модели TDB, а также сохраняет / загружает (не уверен, какое слово лучше) модель в данном каталоге.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 каталог, я должен быть в состоянии выполнить запрос к нему в какой-то более поздний момент времени.

Таким образом, чтобы запросить магазин TDB вD:\Project\Store_DB\data1\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) ;

Что я делаю неправильно? Что-то не так с моим пониманием, о котором я упоминал выше?

Ответы на вопрос(2)

Ваш ответ на вопрос