当我在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模型。一个简单的解决方案是构建两个模型,一个没有,一个有推理,但我更喜欢消耗更少的内存消耗。
答案 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()
。