jena-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adrian Walker <adriandwal...@gmail.com>
Subject Re: [GenericRuleReasoner] inner workings
Date Tue, 12 Mar 2019 23:16:56 GMT
Marco,

This might be of interest:

                           www.executable-english.com/iblClient1.java

HTH,   -- Adrian

On Tue, Mar 12, 2019 at 3:18 PM Marco Neumann <marco.neumann@gmail.com>
wrote:

> so what's your current recommendation for a superior third party rules
> reasoner that works efficiently with the jena tooling? free & commercial
> option welcome
>
> Marco
>
>
>
> On Mon 14. Jan 2019 at 19:16, Dave Reynolds <dave.e.reynolds@gmail.com>
> wrote:
>
> > Hi Barry,
> >
> > [Agreed that dev is probably the better place to discuss this.]
> >
> > The two engines in jena are indeed loosely styled on RETE and on tabled
> > datalog. However, I wouldn't claim they were particularly complete or
> > good implementations of either. So while looking at some of the source
> > literature that inspired them might be helpful don't expect very much of
> > what's covered in the literature to be present in the code.
> >
> > For RETE then the wikipedia article [1] is a good summary and source of
> > starting references. I had a copy of the original Forgy paper [1](ref
> > 1), among others,when I was doing the work. There has been a *lot* of
> > work on improvements to RETE since the 80s and while there were times
> > when we might have done a new forward engine using more modern
> > techniques it never happened.
> >
> > For the backward engine the approach is a variant of SLG-WAM as used for
> > XSB but highly highly simplified since we can't express general tuples
> > or recursive data structures within jena's triples. A few google
> > searches haven't turned up the exact paper that originally inspired the
> > approach. The closest I've found are [2] and [3], which probably cover
> > the same ground.
> >
> > Let me reinforce that the Jena engines are really simplified. They were
> > enough to get the job done at the time (over a decade ago now) and have
> > proved useful for some people since but I wouldn't want to defend any of
> > the implementation choices.
> >
> > Dave
> >
> > [1] https://en.wikipedia.org/wiki/Rete_algorithm
> > [2]
> >
> >
> https://pdfs.semanticscholar.org/2078/96964ee85f983cd861a4f8c5dff0bfc9f03e.pdf
> > [3]
> >
> >
> https://pdfs.semanticscholar.org/6c6d/26e8fe1b755140ffcb57025b021a046b2a3b.pdf
> >
> > On 14/01/2019 16:33, ajs6f wrote:
> > > I have no useful general information about the reasoning framework, but
> > I am copying this over to dev@. Discussions of how to extend Jena
> > definitely have a place there.
> > >
> > > ajs6f
> > >
> > >> On Jan 14, 2019, at 6:40 AM, Nouwt, B. (Barry)
> > <barry.nouwt@tno.nl.INVALID> wrote:
> > >>
> > >> Hi all, I want to investigate the inner workings of the
> > GenericRuleReasoner (with the purpose of extending it in the future). In
> > Jena's documentation I read:
> > >>
> > >> "Jena includes a general purpose rule-based reasoner which is used to
> > implement both the RDFS and OWL reasoners but is also available for
> general
> > use. This reasoner supports rule-based inference over RDF graphs and
> > provides forward chaining, backward chaining and a hybrid execution
> model.
> > To be more exact, there are two internal rule engines one forward
> chaining
> > RETE engine and one tabled datalog engine - they can be run separately or
> > the forward engine can be used to prime the backward engine which in turn
> > will be used to answer queries."
> > >> source: https://jena.apache.org/documentation/inference/#rules
> > >>
> > >> Apart from Jena's documentation, Jena's mailing lists and its source
> > code, are there any resources that can better help me grasp what is
> > happening inside the generic rule reasoner? For example, the text above
> > mentions the forward chaining RETE engine and the tabled datalog engine,
> > are there any scientific papers that I might read to better understand
> > their inner workings?
> > >>
> > >> Maybe this question is better suited for the dev@jena.apache.org
> > <mailto:dev@jena.apache.org>?
> > >>
> > >> Regards, Barry
> > >> This message may contain information that is not intended for you. If
> > you are not the addressee or if this message was sent to you by mistake,
> > you are requested to inform the sender and delete the message. TNO
> accepts
> > no liability for the content of this e-mail, for the manner in which you
> > use it and for damage of any kind resulting from the risks inherent to
> the
> > electronic transmission of messages.
> > >
> >
> --
>
>
> ---
> Marco Neumann
> KONA
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message