Java 如何在RDF4J(以前的Sesame)中合并两个或多个模型?
例如,在ApacheJena中,可以通过调用Java 如何在RDF4J(以前的Sesame)中合并两个或多个模型?,java,rdf,jena,sesame,rdf4j,Java,Rdf,Jena,Sesame,Rdf4j,例如,在ApacheJena中,可以通过调用model1.add(model2)将一个模型附加到另一个模型 在将模型解释为一组语句的情况下,RDF4J也可以这样做吗?在Eclipse RDF4J中,a是一个Java集合(类似于集合或列表)。因此,您可以使用标准的Java收集操作。要附加两个模型,只需执行以下操作: model1.addAll(model2); 请注意,此操作仅附加语句。如果model2包含您希望复制的任何名称空间声明,则必须单独执行。例如,只需复制model2命名空间声明,即可
model1.add(model2)
将一个模型附加到另一个模型
在将模型解释为一组语句的情况下,RDF4J也可以这样做吗?在Eclipse RDF4J中,a是一个Java集合(类似于集合或列表)。因此,您可以使用标准的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);