【发布时间】:2016-09-02 12:31:21
【问题描述】:
我正在构建一个本体,我需要在不同类别的元素之间创建相同的语义关系(关系的名称以及域中的含义相同)。例如:
o:ClassA o:hasSemanticRelation xsd:string
o:ClassB o:hasSemanticRelation xsd:string
o:ClassC o:hasSemanticRelation xsd:string
我的第一种方法是为属性创建多个域,但这实际上意味着在域中不正确的概念的交集。 我的第二种方法是拥有一个超级财产
owl:Thing o:hasSemanticRelation xsd:string
o:hasSemanticRelationA owl:subPropertyOf o:hasSemanticRelation
o:ClassA o:hasSemanticRelationA xsd:string
由于hasSemanticRelation的含义,我希望每次使用它时都可以链接到同一个属性,即o:hasSemanticRelation
任何人都可以提供想法我怎样才能最好地代表这种情况?
【问题讨论】:
-
您的第一个代码是指属性的域和范围?我问是因为当你把它写成三元组时会让人困惑。
-
是的,它表示属性的域和范围。