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 Wed, 13 Mar 2019 18:50:10 GMT
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