我必须为来自 DBpedia 的一组 1500 个实体序列化一些特定属性(大约十部电影的属性)。因此,对于每个实体,我运行一个 sparql 查询以检索它们,然后,对于每个 ResultSet,我使用默认的 apache jena tdb API 将所有数据存储在 tdb 数据集中。我为每个属性创建一个语句,并使用以下代码添加它们:
public void addSolution(QuerySolution currSolution, String subjectURI) {
if(isWriteMode) {
Resource currResource = datasetModel.createResource(subjectURI);
Property prop = datasetModel.createProperty(currSolution.getResource("?prop").toString());
Statement stat = datasetModel.createStatement(currResource, prop, currSolution.get("?value").toString());
datasetModel.add(stat);
}
}
我该怎么做才能在单个数据集上执行多个添加操作?我应该使用什么策略?
编辑:
我能够毫无错误地执行所有代码,但 TDBFactory 没有创建任何文件。为什么会发生这种情况?我认为我需要 Joshua Taylor 的帮助