我的问题超出了一个已被问过的问题here
我定义了一个合格的基数限制,如下所示:
Pizza and hasTopping exactly 4 CheeseTopping and hasTopping only CheeseTopping
现在,当一个声明类型'FourCheesePizza'的个体少于四个'CheeseTopping'属性断言时,如何强制本体的不一致?
换句话说:我如何声明让我们说两个'CheeseTopping'属性断言肯定是唯一的,以便强制出现不一致?
答案 0 :(得分:1)
在OWL中做出这样的陈述并不太难,但由于open world assumption,它确实意味着你必须确保有更多的知识可用。首先,两个奶酪披萨,我们称之为 p ,这将不一致地标记为四奶酪披萨必须以某种方式宣布完全两个奶酪配料。您可以通过提供 p 类型
来实现此目的hasTopping 完全 2 CheeseTopping。
这足以解决不一致问题。如果这看起来有点泛,并且您想要指定 p 可以具有的确切浇头,您可以为 p 提供类似
的类型hasTopping only {Cheddar,Mozzarella}
表示 p 只能将 Cheddar 和 Mozzarella 作为浇头。在这一点上,我们知道 p 最多可以有两个浇头(如果 Cheddar 和 Mozzarella ,它可能只有一个)声称是不同的个体),这与它是一个 FourCheesePizza 并且有四个奶酪配料不一致。