Thank you for answer, Dave. > 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.
Alright, does it mean that my application with rules and builtins will be sound, but completeness should be proved? Thank you, Dew 10.11.2012, 15:28, "Dave Reynolds" <[email protected]>: > 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
