Again, inadvertently, I used a unsubscribed mail. Miguel
On 16 Jul 2014, at 18:11, Miguel Alves <[email protected]> wrote: > Hi All, > > in the implementations that I did until now, a sparql command can invoke > other rules. For instance, the next rules can be defined: > > (?x <eg:p1> ?y) <- > (\\\\\\sparql > Select ?x ?y where {?x <eg:p2> ?y .} > \\\\\\sparql). > (?x <eg:p2> ?z) <- (?x <eg:p> ?y) (?y <eg:p> ?z) . > > However, I was thinking if is not better to restrict sparql commands in rules > only to asserted data, do not allowing deducted data or not guarantee the > result. More and less the same behaviour of OWL contraints, where we cannot > reasoning over dynamic data produced by rules. If we impose this restriction, > we can improve the performance by reducing the SPARQL calls (a SPARQL command > must be re-evaluated every time that new data is produced). Furthermore, > empirically (I didn't prepare a show case), SPARQL commands can produce new > data that can be false when the deductions continue. For instance, let's > consider a SPARQL command with a "having" clause like cnt < 3, where cnt is a > record count. When the deductions continue, new data can be produced and cnt > < 3 can be longer true. However, the data produced before was already > asserted. > > I hope that I explained well my point of view. Give me your opinion how > processing should be done in a sparql command in a rule. Consider other rules > or not (only asserted data)? > > Miguel
