OK, thanks for the update Jamal;  You have the right technique.  For others as well, let's say you have a script that binds the variable ?person in a previous query.  Supposing the usual kennedys module, let's say you have a construct, such as:

CONSTRUCT
{ ?person rdfs:label ?name
}
WHERE
{  ?person kennedys:firstName ?fname .
  
?person kennedys:lastName ?lname .
   BIND (CONCAT(?lname, ", ", ?fname) AS ?name)
}


...and you want to test this query.  One tchnique is to bind the variable in the where clause to an example value, such as:

SELECT *
WHERE
{  BIND(kennedys:JosephKennedy AS ?person)
   ?person kennedys:firstName ?fname .
  
?person kennedys:lastName ?lname .
   BIND (CONCAT(?lname, ", ", ?fname) AS ?name)
}

...the binding to ?person will help develop the query to do what is expected.

Another technique is to choose the module you are working on and run the query to that point.  When the dialog box appears, choose "Infer result triples (temporarily)".  This will infer the triples from t e scripts triple stream into the script model.  You can then execute queries against data the module you are working on will see when it executes.  The inferred triples will remain until the next time you choose to infer the result triples or after choosing Inference > Reset Inferences.

Hopefully these tips will help you and other develop your SPARQLMotion transformations and Web services!

-- Scott

On 2/20/2013 10:39 AM, J.REZZOUK wrote:
Thanks Scott,

I did exactly what you suggested. I used the debug mode and set a breakpoint on the module : the variable was bound but the execution of the query never ended. When I test the query in TBCME replacing the variable by the value it is supposed to be bound with, the query runs well. That's why I suspected a bounding issue.

In the meantime, I have found another way for doing that and avoid subqueries. But I will continue to test the subquery and will get back to you.

Jamal

Le dimanche 17 février 2013 19:29:45 UTC+1, Scott Henninger a écrit :
Jamal; I'm not able to verify this behavior.  I've attached a script that binds a variable name to ?surname then uses it in an ApplyByConstruct, and does so correctly.  It returns a SPARQL Endpoint result in JSON.  You can run this by 1) copying the file to your workspace (Navigator View), 2) choose Script > Refresh/Display SPARQLMotion functions to register the script, then 3) open a browser to:
  http://localhost:8083/tbl/sparqlmotion?id=smvt:testSMvarWithKNames

The best way to tell if a variable is bound at any point in the script is to set a breakpoint on a module.  Click the blue dot icon while editing a SPARQLMotion script and click on the module you want to set it on.  Then execute the script, either in Composer or via a Web browser on the associated function name (see example attached and one at http://www.topquadrant.com/products/SPARQLMotion_docs/SPARQLMotion_ex_dbpediaCapitals.html).

In Composer, a debug window will appear.  On the first page (Variables) is a list of all variables the script knows about at that point in the script.  You can also go to the Query page an execute a query that will be valid against the triple stream at that specific module - i.e. those are the triples the module has at its disposal.

Given that, you should be able to tell when your variable is defined and when it is not.  If you have a scenario in which TopBraid is not setting the variable correctly, an example such as the on attached would be a good idea so we can look into it more closely.

-- Scott


On 2/17/2013 11:27 AM, J.REZZOUK wrote:
Hello Scott,
I am using Windows 7 and TBCME 4.1 and I have also tested with 4.0 version
Jamal

Le vendredi 15 février 2013 09:35:32 UTC+1, Scott Henninger a écrit :
Jamal; What version of Composer are you using?

-- Scott

On 2/14/2013 11:17 PM, J.REZZOUK wrote:
Hello,

It seems to me that variable bound upstream in a SparqlMotion Script (using for example BindBySelect, BindWithConstant...) are not bound downstream in a sparql subquery inside an ApplyConstruct.
Do you confirm ? Is it a bug or something I misunderstand ?

Thanks for your help
Jamal
--
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary Network (EVN), TopBraid Composer, TopBraid Live,
TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
topbraid-user...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
---
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 topbraid-user...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary Network (EVN), TopBraid Composer, TopBraid Live,
TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
topbrai...@googlegroups.com
To unsubscribe from this group, send email to
topbraid-user...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
---
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 topbraid-user...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary Network (EVN), TopBraid Composer, TopBraid Live,
TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
---
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/groups/opt_out.
 
 

--
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary Network (EVN), TopBraid Composer, TopBraid Live,
TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
---
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/groups/opt_out.
 
 

Reply via email to