Rainbird Basics --> Facts and Certainty Factors -->

Rainbird uses three different ways to get information. Rainbird will:

Match: 

Rainbird will consider and try to match concept instances and facts created by the knowledge engineer and inserted directly into the knowledge map, or by the end-user at run time. Populating a map with concept instances and facts provides Rainbird with direct access to the data required to solve a query.  Setting a knowledge map up to match concept instances and facts is straightforward and easy to track; however it’s not very flexible and cannot cover every potential subject/object variable as they would need to all be manually input by the engineer/end-user.

Infer:

Thanks to the rules enclosed in relationships, Rainbird can infer information. Rainbird will attempt to satisfy the conditions of a rule by generating appropriate relationship instances at run-time by running any rules that are provided for the relationship in question.  Rainbird will generally infer a final decision, but Rainbird will also infer information needed for the final decision. Setting up Rainbird to complete a query through inferring information is a suitable method to cover all potential subject/object variables.

Ask: 

If Rainbird cannot match or infer a relationship instance, Rainbird will ask questions to the user. If the user provides an answer, a new relationship instances will be created which Rainbird can use to satisfy the rules of a condition. A query just relying on Rainbird asking questions can be time consuming for users to complete, especially when the questions pertain to general truths, which could potentially be asked again and again.

The example map below determines if a person is mortal or immortal. We interrogated an ancient Greek theologian to understand the subtleties of Olympians, humans and mortality. 

The map will demonstrate the key differences between the 3 main ways Rainbird can be fed concept instances and facts, as well as going through the different types of facts that exists.

Different Concept Types, as well as mutually exclusive concepts, in both singular and plural relationships, can be used in facts.

Note: data can also be fed to Rainbird through data sources or injection (see importing knowledge from google spreadsheet).

The RBLang below will generate the example map used in the article. Click on ‘Export .rbird’ to download the knowledge map, or ‘copy RBLang’ and paste the code directly into Rainbird.

Query and Results

  1. For the Boolean fact, query the “is strictly mortal or not” relationship.
  2. For the Mutually exclusive fact, query the “is strictly mortal or not 2” relationship.
  3. For the Plural answer fact, query the “is mortal or not” relationship.
  4. For the dates facts, the unscalable solution is run by querying the “is mortal based on date” relationship, and the scalable solution is run by querying the “is mortal based on date of birth group“ relationship.
  5. For the Numbers facts, query the “has estimate date of arrival” relationship.

Article Feedback form
Did you find this article useful?

Version 1.01 – Last Update: 17/02/2021