Should Jena Rules have an XML Syntax?
Jena is a Java framework for building Semantic Web applications. It provides a programming environment for RDF, RDFS and OWL, SPARQL and includes a rule-based inference engine.
Jena deals with data sources represented in RDF(S) and OWL. Both of these languages provide an XML syntax. However, Jena Rules provides just a textual syntax for the rules.
The question is: Should Jena Rules have an XML Syntax?
JBoss Rules Improves its Syntax
We are waiting for the next stable version of JBoss Rules (v.4.0), which promises to offer a full access to all features already implemented in JBoss Rules 4.0 Milestone Release 2. These features convert JBoss Rules platform/rule engine into a reasonable, open-source alternative to other commercial products from the business market.
Why a rule markup language needs a rich syntax (looking in the RIF Core...)
Looking to the RIFi Core Working Draft it is easy to discover that one of the goals is to be as general as possible.
But is this an advantage of the language?
Which one is the normative RIF Syntax?
First Public Working Draft of "RIF Core Design" is structured in four main chapters including the condition language, the rule language and the compatibility with RDF and OWL.
The Abstract syntax of positive conditions is done in ASN06 an object oriented syntax. Then another concrete syntax is written in an ENBF manner. Unfortunately it is neither explained which one is normative nor the mapping principles between them.
Two questions arise:
First Working Draft of the Rule Interchange Format (RIF) was Published
In November 2005 W3C set up a Rules Working Group. According with its charter document the group "is chartered to produce a core rule language plus extensions which together allow rules to be translated between rule languages and thus transferred between rule systems. The Working Group will have to balance the needs of a diverse community — including Business Rules and Semantic Web users — specifying extensions for which it can articulate a consensus design and which are sufficiently motivated by use cases."
The purpose of RIF is to be a markup language for rule interchange.
The OCL Portal
The Object Constraint Language (OCLi) is originally a textual sublanguage of the Unified Modelling Language (UML). It can be used to express additional constraints on UML models that cannot be expressed, or are very difficult to express, with the graphical means provided by UML. OCL is based on first-order predicate logic but it uses a syntax similar to programming languages and closely related to the syntax of UML. It is, thus, more adequate for every-day modelling than pure first-order predicate logic.
When to Use Rules in Your Application
Rules can be used in software applications to model and manage some parts of the application's business logic. They are best used in applications with a great deal of dynamic business logic i.e. applications where critical changes in the business logic are frequent and they need to be immediately reflected in the application's behavior.
JBoss ReteOO Algorithm
This article describes the Rete algorithm as implemented by JBoss Rules. It was named ReteOO because it is an optimized version of Charles Forgy's original Rete algorithm, tailored for object-oriented forward-chaining systems. Two Rete Tree examples are provided for better understanding of the concepts.
How JBoss RETE works
Rete is implemented as a rooted, acyclic, directed graph, providing an interconnected network of nodes. Its nodes have different uses and significations, and we will refer to them using appropriate names.
The network processes only beans from the working memory.
Some Facts about the JBoss Rule Engine
JBoss Rules is an open-source, object-oriented production rules engine written entirely in Java language. It has become a popular business logic framework, used by Java developers to create complex rule-based applications by combining Java platform and business rule technology.
JBoss Rules is a forward chaining rule engine. Its basic architecture follows the structure of a classical expert system:

