On 09/11/12 20:32, dew dew wrote:
Hello all,

I have an understanding problem for general rule reasoner in Jena.
First, I see that Jena rule language looks like first-order logic, where I can 
"imagine" triple predicate when dealing with RDF triples.

It's datalog with builtins, not first-order logic.

Let's consider forward chaining engine. Rules there are of the form A /\ B -> C. This 
looks like definite clause, if there is no negation. If I have a rule A /\ B -> C /\ D, 
this one can actually be decomposed for definite clauses : A /\ B -> C  and  A /\ B 
-> D.

It is known that forward inference procedure for first-order logic definite 
clause knowledge bases is sound and complete. Can I assume if my forward Jena 
rules do not have negations, then the Jena forward reasoning in my application 
is sound and complete?

In the absence of builtins, yes.

Once you start using the builtins this is no longer true, because (even ignoring the non-logical builtins like noValue) they include arithmetic so you can write rule sets which don't iterate to a fixed-point.

I have a similar question about backward chaining inference in Jena. As rules 
are like datalog, which inferences are sound and complete.

Ditto.

Dave


Reply via email to