[mercury-users] Datalog interpreter

Peter Ross pro at missioncriticalit.com
Mon Aug 8 13:20:57 AEST 2011

On Fri, Aug 5, 2011 at 10:27 PM, Alexsandro Soares
<prof.asoares at gmail.com> wrote:
> Hi Peter,
>    Thank you for your answer.
>    I'm trying to create a SWRL reasoner in Mercury. I have built a very
> basic tableaux-based ALC reasoner in Mercury for reasoning with T-box . Now,
> for efficiency reasons, I'm trying to do an OWL 2 RL reasoner for both T-box
> and A-box reasoning. My first idea is to build a Datalog Interpreter, then
> on top of this, I build an SWRL interpreter and finally I transform OWL 2 RL
> to SWRL.

>    I have to integrate the reasoner in a .Net platform, so I can't use the
> Mercury built-in tabling and constraint solving features, because they
> aren't available on .Net grade (I think).

No they are not available.

>    I am not a experienced programmer in Mercury, so I'm having troubles in
> this task. I need a pretty simple Datalog code and/or documentation in order
> to start my project. I have found some Datalog codes in Java, C++ and Prolog
> (The Datalog Educational System), but not in Mercury.
>   All of this is really necessary? Or there is another way to do an OWL 2 RL
> (or QL or EL) reasoner in Mercury?
I'm sorry I'm not familiar with datalog at all.

The SWRL reasoner we implmented here at MC essentially uses prolog
like resolution along with with minimal model tabling to avoid
infinite loops.

The infinite loops come from rules for such things as inverse
properties a(?x, ?y) -> inv(?y, ?x) and inv(?y, ?x) -> a(?x, ?y).

mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au

More information about the users mailing list