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

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 18:33:52 UTC