Limitations to Jena Rules Syntax

Supported and unsupported features of Jena rules in CGE.

This release of CGE does not support all aspects of Jena syntax and semantics for rules. Specifically:

  • The @include construct is not supported.
  • Calls to functions or built-in primitives, such as print, all, or max are not supported.
  • The [...] syntax is not supported, including named rules.
  • Backward chaining is not supported. Furthermore, backward syntax (<-) cannot be used to express forward chaining.
  • If multiple premises or conclusions (quads) are specified on either side of the -> in a single rule, each pair must be separated by a space. The use of commas as separators is not supported.
  • Native UTF-8 is not supported in rules files, however Unicode characters are supported within URIs, where they are valid syntax.
Note: It is important to note that turning inferencing on/off is a database level setting. Turning inferencing on can negatively impact performance. When this setting is set to true, the inferencer will run during the first time that the database compiles and for subsequent updates. Since the whole database is examined when inferencing occurs, turning this feature on after a period of time during which it was turned off, will still affect the data that was loaded during the period when it was turned off. In other words, if a user turns inferencing off and then adds or updates data, that data will also be inferenced once the user turns the inferencing feature on again and performs another update.