【发布时间】:2021-12-11 10:49:46
【问题描述】:
我有一项需要使用 Protégé 的学习作业要做。 我对语言 OWL 和这个软件很陌生。
我们需要在远足小径上创建一个本体。 我有多个课程,例如徒步旅行者、步道、餐厅、酒店、设备和场所。
最后一个类(Places)有 2 个子类:StartEndPoint 和 PicnicArea。 类 StartEndPoint 对应于路径开始和结束的位置。因此,对于我的 Trails 类,我有公理:(startingPoint 正好 1 个地方)和(endpoint 正好 1 个地方)来象征一条路径的起点和终点恰好在一个起点和终点。
同样,我想创建一个公理:每个起点和终点在此点附近至少有一家餐厅。 为此,我在 StartEndPoint 类中添加了公理:“eatingPlace min 1 Restaurants”。
但是当我运行推理器时,它说没有错误。我确实从所有类中创建了一些实例,但对于 StartEndPoint 类中的实例,它应该说没有餐厅,因为我没有向这些实例添加任何属性“eatingPlace”(参见下面的屏幕截图)。
我想试试最小的是否运行良好,所以我猜它应该返回一个错误。但我一无所获。 正常吗?如果是,为什么? 如果没有,我该如何解决这个问题?
非常感谢您的帮助
【问题讨论】:
-
由于开放世界假设而不起作用....没有信息不用于假设不存在此类数据。也就是说,OWL 公理并不是真的要定义约束,而是要建模推理。对于约束,你应该看看 SHACL
标签: owl ontology protege protege4