在Apache Jena中,有一种方法可以通过调用model1.add(model2)
将一个模型附加到另一个模型。
如果您将模型解释为一组语句,是否也可以使用RDF4J?
答案 0 :(得分:1)
在Eclipse RDF4J中,Model是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);