Rainbird
  • πŸƒβ€β™‚οΈGetting started
    • What is Rainbird?
    • How does Rainbird work?
    • Example use cases
      • πŸ“ˆInvestment suitability assessment
      • πŸ€–Digital tax consultant
      • πŸ₯Covid risk assessment
      • πŸš—Insurance claims liability
      • πŸ’°Fraud identification
    • Hosting options
    • Quickstart guide
    • Onboarding with Rainbird
  • 🧠Knowledge Modelling
    • What is knowledge modelling?
    • What is a query?
    • Modelling
      • Concepts
        • Concept instances
      • Relationships
        • Question Configuration
        • Rules
          • Match, Infer, Ask process
          • Expressions List
      • Facts
      • Datasources
      • Other features
        • Markdown
        • Import/Export Knowledge Maps
      • Troubleshooting Tips
    • Testing
      • Manual tests
      • Automated tests
      • External User Acceptance Testing (UAT)
    • Versioning
    • Publishing
      • API Management
      • Setting a live version
      • Publishing an agent
    • Stats and Reporting
    • Managing your data
    • The library
      • How to: update a template
  • πŸ”Evidence
    • What is evidence?
    • The Evidence Tree
      • The Salience Chart
  • πŸ‘©β€πŸ’»Developer guides
    • Overview
    • API Guide
      • API request flow
      • Run example queries
      • Environments
      • Error codes
      • Skipping an answer to a question
      • Retrieving a full Evidence Tree for use with a custom UI or application
      • Building an Evidence Tree URL
    • API interactive documentation
    • SDKs
  • Rainbird Labs
    • Overview
    • Consult
    • Generate from documentation
    • Co-author
    • /interact
    • /explain
Powered by GitBook
On this page
  • Why am I not getting a result?
  • No result can be found
  • An error has occurred
  1. Knowledge Modelling
  2. Modelling

Troubleshooting Tips

Last updated 1 year ago

Here are a few tips for troubleshooting any issues you may experience when building a Rainbird Knowledge map.

Helpful hint to reduce issues

  1. your rule after each change can help to identify problems early

  2. your map regularly, after your testing is successful, provides a good checkpoint that you can return to in the event of introducing issues (remember to add a note in the description that describes your changes).

Why am I not getting a result?

There are two reasons for not getting a result:

No result can be found

The reasoning engine has processed all the logic and data correctly, but has been unable to find or infer a fact to answer the query.

If using a Rainbird agent, such as , you will receive the message "Sorry, I’ve been unable to find an answer to your question!”. If you are using the API directly, you will receive an empty result array like the example below.

{"result":[],"sid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

An error has occurred

In some scenarios the reasoning engine can experience a technical issue and responds with an error.

This will be slightly different depending on how you are interacting with the engine:

Try Query or published agents will display β€œUnfortunately Rainbird has been unable to process the goal against the current Knowledge Map.”

These errors can happen for several reasons, for example; there is a mathematical expression in a rule that is dividing a number by zero, Rainbird has hit the time limit or query depth limit for a rule.

Understanding these differences can help to determine what the best course of action is to solve any problems you may have.

Break a rule down to the core relationships and test them individually

Rules in Rainbird are made up of conditions and condition expressions. If a rule is not generating any results it may be that one of the conditions (which may be a rule itself) is not generating any objects. By running each of the conditions separately from the main query, you may be able to determine which condition is not generating any results as it should.

Change all conditions in a rule to be optional, run a query and check the evidence tree

When Using Comparative Expressions
When Using External Data Sources

When a rule relies on external data it is useful to run a query that is used in the datasource to ensure that data is being received by Rainbird correctly and in the format you expect.

When Using Mathematical Functions

It is often required to build rules that will use number values in calculations. Ensure that your rule can handle numbers such as zero. In some circumstances you may need to divide a figure by a number concept. If that number concept is equal to zero the rule will break. You may need to add a condition that ensures the figure is not equal to zero or another rule that handles if the concept is equal to zero.

These points should be used as a starting point for determining where any problems with your map logic may occur. For further information on building in Rainbird please refer to the topics pages found in Community.

Quick Query and the API will respond with an .

You can change the behaviour of each of the conditions in the rule to be . This will mean that if an answer is generated with a lower certainty because one of the conditions has not been met, you are able to view the evidence tree to determine which condition has not been satisfied. Note however that if none of the conditions are met then no answer will be given and so you will not be able to access the evidence tree.

Often when , it is easy to have values that are outside of a range. If for example you are comparing a number value to see if it is greater than 10, you need to consider how the map will handle values smaller than 10 or 10 itself. Additional rules can be created to handle exceptions outside of the required ranges.

🧠
HTTP error code
Testing
Versioning
optional
comparing values in an expression
Quick Query
Quick Query