W3C home > Mailing lists > Public > semantic-web@w3.org > April 2010

Re: Implementing OWL2-RL with a RETE rule engine.

From: Olivier Rossel <olivier.rossel@gmail.com>
Date: Wed, 21 Apr 2010 19:52:46 +0200
Message-ID: <j2m516816971004211052oaafd3dc3od9ebc2d6727e73d1@mail.gmail.com>
To: Joe Presbrey <presbrey@csail.mit.edu>
Cc: Dan Connolly <connolly@w3.org>, Tim Berners-Lee <timbl@w3.org>, Jakub Kotowski <jakubkotowski@gmx.net>, Semantic Web <semantic-web@w3.org>, public-cwm-talk@w3.org
fyi, i am working with Jean-Marc Vanel on EulerGUI, a unified
middleware and front-end for various rules engine (cwm, euler, drools,
fuxi, etc).
And thanks to this tool + Jos' n3 rules, we have successfully imported
OWL+SWRL into either Drools or Euler
and generate a correct inference result, as n3, involving interleaved
SWRL and OWL rules.

We have yet to investigate with cwm, both with and without the "-rete"
command line option.
but there should be no problem.



On Wed, Apr 21, 2010 at 6:54 PM, Joe Presbrey <presbrey@csail.mit.edu> wrote:
> C# Javascript Prolog oh my!  Have you seen one in C?  I'm looking for
> one easy to embed in existing popular web servers.
>
> --
> Joe Presbrey
>
> On Tue, Apr 20, 2010 at 2:42 PM, Dan Connolly <connolly@w3.org> wrote:
>> On Tue, 2010-04-20 at 13:59 -0400, Tim Berners-Lee wrote:
>>> On 2010-04 -19, at 15:29, Jakub Kotowski wrote:
>>>
>>> > Dear Olivier,
>>> >
>>> > Olivier Rossel wrote:
>>> >> do you think that cwm's architecture is suitable as a rule engine for OWL2RL?
>>> >
>>> > I'm not an expert on cwm (or OWL for that matter) but I think that most
>>> > OWL 2 RL rules are expressible in N3 rules. You would have to come up
>>> > with a way to translate the rules with "false" in the head
>>>
>>> Typically, one generates a triple putting something into class :Error and then checking the result for that.
>>
>> I tend to look for { ?X owl:differentFrom ?X }, but yes, something like
>> that.
>>
>>
>>> > Anyway, by directly translating the OWL 2 RL rules into N3 you maybe
>>> > would be able to do OWL 2 RL reasoning using cwm but it probably
>>> > wouldn't be very efficient or scalable (e.g. materializing all
>>> > owl:sameAs triples probably isn't the best thing to do).
>>>
>>> cwm has a mode (cwm --closure=e) in which it smushes together two nodes
>>> which are owl:sameAs each other.  That could help a little.
>>>
>>> It may well not be scalable, but playing with the rules may be
>>> useful.
>>
>> I see "RETE" in the subject... there are a few cwm-work-alikes
>> that have RETE engines and grok N3:
>>
>>  http://code.google.com/p/fuxi/
>>
>>  http://www.mindswap.org/~katz/pychinko/
>>
>> Euler (http://www.agfa.com/w3c/euler/ ) is sometimes
>> really fast, too.
>>
>>
>> --
>> Dan Connolly, W3C http://www.w3.org/People/Connolly/
>> gpg D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E
>>
>>
>>
>
Received on Wednesday, 21 April 2010 17:58:34 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:41:21 UTC