【问题标题】:How can I distinguish an axiom from an inferred statement in a Jena RDFS-INF model?如何区分 Jena RDFS-INF 模型中的公理和推断语句?
【发布时间】:2015-01-04 19:57:48
【问题描述】:

当我在 Jena 中创建一个 RDFS_MEM_RDFS_INF 模型并读取一些 RDFS 文件时,会添加一些未在文件中明确说明的语句。例如。如果我们有一个三元组

a p b

而p是一个rdfs:subPropertyOf q,比

a q b 是

也在模型中。一个具体的例子如下:如果

a skos: 相关 b

在文件中

a skos:semanticRelation b

也在模型中。

有没有可能检查模型中的陈述是公理还是推断的? OWL 模型有这样的方法,但我使用的是 RDFS 模型。一个简单的解决方案是构建两个模型,一个没有推理,一个有推理,但我更喜欢内存消耗较少的解决方案。

【问题讨论】:

  • Jena InfModel 有一个方法 getRawModel()。这个Model 不会包含推断的语句,它只会包含文件中的公理。对此进行检查。如果您使用的是OntModel,它有一个方法getBaseModel()
  • 谢谢。这很好用!上周看文档的时候没找到那个方法。
  • @djthequest 您应该将其发布为答案。

标签: jena rdfs inference


【解决方案1】:

Jena InfModel 有一个方法 getRawModel()。这个Model 不会包含推断的语句,它只会包含文件中的公理。对此进行检查。如果您使用的是OntModel,它有一个方法getBaseModel()

【讨论】:

    【解决方案2】:

    保留djthequest's answer from a comment

    Jena InfModel 有一个方法 getRawModel()。该模型不包含 推断语句,它将仅包含文件中的公理。采用 对此进行检查。如果您使用的是 OntModel,它有一个 方法 getBaseModel()。

    Christian Wartena's response 表示这是一个解决方案:

    谢谢。这很好用!看书的时候没找到那个方法 上周的文档。

    (如果 djthequest 发布一个答案,我将删除此答案。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-14
      相关资源
      最近更新 更多