Semantic Web Inferencing versus Workflow/Rule Engines

 

There are critical differences between the kind of inferencing done by Semantic Web applications and the inferencing done by rule engines. A simple explanation might be that SemWeb apps are more knowledge-intensive and rule engines are more process-intensive, particularly in a business context. Potential, this might change over time, but of today, I would say the following applies.

In semantic web apps, 3-tuples and RDF are king. Inferencing capabilities are essentially the same as manual navigation through the network of relationships. with some automated features for discovery of inferred relationships. For example, there might be a "grandfather rule". that is expressed as:

[X parent-of Y] AND [Y parent-of Z] => [X grandparent-of Z].

When the inference engine matches the pattern for values of XYZ, the 3-tuple [X grandparent-of Z] is asserted into temporary working memory, usually under the auspices of the RDF interface.

In rule engine apps, conditions and actions are king. The rule engine might invoke the same "grandfather " rule give above and assert that [X grandparent-of Z], but then go on to initiate a workflow such as "Admit to Yale", causing an irreversible database update and allowing the applicant admission to the University. This involves of a change of state to the system, also know as a 'side effect', which can often have unexpected consequences.