Hi Holger,

I am sure it's not executed as the triples that use the values calculated 
by the JavaScript function are not constructed. Also, the precondition is 
not fulfilled. Here's my query:

CONSTRUCT{
?this body:reason_float_X ?reasonX .
?this body:reason_float_Y ?reasonY .
?this body:reason_float_Z ?reasonZ .
}
WHERE {
OPTIONAL{
?this body:reason_float_X ?currentReasonX .
}
FILTER(!bound(?currentReasonX)) .
    ?this body:float_X ?reasonX .
    ?this body:float_Y ?reasonY .
    ?this body:float_Z ?reasonZ .
}


   - So, body:float_X,Y,Z are magic properties that call a SPINx function 
   which calculates a value and return it back.
   - When this query runs for the first time, it will call the SPINx 
   function 3 times and construct the 3 triples.
   - If the body:reason_float_X  was already there, it doesn't create 
   anything. But yet, it takes also a long time. If I remove the 3 triples 
   containing the magic properties from the WHERE clause, it doesn't take 
   longer time. The problem also persists if I call the SPINx function 
   directly in the WHERE clause and BIND the values instead of querying the 
   Magic property.
   
Any hints about that?
Thanks a lot.


On Sunday, April 17, 2016 at 5:30:26 PM UTC-7, Holger Knublauch wrote:
>
> Hi Ahmed,
>
> how certain are you that the BIND doesn't get executed? Maybe the 
> execution order is different from what you expect - often it's a matter of 
> placing the right { ... } braces around certain blocks to control the 
> execution order.
>
> Would you want to share details of the SPARQL query?
>
> Holger
>
>
> On 18/04/2016 10:12, Ahmed Shafei wrote:
>
> Hi all, 
> I have a CONSTRUCT query that has a call to a SPINx function. I noticed 
> that even if the query didn't reach the part where the SPINx function has 
> to be called (i.e. BIND(ex:CalculateWithJS(?someNumber) AS 
> ?calculatedNumber)), the query takes longer time. If I remove that BIND, 
> the query takes a normal query time. I don't really understand what happens 
> when a query calls a SPIN function that has a JavaScript code attached, why 
> does it take longer time even if the code was not executed?
>
> Thanks in advance.
> Regards,
> Ahmed
>
> -- 
> You received this message because you are subscribed to the Google Group 
> "TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
> Network (EVN), Reference Data Manager (RDM), TopBraid Composer, TopBraid 
> Live, TopBraid Insight, SPARQLMotion, SPARQL Web Pages and SPIN.
> To post to this group, send email to [email protected] 
> <javascript:>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "TopBraid Suite Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Group 
"TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
Network (EVN), Reference Data Manager (RDM), TopBraid Composer, TopBraid Live, 
TopBraid Insight, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
--- 
You received this message because you are subscribed to the Google Groups 
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to