Library: Sub 3 – “Elbow” – Object specific Rules

Building Pattern--> Structural -->

"Elbow" - Object specific Rules

Object-specific rules are used to provide results for specific situations

This Build Structure has its name from the structure, where two concepts are connected to a central concept, but not to each other – looking like an arm/elbow. 

Intent

Object specific rules address situations where a specific answer is required for set situations.

Reducing the number of relationships makes a map easier to visualise, with fewer cross-connecting relationships.

They can be used alongside inference rules (see ‘Building in Triangles) to provide speedy query results, rather than having to go through a full set of questions for the same result.

Applicability

When can this pattern be applied? 

  • When dealing with a limited number of possible concept instances on both the ‘origin’ and ‘query’ concepts.
  • When working with string and/or True/False (boolean) concepts
  • When working with strings instances that have ‘set’ data where the facts are highly unlikely to change (as they are built into the map rules)

Limitations

By their very nature, object-specific rules only cover the specific cases addressed in the rule. This raises the risk of a logic gap which will cause the query to either fail or provide an incomplete answer, especially if there is not also a corresponding inference rule . For this reason this structure should only be used when:

  • There is a specific, limited list of possible facts in both the origin relationship and in the queries relationship.
  • The facts in the origin relationship and possible facts in the query relationship are not expected to change often (as the Rainbird map will need to be updated to reflect this)

You will need to build a rule for every concept instance. This means that is usually becomes more efficient to build a triangle structure for more than a few concept instances (generally 2-4).

Note: Do not use the Elbow technique with a plural relationship between any two instances OR when working with number/date concepts (see Comparative Expressions)

Otherwise, consider whether an inference rule would be more flexible (see Building in Triangles).

The following example decides whether or not a device is safe, depending on whether or not it is plugged in.

Figure 1: Generic Structure of the ‘Elbow Technique’

Motivation

Both “Plugged in?” and “Safety status” are string concepts. They could also easily be True/False (Boolean) concepts. 

This example has a limited number of possible origin instances (the device is either plugged in or not), and query instances (the device is either safe or not).

These are the only possible instances that can exist for “Plugged in?” and “Safety Status”, i.e. the map will likely never need to be updated to reflect a revised set of circumstances.

Follow these steps to recreate the build pattern example:

Create three string concepts:

  • Device 
  • Plugged In?
  • Safety Status.

Create the following relationships: 

  • Device is plugged in?
  • Device has safety status

Figure 2: Creating Concepts and Relationship

Create instances

Create two instances of Plugged In?:

  • Yes
  • No

Create two instances of Safety Status:

  • The device is safe
  • The device is not safe – do not tamper with it!

Figure 3: Creating Instances

On the is plugged in relationship set the Question Configuration to Second Form (object) only, and the question wording to Is the (Device) plugged in? Change Add Instances to None.

Figure 3: Changing the question wording

On the has safety status relationship set the Question Configuration to None

When adding a new Rule, we can select the Instance of the Concept Safety Status. This will create create an Object Specific Rule

Figure 4: Creating the Object Specific Rule

We want Rainbird to point to those Instances under the Conditions if the device has been plugged in or not, when answering the relationship  has safety status.

Where create the following two rules:

First rule Object – %DEVICE has safety status “The device is safe”:

On conditions that:

To cover the second possible selection, we need a create a second new Rule:

Second rule Object – %DEVICE has safety status “The device is not safe – do not tamper with it”:

On conditions that:

 

Query and Results

The main query is built on the rule ‘has safety status’. The outcome of the query will be the Object we defined.

Article Feedback form
Did you find this article useful?

Version 1.01 – Last Update: 26/02/2021

Bitnami