我目前正在用Java编写一些代码,在Windows 7上使用Jena和TDB。
我希望能够将一个(大型) .trig文件加载到that中,这样查询就会更快一些。我目前的代码是:
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警告暴乱:77-只有三倍或默认的预期图形数据:忽略命名图形数据
我运行的SPARQL查询如下:
前缀xsd:http://www.w3.org/2001/XMLSchema# 前缀dc:http://purl.org/dc/elements/1.1/ 前缀:<.> 选择* { {s ?p ?o }u{图?g ?s ?p ?o }}
也是一样的,但是没有联盟和图形。
查询不返回任何内容。
是否有人看到明显的问题或知道如何将.trig文件加载到TDB中?
发布于 2014-06-14 12:16:11
您只需读入数据集:
RDFDataMgr.read(dataset, inputFilePath);在内部写事务最好在退出之前调用TDB.sync(dataset)。
您每次运行时都会加载代码。如果文件很大,请在运行查询程序之前使用tdbloader (批量加载程序)。
https://stackoverflow.com/questions/24213961
复制相似问题