Я пытаюсь изменить URI ресурса в модели. Я использую ResourceUtils.renameResource он работает, но когда я сохраняю модель в файл, новый URI расширяется (имеет форму <http://prefix.com/resource>
вместо prefix:resource
) даже правда есть приставка в модели (@prefix prefix: <http://prefix.com/>
). Есть ли способ заставить Jena использовать префикс при замене URI ресурса или метод обновления модели, перезаписывая каждый URI, используя короткую версию с «prefix:», когда это возможно?
ресурс переименования apache jena не проверяет префикс
Ответы (1)
Это не сработало, потому что в новом URI после префикса были символы вроде «/» и «#». Решил заменой этих символов тире "-".
person
Giuseppedes
schedule
20.06.2017
Model model = ModelFactory.createDefaultModel();
чемmodel.setNsPrefix(PREFIX, NAMESPACE);
и когда я добавляю ресурс:Resource res = model.createResource(NAMESPACE + RESOURCE_ID); res.addProperty(someProperty, someObject);
Если я печатаю модель в файле, res записывается как prefix: resId, но когда я используюResourceUtils.renameResource(res, NAMESPACE + NEW_ID);
Когда я печатаю модель в файле, res расширяется. Я знаю, что jena работает с расширенным URI, но я бы хотел использовать префикс: чтобы сделать файл более читабельным. - person Giuseppedes   schedule 31.05.2017