The preceding announce on this list was on february 23:

http://www.nabble.com/EulerGUI-released---IDE-for-semantic-Web-with-Drools-engine-and-Drools-export-td22164229.html

In short, EulerGUI is an IDE centered around a Semantic Web language called N3. N3 is a good candidate for a universal data + models + rules + queries textual language. The RDF subset of N3 is perfectly isomorphic to RDF, but as human readable as can be. And it is readable by Protégé, Jena, and others tools. The OWL (ontology) modeling language, being expressed as RDF, is thus also expressible in N3. Here is an example for an OWL model :

:Person a owl:Class .

:name a owl:DatatypeProperty ;
rdfs:domain :Person ;
rdfs:range xsd:string ;
rdfs:comment "First name and last name" ;
rdfs:label "name" .

:Address a owl:Class .

:hasAddress a owl:ObjectProperty ;
rdfs:domain :Person ;
rdfs:range :Address ;
rdfs:comment "click to enter address"@en ;
rdfs:label "address" .

Here is an example of a simple rule in N3 logic :

{ ?C hasParent ?P. ?P hasBrother ?B } => { ?C hasUncle ?B }.

This rule is translated into Drools, giving this:

rule "family-rules.n3 0"
when
Triple( $C : subject, predicate == "<file:/home/jmv/family-rules.n3#hasParent>",
$P : object )
Triple( subject == $P, predicate == "<file:/home/jmv/family-rules.n3#hasBrother>",
$B : object )
not(
Triple( subject == $C, predicate == "<file:/home/jmv/family-rules.n3#hasUncle>",
object == $B ) )
then
Triple newTriple;
newTriple = new Triple( $C, "<file:/home/jmv/family-rules.n3#hasUncle>", $B );
insert( newTriple );
endncle>", $B ); insert( newTriple );

end

As you can see, a negation of the consequent (RHS) is added in the antecedent, to avoid extra responses.

This is one of the new features. The others are :

The rule base, the models, and the data are exportable for using with Drools independently. So, for the Drools community, EulerGUI allows to import models and data from N3, RDF, OWL, UML, eCore documents. Also for some people, writing N3 rules can be easier than Drools language.

As you see above, the translation makes use of a particuliar form of Drools language, which makes use of a single Java class, Triple, that models RDF statements. This is quite far from the intended Drools usage, but it shows the power and flexibility of Drools. When embedded into generated Java Swing applications, a Drools engine is able to generate a form in a few milliseconds from the class model! Also this design, based on a single Java class, allows to add and remove business classes at runtime.

The EulerGUI documentation.

Déductions is a Java Swing application generator from OWL models and N3 logic rules.

The User Manual for the application generator .



--
Jean-Marc Vanel
Consulting, services, training,
Rule-based programming, Semantic Web
http://jmvanel.free.fr/
+33 (0)6 89 16 29 52 -- +33 (0)1 39 55 58 16
( we rarely listen to voice messages, please send a mail instead )