如何在Jena RDFS-INF模型中区分公理和推断语句?

时间:2015-01-04 19:57:49

标签: jena rdfs inference

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

a p b

和p是rdfs:subPropertyOf q,而不是

a q b是

也在模型中。具体示例如下:if

skos:相关b

位于文件

skos:semanticRelation b

也在模特中。

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

2 个答案:

答案 0 :(得分:0)

保留djthequest's answer from a comment

  

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

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

  

感谢。这很好用!我在读书时没有找到那种方法   上周的文件。

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

答案 1 :(得分:0)

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