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.reyno...@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.no...@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 d...@jena.apache.org > <mailto:d...@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