I'm building an ontology and I need to create the same semantic relation (the name of the relation is the same as well as the meaning in the domain) between different classes of elements. For example:

o:ClassA o:hasSemanticRelation xsd:string

o:ClassB o:hasSemanticRelation xsd:string

o:ClassC o:hasSemanticRelation xsd:string

My first approach was to create multiple domains for the property but this actually means the intersection of the concepts which is not correct in the domain. My second approach was to have a super property

owl:Thing o:hasSemanticRelation xsd:string

o:hasSemanticRelationA owl:subPropertyOf o:hasSemanticRelation

o:ClassA o:hasSemanticRelationA xsd:string

Because of the meaning of the hasSemanticRelation I want that every time it is used it can be linked to the same property, i.e., o:hasSemanticRelation

Could anyone give ideas how can I best represent this situation?

More Irlan Grangel-González's questions See All
Similar questions and discussions