About Rules Files

The role of rule files in creating inferencing rules.

One way to greatly increase the knowledge contained in the database is to provide a set of inferencing rules. These rules are used during the database builds and in subsequent data updates (whether by SPARQL updates or by editing the database) to create new relationships between objects. Providing inferencing rules grants SPARQL queries access to inferred data, in addition to the raw data that was imported into the system.

Forward vs. Backward Chaining

There are two types of chaining:
  • Forward Chaining - In forward chaining, the inferencing rules are recursively applied to the database, creating new quads and adding them to the database. If a implies b and a is in the database, we add b to the database.
  • Backward Chaining - Rather than pre-computing quads in the database as in forward chaining, with backward chaining the queries are modified to support those rules. If a implies b and a query searches for b, it is changed to search for (a UNION b).
CGE’s rules inference engine does not implement backward chaining, but it implements a highly parallel form of forward chaining.