0
votes

To build a rule-based expert system, what tools should be chosen? These two seems to be old tools for building expert system:

* Clip: http://www.clipsrules.net/
* Jess in Java

Are these three below also for the purpose of building expert system, as above two?

* Manchester OWL
* Protege OWL
* Jena API

It seems like the traditional 'expert system' has been outdated, and they are replaced by semantic web/ontology technologies. Can I say OWL and Jena API can achieve same things as a traditional expert system?

2
CLIPS probably has more in common with logic programming languages than with OWL, since its rules can be expressed as first-order logic predicates.Anderson Green

2 Answers

2
votes

Short answer: no.

OWL is a knowledge representation language (and a set of applicable inference rules) - it is a W3C standard available here: https://www.w3.org/TR/owl2-overview/

Jena API supports RDF (which is another W3C standard, with strong relations to OWL) and OWL 1 (the current OWL version is 2); it also supports non standard extensions through a rule reasoner. It could be used to implement an expert system, but it is not, per se, a replacement for Jess or CLIPS.

Side note: Manchester OWL and Protege OWL don't really exist. Protege is a tool for creating OWL ontologies, supporting a number of OWL serialization formats (RDF/XML, OWL/XML, Turtle, Manchester syntax, Functional syntax, and more); Protege OWL is a plugin for an older Protege version - current Protege (5.1) has no 'OWL plugin' - OWL is integrated in the tool itself. Manchester OWL is sometimes used to refer to Manchester syntax for OWL - this is nothing but a name for the format, and does not indicate any difference in expressivity.

1
votes

It seems to me that "Expert Systems" of old have been absorbed into different applications/contexts - the actual mechanics (forward chaining, backward chaining, Rete Algorithm, etc) are just being repurposed.

A Semantic Reasoner is an expert system where the inference rules are expressed in terms of an ontology. Pellet is a semantic reasoner for Jena.

Another area is BPMN and business rules engines where, if we ignore the "workflow" component, we're left with a recognizable Expert System.

So you can use Jena as the basis for an Expert System - as per @Ignazio's answer, but it really depends on what you're trying to solve. A rich ontology has value in and of itself, you can do query-by-example (intersection), but the generation/curation costs of such a representation may be prohibitive.