繁体   English   中英

如何在 RDF4J(以前的 Sesame)中合并两个或多个模型?

[英]How to merge two or more models in RDF4J (formerly Sesame)?

例如,在 Apache Jena 中有一种方法可以通过调用model1.add(model2)将一个模型附加到另一个模型。

如果您将模型解释为一组语句,RDF4J 是否也可以这样做?

在 Eclipse RDF4J 中, 模型是 Java 集合(类似于SetList )。 因此您可以使用标准的 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM