【发布时间】: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 您应该将其发布为答案。