0

我在 Protege 5 中有一个OWL 本体。当尝试询问一些 DL 查询时

DropOff exactly 1

这应该返回通过 objectProperty DropOff 精确到一基数相关的所有类。

使用Pellet推理器,异常会引发“此推理器不支持命名类”。使用Hermit推理器时,一切正常。

我知道命名类是具有引用 URL 的类。以下是我的观点:

  • 使用未命名类的语义是什么?
  • 为什么 Pellet 不支持命名类?
  • 我的查询可以用 Pellet 可以接受的方式表达吗?

谢谢。

4

1 回答 1

1

Pellet 中的错误可能被误报。我只设法"This reasoner only supports named classes"在 Pellet 源代码(在IncrementalClassifier.java文件中)中找到了这句话。如果使用增量推理模式并且运行诸如“查找该类的所有等效类”之类的查询,则会引发此异常 - 例如,DropOff exactly 1是 Pellet incremental 不支持的匿名类表达式。

我不知道是否可以不使用 Protege 的 Pellet 中的增量功能。如果此行为不可配置,则唯一的解决方法是将 Pellet 插件修改为不能增量工作。不过,这会影响其他查询的性能。

于 2014-10-13T13:55:34.087 回答