Могут ли субъекты всех утверждений в Модели быть заменены в Йене?

#jena

Вопрос:

Инструмент, который я использую, может выводить RDF/XML. Я хочу использовать это, но на основе содержимого я хочу создать более значимый URI. Я могу отредактировать ввод RDF/XML и заменить там URI темы, но к тому времени я еще не знаю желаемого URI. Все утверждения в результирующей Модели имеют одну и ту же Тему. Могу ли я заменить их за один раз после того, как модель будет сконструирована?

Ответ №1:

Самое простое решение, которое я придумал, состояло в том, чтобы просто создать новую модель и добавить все утверждения из старой модели с другой темой:

 Model model = ...  Model model2 = ModelFactory.createDefaultModel();  LocalDate date = getDate(model);  String uri = toUri(date, filename);  Resource subject = model.createResource(uri);  model.listStatements().forEach(stmt -gt; {  model2.add(subject, stmt.getPredicate(), stmt.getObject());  });