Hi Jean-Marc,
Are you using the template functionality in Drools 5.0 for OWL? We
use Drools for expressing models/games down here and I have been
looking for an approach that would provide a more generic way of
defining data-models and rules that act on them.
Also, I wonder if you've looked at Miles Parker's MetaScape ABM
modeling plugin for Eclipse. It's a different area, but he has put
together a very nice visual way of working with both models (data) and
actions (rules).
I will download your project and look a bit deeper.
Many thanks for the posting and the links; wonderful discussion.
best wishes,
Andrew
---------------------------------
Andrew Waterman
San Cristóbal de las Casas, Chiapas, Mexico
+52 1 967 107 5902
+1 510 342 5693
On Feb 23, 2009, at 9:53 AM, Jean-Marc Vanel wrote:
Hi
As some of you know, I'm using Drools as an engine for N3 logic
(
http://www.w3.org/2000/10/swap/doc/Rules
) .
N3 is a language equivalent to Semantic Web's RDF language, but much
easier to read and write by hand.
Moreover, N3 has, on top of RDF, an extension for rules, e.g. :
{ ?x parent ?y } => { ?y child ?x }.
Among many other vocabularies searchable on search site Swoogle (
http://swoogle.umbc.edu/
), there is OWL, (OWL Web Ontology Language) that allows to express
in RDF, and thus in N3, rich models with classes, properties,
inheritance and constraints.
So in summary, N3 is a user-friendly language allowing to express
facts, class and properties, and rules.
So what does that bring for Drools users ?
One use case :
- open any number of RDF / OWL / N3 documents
- test and debug the rules using 3 rule engines (Drools, Euler, CWM)
- export all that project as a set of Drools packages, plus the
facts in XMLEncoder format ( by clicking on File / "Export as
Drools" )
You can also use standard Semantic Web tools such as Protégé and
Swoop to edit and visualize RDF and OWL files.
Moreover, there are, as part of the Euler project, a library of N3
rules that implement the logic of OWL and RDF Schema (transitive
property, inheritance, etc), and other goodies, see:
http://eulersharp.svn.sourceforge.net/viewvc/eulersharp/trunk/2003/03swap...
I translate N3 logic into Drools language, using just two classes
corresponding to Triple (statement) ( explanations here :
http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/d...
).
Download from
https://sourceforge.net/projects/eulergui
Manual here:
http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/d...
Enjoy !
I've been working on this for several months, so it's beginning to
stabilize. But the rich set of built-in functions for other N3
engines is still missing, with a few exceptions.
I'm using this framework currently to generate GUI's from domain
models ( rules are here :
http://deductions.svn.sourceforge.net/viewvc/deductions/n3/
).
You will be glad to read that it runs around 2 seconds including
compilation, compared to the other engine (in Prolog) I use, which
need hundreds of seconds (actually a high complexity). A forward
chaining engine seems to make sense for such a constructive task.
I also wrote a How To about what I do currently with EulerGUI :
Deduction project - Java Swing application generator from OWL model
and N3 logic rules
http://deductions.svn.sourceforge.net/viewvc/deductions/html/GUIgenerator...
Deduction project is work in progress.
--
Jean-Marc Vanel
http://jmvanel.free.fr/
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users