我正在使用Protégé4.3创建一个简单的本体,并尝试创建一个模型,以使C类的每个实例对于给定的属性p都具有特定的值v,它是V类的实例。我可以使用公理来得到这个推论
C subClassOf(p 值 v)
但我想我希望能够按照
C subClassOf(p 一些 V)
因为我实际上希望C的每个实例都与V的每个实例相关。
我的示例是汽车和动作-我想为汽车创建一组动作。当我创建汽车的新实例时,我希望每个实例都有一套动作。如果我添加了新的动作实例,我希望所有汽车实例都能反映出它们所有相关的动作。
为了进一步说明,我定义了Auto类和两个子类:Car和Truck。我还定义了一个Action类和一个子类TruckAction。我定义了具有域自动和范围动作的hasAction属性,以关联自动和动作。我进一步创建了几个不同类型的人:
当我将Car 设为(hasAction值Accelerate)的子类时,我可以看到ChevyMalibu具有推断的对象属性hasAction Accelerate,但这似乎类似于对对象属性断言进行硬编码。我想为ChevyMalibu推断所有的汽车动作,以及为F150推断所有的 TruckActions 。我不太确定为什么做类似使Car成为(hasAction和Action的子类)之类的事情不会使我到那里。
我认为对 …