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

标签 java rdf jena sesame rdf4j

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

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

最佳答案

在 Eclipse RDF4J 中,Model是一个 Java Collection(类似于 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);

关于java - 如何在 RDF4J(以前的 Sesame)中合并两个或多个模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42011379/

相关文章:

java - Persistence.createEntityManagerFactory 需要很长时间

java - 将比较器传递给 super 构造函数

java - 由 : sun. security.provider.certpath.SunCertPathBuilderException 引起:无法找到请求目标的有效证书路径

java - 使用Jsoup从html源代码中获取数据

rdf - 如何获取sparql查询结果的所有解引用链接

java - tdbloader2 因类路径错误而失败

rdf - 使用 Jena 解析 RDF 递归

java - HttpException : 500 when running a SPARQL query on remote endpoint

graph - N-Quad 图 - 我如何使用它们?

java - 为什么当 OntClass 创建一个个体时行为不正常?