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

Reply via email to