【问题标题】:issues with min one in ProtegeProtege 中的一个问题
【发布时间】: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


【解决方案1】:

由于开放世界假设,推理器没有发现任何错误。您是在声明每个端点附近至少有一家餐厅,但这并没有对本体施加任何义务来列出您的端点附近的餐厅 - 即,如果您询问推理者端点 X 附近是否有餐厅,推理者会说是;但是,如果您要求它列出端点 X 附近的餐馆,则该列表可能为空,因为该信息不包含在本体中。这是 OWL 本体的预期行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多