小编SW-*_*SAP的帖子

如何将类的每个实例与另一个类的每个实例相关联?

一般问题

我正在使用Protégé4.3创建一个简单的本体,并尝试创建一个模型,以使C类的每个实例对于给定的属性p都具有特定的值v,它是V类的实例。我可以使用公理来得到这个推论

C subClassOf(p v)

但我想我希望能够按照

C subClassOf(p 一些 V)

因为我实际上希望C的每个实例都与V的每个实例相关。

一个具体的例子

我的示例是汽车和动作-我想为汽车创建一组动作。当我创建汽车的新实例时,我希望每个实例都有一套动作。如果我添加了新的动作实例,我希望所有汽车实例都能反映出它们所有相关的动作。

为了进一步说明,我定义了Auto类和两个子类:CarTruck。我还定义了一个Action类和一个子类TruckAction。我定义了具有域自动和范围动作hasAction属性,以关联自动和动作。我进一步创建了几个不同类型的人:

  • 汽车
    • 卡车{F150}
    • 车{ChevyMalibu}
  • 动作{加速}
    • TruckAction {LoadCargo}

当我将Car 设为(hasAction值Accelerate)的子类时,我可以看到ChevyMalibu具有推断的对象属性hasAction Accelerate,但这似乎类似于对对象属性断言进行硬编码。我想为ChevyMalibu推断所有的汽车动作,以及为F150推断所有的 TruckActions 。我不太确定为什么做类似使Car成为(hasAction和Action的子类)之类的事情不会使我到那里。

我认为对 …

semantic-web owl ontology protege description-logic

2
推荐指数
1
解决办法
1146
查看次数

标签 统计

description-logic ×1

ontology ×1

owl ×1

protege ×1

semantic-web ×1