模型中所有语句的主题可以在 Jena 中替换吗?
Can the subjects of all statements in a Model be replaced in Jena?
我用的一个工具可以输出RDF/XML。我想使用它,但基于我想构建更有意义的 URI 的内容。我可以编辑输入 RDF/XML 并在那里替换主题 URI,但到那时我还不知道所需的 URI。结果模型中的所有语句都具有相同的主题。模型建好后可以一次性更换吗?
我想到的最简单的解决方案就是创建一个新模型,然后添加旧模型中具有不同主题的所有语句:
Model model = ...
Model model2 = ModelFactory.createDefaultModel();
LocalDate date = getDate(model);
String uri = toUri(date, filename);
Resource subject = model.createResource(uri);
model.listStatements().forEach(stmt -> {
model2.add(subject, stmt.getPredicate(), stmt.getObject());
});
我用的一个工具可以输出RDF/XML。我想使用它,但基于我想构建更有意义的 URI 的内容。我可以编辑输入 RDF/XML 并在那里替换主题 URI,但到那时我还不知道所需的 URI。结果模型中的所有语句都具有相同的主题。模型建好后可以一次性更换吗?
我想到的最简单的解决方案就是创建一个新模型,然后添加旧模型中具有不同主题的所有语句:
Model model = ...
Model model2 = ModelFactory.createDefaultModel();
LocalDate date = getDate(model);
String uri = toUri(date, filename);
Resource subject = model.createResource(uri);
model.listStatements().forEach(stmt -> {
model2.add(subject, stmt.getPredicate(), stmt.getObject());
});