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 Thu, 14 Mar 2019 00:16:36 GMT
Hi All,

Correcting a link....  This one

www.executable-english.com/demo_agents/RDFQu eryLangComparison1.agent
<http://www.executable-english.com/demo_agents/RDFQueryLangComparison1.agent>

should of course be

www.executable-english.com/demo_agents/RDFQueryLangComparison1.agent

Based on comments so far, this one may also be useful

www.executable-english.com/A_Wiki_for_Business_Rules_in_Open_Vocabulary_Executable_English.pdf

                           Cheers, -- Adrian

On Wed, Mar 13, 2019 at 11:50 AM Adrian Walker <adriandwalker@gmail.com>
wrote:

> Hi Lorenz &All,
>
> *Marco*'s original question was
>
>
> *what's your current recommendation for a superior third party rules
> reasoner that works efficiently with the jena tooling? free & commercial
> option welcome *
> Lorenz B. wrote:
>
>
> *The code  [1] 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?*
>
> Actually, the user does not have to register with the reasoner endpoint,
> either from a Java client, or from a browser in shared mode.  Registration
> is
> only for a more private way of using the system.
>
> Small examples run without the need for for a SQL database.  For larger
> examples the
> system  automatically generates and runs SQL queries "under the covers".
> The SQL generator could in principle be modified to emit SPARQL queries.
>
> Here's a simple example of querying RDF [2].
>
>                                HTH,  -- Adrian
>
>
> [1]  www.executable-english.com/iblClient1.java
> <http://www.executable-english.com/iblClient1.java>
>
> [2]  www.executable-english.com/demo_agents/RDFQu eryLangComparison1.agent
>
> <http://www.executable-english.com/demo_agents/RDFQueryLangComparison1.agent>
>
>
>
> On Wed, Mar 13, 2019 at 1:39 AM Lorenz B. <
> buehmann@informatik.uni-leipzig.de> wrote:
>
>> 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.
>> performance.
>> 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:
>> >
>> >                            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
>> >>
>> --
>> Lorenz B├╝hmann
>> AKSW group, University of Leipzig
>> Group: http://aksw.org - semantic web research center
>>
>>

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