I defined an n-ary relationship in an owl ontology by representing the relationship as a class with n-object properties, i.e. given 3-ary relationship r, I have 3 object properties for r.
Can someone suggest how I can make sure that the n-ary relationship is indeed unique that is given 2 3-ary relations (a1,b1,c1) and (a2,b2,c2) then a1 not equals a2 and b1 not equals b2 and c1 not equals c2 (and is important here e.g. if c1 is not equals to c2 then the relationships would be surely different regardless of what a1,b1,a2,b2 are). For this case I cannot make use of the inverse functional property since this would check the entities one by one but what I need here is an axiom that asserts that all properties are unique.
Any help would be appreciated ! Thanks .
I tried using some axioms such as inverse functional but to no avail.
There are 2 factors that make this possible within OWL
Representation of n-ary relations
An n-ary relation
Rnover componentsR1, . . . , Rncan be expressed as the reified conceptCusingnrolesr1, . . . , rnas represented in the next diagram.The Manchester syntax of this is as follows:
Unique constraints
To define a unique constraint on an n-ary relation, you need to define the unique constraint on the reified concept
Cas follows:if
Chas a uniqueness constraint on for those 3 components.I have written about this in my MSc dissertation(see section 5.1.2) and Phd thesis (see section 5.2).