Rainbird Basics --> Relationship Attributes -->

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

To make the concept mutually exclusive, in the “Account” concept, the Mutually Exclusive switch is switched on:

 

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.

The .RBLang below will create the map used in the example above. Click on the “Export RBird” button to download a RBird file containing the example knowledge map used in the article. You can also click on “Copy RBLang” if you want to paste the code into Rainbird instead.

 Query & Results

Please run the query on the ‘result based on status’ relationship for an example of a query that uses mutually exclusive instances  

Article Feedback form
Did you find this article useful?

Version 1.02 – Last Update: 25/03/2021

Bitnami