Xsd OWL:许多属性中只存在一个属性

Xsd OWL:许多属性中只存在一个属性,xsd,owl,Xsd,Owl,我想表达OWL中XSD的xs:choice元素: XML模式选择元素只允许声明中包含的一个元素出现在包含元素中 我想也许我应该首先在OWL中定义一个属性组,然后指定组中只允许存在一个属性。有什么帮助吗 我想也许我应该首先在OWL中定义一个属性组,然后 指定组中只允许存在一个属性。任何 帮忙 OWL中没有“属性组”的概念,但使用子属性和不相交属性可以获得类似的效果。例如,您可以有如下属性层次结构: hasVehicleChoice 哈斯卡尔 轻便马车 然后,您可以声明hasCar和hast

我想表达OWL中XSD的
xs:choice
元素:

XML模式选择元素只允许声明中包含的一个元素出现在包含元素中

我想也许我应该首先在OWL中定义一个属性组,然后指定组中只允许存在一个属性。有什么帮助吗

我想也许我应该首先在OWL中定义一个属性组,然后 指定组中只允许存在一个属性。任何 帮忙

OWL中没有“属性组”的概念,但使用子属性和不相交属性可以获得类似的效果。例如,您可以有如下属性层次结构:

  • hasVehicleChoice
    • 哈斯卡尔
    • 轻便马车
然后,您可以声明hasCarhastrack是不相交的。这意味着单个属性不能同时具有两个属性的相同值。这意味着你不能说:

x hasCar车辆72
XhasTruck车辆72

但这还不足以说明它们不能有不同的价值观。你还是可以的

x hasCar车辆72
x hasTruck vechicle75

为了避免这种情况,您可以将hasviculechoice设置为函数属性(意味着每个个体都有0或1个值,但没有更多),或者使用带有限制的子类公理,如

人员子类别(具有车辆选择1)

然后,每个人都会有一个车辆选择,因为hasCarhasCar是不相交的,所以这个人不可能同时拥有这两种车辆

尽管如此,这在OWL本体论中并不是一种常见的模式,也没有一种特别方便的编码方式。如果您不经常需要它,那么最好直接使用子类公理和属性限制。例如:

人员子类((hasCar精确为1)和(hasTruck精确为0))或((hasCar精确为0)和(hasTruck精确为1))

我想也许我应该首先在OWL中定义一个属性组,然后 指定组中只允许存在一个属性。任何 帮忙

OWL中没有“属性组”的概念,但使用子属性和不相交属性可以获得类似的效果。例如,您可以有如下属性层次结构:

  • hasVehicleChoice
    • 哈斯卡尔
    • 轻便马车
然后,您可以声明hasCarhastrack是不相交的。这意味着单个属性不能同时具有两个属性的相同值。这意味着你不能说:

x hasCar车辆72
XhasTruck车辆72

但这还不足以说明它们不能有不同的价值观。你还是可以的

x hasCar车辆72
x hasTruck vechicle75

为了避免这种情况,您可以将hasviculechoice设置为函数属性(意味着每个个体都有0或1个值,但没有更多),或者使用带有限制的子类公理,如

人员子类别(具有车辆选择1)

然后,每个人都会有一个车辆选择,因为hasCarhasCar是不相交的,所以这个人不可能同时拥有这两种车辆

尽管如此,这在OWL本体论中并不是一种常见的模式,也没有一种特别方便的编码方式。如果您不经常需要它,那么最好直接使用子类公理和属性限制。例如:

人员子类((hasCar精确为1)和(hasTruck精确为0))或((hasCar精确为0)和(hasTruck精确为1))