Concepts Attributes – Mutual Exclusive
Mutually Exclusive Concepts
In logic and probability theory, two ‘things’ are referred to as ‘mutually exclusive’ if they cannot both be true. In the example below, Rainbird uses mutually exclusive concepts to check whether a customer has an account with a bank or not.
Two concepts are created: the subject, “Customer”, and the object “Account”. The two concepts are linked with the relationship “has status”.
Figure 1: Building concepts and relationships
The concept “Account” has two instances, which will be defined as mutually exclusive. Either the account exists, (‘existing’), or it does not exist, (‘not’).
Figure 2: Creating instances
Figure 3: Setting ‘Account’ concept to mutually exclusive
Note: A string concept can only be set as mutually exclusive with two concept instances. The two instances should be contrary to each other (e.g. ‘existing’ or ‘not’). String concepts with more than two instances cannot be mutually exclusive.
An additional relationship, “result based on status” is built between the “customer” and “account” concepts. Two rules are built on the “result based on status” relationship. Each rule is object specific for each concept instance – ‘existing’ and ‘not’.
Figure 4: Creating object specific rules
If the end-user is asked a question such as “Does the Customer have account status existing?” and the user answers “no”, Rainbird automatically infers the result as ‘not’ as the two instances are mutually exclusive.
If the behaviour was not set to mutually-exclusive, Rainbird would also ask the opposite question “Does the Customer have account status not?”, which is a redundant question as the end-user has already provided the answer by answering ‘no‘ to the previous question.
Version 1.02 – Last Update: 25/03/2021