我目前正在使用 Jena 和 TDB 用 Java 编写一些代码——在 Windows 7 上。
我希望能够将(大).trig 文件加载到 TDB 数据集中,以便查询更快一些。我目前拥有的代码是:
Dataset dataset = TDBFactory.createDataset(directoryPath);
Model tdb = dataset.getDefaultModel();
RDFDataMgr.read(tdb, inputFilePath);
try {
String theQuery = readFile(testQueryPath, Charset.defaultCharset());
Query query = QueryFactory.create(theQuery);
QueryExecution qe = QueryExecutionFactory.create(query, dataset);
com.hp.hpl.jena.query.ResultSet results = qe.execSelect();
// Output query results
ResultSetFormatter.out(System.out, results, query);
qe.close();
} catch (IOException e) {
e.printStackTrace();
}
我也试过:
FileManager.get().readModel( tdb, inputFilePath);
代替:
RDFDataMgr.read(tdb, inputFilePath);
我收到以下警告:
2014-06-13 13:02:26 WARN riot:77 - 只有三元组或默认图形数据预期:命名图形数据被忽略
我运行的 SPARQL 查询是:
前缀 xsd: http ://www.w3.org/2001/XMLSchema#
前缀直流: http: //purl.org/dc/elements/1.1/
前缀:<.>
选择 *
{
{ ?s ?p ?o } UNION { 图 ?g { ?s ?p ?o } }
}
也是同一个,但没有 UNION 和 GRAPH 的东西。
查询不返回任何内容。
有没有人看到明显的问题或知道如何将 .trig 文件加载到 TDB 中?