【发布时间】:2023-03-15 07:33:01
【问题描述】:
实际上,除了类分类成员之间的限制继承之外,当存在 subsummption 时,我迷失了域和范围语义。请看以下案例。
让我们考虑
(1) hasCar Domain driver
(2) driver subClassOf human
那么,我们能不能推断出来
hasCar Domain human
让我们有hasCar (x, y)不管x是什么
来自(1):driver(x)
来自(2):human(x)
那么:无论x 是什么,如果hasCar(x, y) => driver (x) =>
(3) hasCar Domain human
第一个问题:这个结论正确吗?为什么 Protege 5 with Hermit(Pellet 也没有,甚至 Jena 的一些推理者也没有)推断出这一点?
让我们考虑
(1) hasAudiCar Range AudiCar
(2) AudiCar subClassOf Car
以类似的方式,我们可以推断出
(3) hasAudiCar Range Car
第二个问题:这个结论正确吗?为什么 Protege 5 with Hermit(Pellet 也没有,甚至 Jena 的一些推理者也没有)推断出这一点?
让我们考虑
(1) hasAudiCar Domain driver
(2) hasAudiCar Range audiCar
(3) driver hasAudiCar min 1 audiCar
(4) audiCar subClassOf car
那么,我们可以推断出
driver hasAudiCar min 1 car
第三个问题:这个结论正确吗?为什么 Protege 5 with Hermit(Pellet 也没有,甚至 Jena 的一些推理者也没有)推断出这一点?
更新
将 Jena 与规范 OntModelSpec.OWL_DL_MEM_RULE_INF 一起使用会产生我预期的结果!但是,将 Jena 与 Pellet 一起使用不会,Protege 与 Hermit 或 Pellet 一起使用都不会!
【问题讨论】:
标签: jena owl protege reasoning pellet