В Apache Jena есть способ добавить одну модель к другой, например, просто вызвав model1.add(model2)
.
Возможно ли это также с RDF4J, если вы интерпретируете модель просто как набор утверждений?
В Apache Jena есть способ добавить одну модель к другой, например, просто вызвав model1.add(model2)
.
Возможно ли это также с RDF4J, если вы интерпретируете модель просто как набор утверждений?
В Eclipse RDF4J используется модель. коллекция Java (похожая на Set
или List
). Таким образом, вы можете использовать стандартные операции сбора данных Java. Чтобы добавить две модели, просто выполните:
model1.addAll(model2);
Обратите внимание, что эта операция только добавляет операторы. Если model2
содержит какие-либо объявления пространств имен, которые вы хотите скопировать, вам придется сделать это отдельно. Например, чтобы просто скопировать объявления пространства имен model2
, перезаписав любые существующие объявления в model1
:
model2.getNamespaces().stream().forEach(model1::setNamespace);
Или, если вы хотите скопировать только те префиксы, для которых model1
еще не объявлено:
model2.getNamespaces().stream()
.filter(ns -> !model1.getNamespace(ns.getPrefix()).isPresent())
.forEach(model1::setNamespace);