I’m not sure the title describes what I mean.
We have three classes: Candidate, CandidatesList and Election, connected by two object properties: onList and runsIn, where:
Domain onList some Individual
Range onList some CandidatesList
Domain runsIn some CandidatesList
Range runsIn some Election
What’s an expression to affect that:
a Candidate can run on one CandidatesLIst per Election.
In other words:
a Candidate can be on many CandidatesLists as long as no more than one of them is running in a given Election.
The reasoning I come up with clearly has a syntactical error, and I’m not sure it is even logically correct. In Protege’s Candidate’s EquivalentTo:
onList exactly 1 CandidatesList and ( onList some CandidateList and (CandidatesList runsIn some Election))