jena-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lorenz B." <>
Subject Re: [GenericRuleReasoner] inner workings
Date Wed, 13 Mar 2019 08:31:31 GMT
I don't see how this link to some code example to some whatever online
service answers his question...can you explain this please a bit more?

I mean, if I understood correctly, Marco was asking for some rule engine
that can be combined with Apache Jena. So, I'd expect something like
Drools engine with a Jena adapter or the like. And ideally I guess a
standalone, open source, free to use tool.

I read through your research paper but couldn't figure out what the
underlying rule engine is based on nor could I see any benchmarks w.r.t.
Moreover, the code just indicates to use some online service - so a user
has to register and, as far as I can see, has to pay US $100 per month.
And you need the data as SQL database? Or can it process RDF directly?

Sorry for my questions, it's just because I've never heard about this
tool before. And I'm a bit confused how it works on RDF data.

> Marco,
> This might be of interest:
> HTH,   -- Adrian
> On Tue, Mar 12, 2019 at 3:18 PM Marco Neumann <>
> 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 <>
>> 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]
>>> [2]
>>> [3]
>>> 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)
>>> <> 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:
>>>>> 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
>>> <>?
>>>>> 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
Lorenz B├╝hmann
AKSW group, University of Leipzig
Group: - semantic web research center

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