owl - OWL:等效类定义中的互补行为
问题描述
在下面的本体中,我们已经消除Pizza
了 的等价定义VegaterainPizza
。也是 的hasTopping
域Pizza
。
执行弹丸后,推导出以下结果。
我需要知道为什么Pizza
等同于Thing
and Food
?
解决方案
正如AKSW的评论中提到的:
简化名称以使公理更短:
VegetarianPizza
命名V
hasTopping
命名h
Pizza
命名命名P
PizzaTopping
命名PT
Food
命名F
V equivalent to not (h some PT)
h domain P
V subclass P
现在,考虑任何个人,无论有没有对属性 h 的断言。
a h b
暗示a
是类型P
对于任何其他个人c
,d
......没有财产断言h
,他们属于not( h some PT)
,这被定义为等价于V
。并且V
被定义为 的子类P
。
因此,无论一个人是否有申报者h
(即有浇头),它最终都是 ; 的一个实例P
。因此P
等价于, 在这种情况下 ,owl:Thing
的每个超类也是如此。P
F
正如您所提到的,删除not
此结果的更改。这是因为not
P
没有不再包括所有个人。
推荐阅读
- r - %>% .$column_name 等效于 R 基管道 |>
- c++ - 如何使 sf::Vector2f transform(float t) 速度更快?
- linux - 无法使用 linux 终端删除 linux 目录
- swift - Swift:“'Any'类型的值没有成员'map'”,数组返回为Any类型
- css - 为什么插入符号会触发 css lint 错误?
- python - Python:检查列表中的每个文件是否存在于目录中
- python - Unstacked DataFrame太大,导致int32溢出
- java - 从图库意图中选择后,图像未显示在图像视图中
- identityserver4 - 如何从 Identity Server 应用程序执行外部身份验证请求?
- computer-vision - CVAT coco 注释 json - iscrowd 选项