我想在OWL中用XSD表示以下xs:simpleType:
<xs:simpleType name="test">
<xs:union memberTypes="xs:normalizedString">
<xs:simpleType>
<xs:restriction base="xs:normalizedString">
<xs:enumeration value="123"/>
<xs:enumeration value="456"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
我使用equivalentClass来表示xs:enumeration:
<owl:Class rdf:about="testEn">
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="testEn_123"/>
<rdf:Description rdf:about="testEn_456"/>
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
将xs:normalizedString和equivalentClass与unionOf
链接起来。
xs:normalizedString无法在OWL中表示为Class,对吗?所以我有一个同时属于objectProperty和datatypeProperty的属性。
答案 0 :(得分:2)
不在OWL 2 DL中,请参阅https://www.w3.org/TR/owl2-new-features/#F12:_Punning
...但是,OWL 2 DL仍然存在某些限制:它要求名称不能同时用于类和数据类型,并且名称只能用于一种属性。 ...