你能在 owl 中指定一个闭集而不枚举它的所有个体吗?
Can you specify a closed set in owl without enumerating all its individuals?
我想知道是否可以指定一个 class 是一个闭集而不用枚举它的所有个体。
例如。给定一个 class 的 Drivers 和 A、B 和 C 是否有一个公理我可以放在 Driver 上,这将使推理者认识到 class 没有其他人而不必在class 描述?
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="&example;A"/>
<rdf:Description rdf:about="&example;B"/>
<rdf:Description rdf:about="&example;C"/>
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
<owl:NamedIndividual rdf:about="&example;A">
<rdf:type rdf:resource="&example;Driver"/>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:about="&example;B">
<rdf:type rdf:resource="&example;Driver"/>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:about="&example;C">
<rdf:type rdf:resource="&example;Driver"/>
</owl:NamedIndividual>
编辑:请允许我澄清一下,我希望能够指定 class 是一个闭集,而不会将 class 描述为一组个体的枚举。
您可以创建一个只有您希望包含的个人拥有的新 属性,并使 class 成为该 [= 的确切基数限制为 1 的子class 16=]。要添加或删除个人,请在断言中使用新的 属性 - 添加多个断言将从 class 中/删除/个人,因此这甚至适用于导入本体中使用的个人。
虽然我不清楚你的意图 - 你想通过这个实现什么?
我想知道是否可以指定一个 class 是一个闭集而不用枚举它的所有个体。
例如。给定一个 class 的 Drivers 和 A、B 和 C 是否有一个公理我可以放在 Driver 上,这将使推理者认识到 class 没有其他人而不必在class 描述?
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="&example;A"/>
<rdf:Description rdf:about="&example;B"/>
<rdf:Description rdf:about="&example;C"/>
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
<owl:NamedIndividual rdf:about="&example;A">
<rdf:type rdf:resource="&example;Driver"/>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:about="&example;B">
<rdf:type rdf:resource="&example;Driver"/>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:about="&example;C">
<rdf:type rdf:resource="&example;Driver"/>
</owl:NamedIndividual>
编辑:请允许我澄清一下,我希望能够指定 class 是一个闭集,而不会将 class 描述为一组个体的枚举。
您可以创建一个只有您希望包含的个人拥有的新 属性,并使 class 成为该 [= 的确切基数限制为 1 的子class 16=]。要添加或删除个人,请在断言中使用新的 属性 - 添加多个断言将从 class 中/删除/个人,因此这甚至适用于导入本体中使用的个人。
虽然我不清楚你的意图 - 你想通过这个实现什么?