Protege 中 min one 的问题

issues with min one in Protege

我的学习作业需要使用 Protégé。 我对语言 OWL 和这个软件还很陌生。

我们需要在远足径上创建 ontology。 我有多个 class,例如远足者、小径、餐厅、酒店、设备和地点。

最后一个 class(地点)有 2 个子class:StartEndPoint 和 PicnicArea。 class StartEndPoint 对应于路径开始和结束的位置。所以对于我的 Trails class 我有公理:(startingPoint exactly 1 Places)和(endingPoint exactly 1 Places)来表示一条小径恰好在一个起点和终点处开始和结束。

同样,我想创建公理:每个起点和终点在该点附近至少有一家餐厅。 为此,我在 class StartEndPoint 中添加了公理:“eatingPlace min 1 Restaurants”。

但是当我运行推理机时,它说没有错误。我确实从所有 classes 创建了一些实例,但是对于来自 class StartEndPoint 的实例,它应该说没有餐厅,因为我没有添加任何 属性 “eatingPlace”这些实例(见下面的屏幕截图)。

我想尝试一下最小值是否运行良好,所以我想它应该会返回一个错误。但我一无所获。 正常吗?如果是,为什么? 如果没有,我该如何解决?

非常感谢您的帮助

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