From: Jean-Marc V. <jea...@gm...> - 2010-04-10 14:38:40
|
Hi all This morning I attacked the translation of complex OWL expressions into N3 rules. I took the people and pets example from aceview Examples<http://attempto.ifi.uzh.ch/aceview/#Examples> . >From there I translated an OWL subclass assertion involving anonymous classes into N3 rules , e.g. [from Ace View example] Every person that has-as-pet at least 3 things is an animal-lover. in Manchester syntax: person and ( has-as-pet min 3 thing ) SubClassOf animal-lover In N3: [ a :Class; rdfs:subClassOf people_pets_ace:animal-lover; :intersectionOf ( people_pets_ace:person [ a :Restriction; :minCardinality "3"^^xsd:nonNegativeInteger; :onProperty people_pets_ace:has-as-pet ] ) ]. Translation in N3 logic: { ?X a person. _:d e:findall (?P {?X has-as-pet ?P} ?Y). ?Y math:memberCount ?C. ?C math:greaterThan 2 . } => { ?X a animal-lover }. The EulerGUI project for this case is : http://deductions.svn.sourceforge.net/viewvc/deductions/n3_new/owl-subclass-assertions-to-rules.n3p The plan is now : 1. add more OWL expressions types to this OWL ==> N3 translator 2. in a post-load step in EulerGUI (after project load) , automatically run his OWL ==> N3 translator, so that the rules are available for inferencing (similar to what is already done for SWRL rules, see [1] ) 3. in a post-load step also add all the implementation by rules in N3 logic for most of OWL concepts [2] from the Euler project 4. complete the SWRL to N3 translator [1] with SWRL builtins, and pass SWRL test suite from [3] ; 5. for running translated SWRL rules on the Drools / N3 engine, define an API and Java implementation for SWRL builtins that can be shared with Martin O'Connor's forthcoming Drools engine for SWRL 6. work on a translator from N3 logic to Drools rules, by populating an RDF graph of Drools rule objects conforming to the Drools API [4], using rule based techniques similar to the above translators; the goal is to completely replace the current Java implementation of a translator from N3 logic to Drools rules [5] [1] Euler GUI Manual: Translator from SWRL to N3 logic : http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/documentation.html#L2219 [2] http://eulersharp.svn.sourceforge.net/viewvc/eulersharp/trunk/2003/03swap/owl-rules.n3 [3] http://semwebcentral.org/projects/swrl-test-suite/ [4] https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/unstable/drools-core/org/drools/rule/Rule.html [5] translator from N3 logic to Drools rules http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/documentation.html#Translatin -- 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 ) |