<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Jean-Marc,<div><br></div><div>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.  </div><div><br></div><div>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).  </div><div><br></div><div>I will download your project and look a bit deeper.</div><div><br></div><div>Many thanks for the posting and the links; wonderful discussion.</div><div><br></div><div>best wishes,</div><div><br></div><div>Andrew <br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div><div><div><div>---------------------------------</div><div>Andrew Waterman</div><div>San Cristóbal de las Casas, Chiapas, Mexico</div><div>+52 1 967 107 5902</div><div>+1 510 342 5693</div><div><br></div></div></div></div></div></div></div></span></div><br><div><div>On Feb 23, 2009, at 9:53 AM, Jean-Marc Vanel wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi<br><br>As some of you know, I'm using Drools as an engine for N3 logic (<a href="http://www.w3.org/2000/10/swap/doc/Rules">http://www.w3.org/2000/10/swap/doc/Rules</a>) .<br>N3 is a language equivalent to Semantic Web's RDF language, but much easier to read and write by hand.<br> Moreover, N3 has, on top of RDF, an extension for rules, e.g. :<br><pre>{ ?x parent ?y } =>  { ?y child ?x }.</pre>Among many other vocabularies searchable on search site Swoogle (<a href="http://swoogle.umbc.edu/">http://swoogle.umbc.edu/</a>), 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. <br> So in summary, N3 is a user-friendly language allowing to express facts, class and properties, and rules.<br><br>So what does that bring for Drools users ?<br>One use case :<br>- open any number of RDF / OWL / N3 documents<br> - test and debug the rules using 3 rule engines (Drools, Euler, CWM)<br>- export all that project as a set of Drools packages, plus the facts in XMLEncoder format ( by clicking on File / "Export as Drools" )<br> <br>You can also use standard Semantic Web tools such as Protégé and Swoop to edit and visualize RDF and OWL files.<br><br>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:<br> <a href="http://eulersharp.svn.sourceforge.net/viewvc/eulersharp/trunk/2003/03swap/rpo-rules.n3">http://eulersharp.svn.sourceforge.net/viewvc/eulersharp/trunk/2003/03swap/rpo-rules.n3</a><br><br>I translate N3 logic into Drools language, using just two classes corresponding to Triple (statement)  ( explanations here : <a href="http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/documentation.html#Translatin">http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/documentation.html#Translatin</a> ).<br><br>Download from<br><a href="https://sourceforge.net/projects/eulergui">https://sourceforge.net/projects/eulergui</a><br><br>Manual  here:<br><a href="http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/documentation.html">http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/documentation.html</a><br> <br>Enjoy !<br><br>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.<br><br>I'm using this framework currently to generate GUI's from domain models ( rules are here : <a href="http://deductions.svn.sourceforge.net/viewvc/deductions/n3/">http://deductions.svn.sourceforge.net/viewvc/deductions/n3/</a> ).<br> 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.<br> <br>I also wrote a How To about what I do currently with EulerGUI :<br>Deduction project - Java Swing application generator from OWL model and N3 logic rules<br><a href="http://deductions.svn.sourceforge.net/viewvc/deductions/html/GUIgenerator.html">http://deductions.svn.sourceforge.net/viewvc/deductions/html/GUIgenerator.html</a><br> Deduction project is work in progress.<br><br>-- <br>Jean-Marc Vanel<br><a href="http://jmvanel.free.fr/">http://jmvanel.free.fr/</a><br> _______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>https://lists.jboss.org/mailman/listinfo/rules-users<br></blockquote></div><br></div></body></html>