Re: [topbraid-users] does anyone have a good example of the SWP ui:functionCall for a js function that maintains a value

2015-03-15 Thread Jack Hodges
I found an example in the SWP manual that made me think about what 
ui:tempGraph is doing. It seemed to me that I could just create a node in 
the current graph and set/get values from it using ui:update and spl:object 
without using tempGraph (not that I had gotten it to work anyway). So I 
augmented my SWP ui:prototype as follows (the associated SPARQL query is 
working fine and so was this fragment at least in that it was building 
results). The eddl:tempPosition subject is an instance with a property 
eddl:boxPosition (a float). The SPIN functions work.

ui:group let:cname={{= afn:localname(?resource) }} let:curry={= 
xsd:integer(5) } let:resourceU={= ssf:maybeConvertToURI(?resource) }

ui:group letrs:entries={#

SELECT DISTINCT ?clabel ?alabel ?rlabel ?range

WHERE {

?resource rdfs:subClassOf ?rest .

?resource rdfs:label ?clabel .

?rest owl:onProperty ?att .

?att rdfs:label ?alabel .

?att rdfs:range ?range .

{

?range rdfs:subClassOf rdfs:Resource .

?range owl:equivalentClass ?eclass .

}

UNION

{

?range rdfs:label ?rlabel .

} .

}

   ORDER BY (?alabel) } ui:id=IndexList{= ui:newline() 
}\tiny\begin{figure}[htb]

  {= ui:newline() }\begin{tikzpicture}[every 
node/.style={auto,font=\scriptsize,text width=4cm,inner sep=5pt}]

  {= ui:newline() }\draw (0,6) node(0) [draw] {{= 
eddl:replaceUnderscoreCharacter(?cname) }};

  {= ui:newline() }ui:forEach ui:indexVar=index ui:resultSet={= ?entries 
}{= spin:nl() } \\

  {= ui:newline() }\draw (12,{= *spl:object(eddl:tempPosition, 
eddl:boxPosition)* })node({= ?index + 1 }) [draw] {{= 
eddl:bcRangeString(?range) }};

  {= ui:newline() }\draw[-gt;] (0.south) |-  node [near end] {\tiny ${= 
eddl:replaceUnderscoreCharacter(?alabel) }$}   ({= ?index + 1 }.west);

  {= ui:newline() }*ui:update ui:updateQuery={!*

*INSERT {*

*eddl:tempPosition eddl:bpxPosition (?prev - 0.4 * 
?rnum) .*

*}*

*WHERE {*

*BIND (eddl:tempPosition eddl:boxPosition ?foo) AS 
?prev) .*

*BIND ({= eddl:bcydist(?range)} AS ?rnum) . *

*}*

*} /*

  {= ui:newline() }/ui:forEach{= ui:newline() }\end{tikzpicture}

  {= ui:newline() }\caption{{= eddl:replaceUnderscoreCharacter(?caption) }}

  {= ui:newline() }\label{{= ?label }}

  {= ui:newline() }\end{figure}/ui:group

/ui:group


SWP is complaining about the INSERT, but the example I found in the manual 
(section 5.6) suggests that I should not be getting an error (albeit, in 
the example, the surrounding code is different (ui:precondition)).


As before, the idea here is to iterate through a list and calculate the y 
position of a box based on the content of the box and the y position of the 
previous box.


Jack

On Friday, March 13, 2015 at 3:31:12 PM UTC-7, Jack Hodges wrote:

 I tried several things, including embedding the INSERT into an SWP 
 function (setLocalVariable) and the SELECT into a normal SPIN function 
 (getLocalVariable). But they didn't work. I also tried it with the 
 spl:objectInGraph followed with a call to my SWP function but that didn't 
 work.

 Then I thought what if I could do something like a 'let:curry-={= 0.4 - 
 eddl:bcydist(?range) }'  That is a substraction assignment operator. This 
 doesn't produce any errors but it also doesn't do anything. It would be 
 great if the local assignment would support more assignment operators than 
 just simple assignment.

 Is it safe to assume that the scope of let is the ui:group it is defined 
 in?

 Once again, stuck. The simplest of all possible functionalities:

 ui:forEach ui:indexVar=index ui:resultSet={= ?entries }
   perform a calculation on a variable in ?entries based on a simple 
 calculation (do determine a relative position)
   do something graphical with that value like draw a bubble at a location
   persist that location for the next iteration
 /ui:forEach

 Surely someone has tried using SWP to draw graphical entities where 
 relative (and exact) positioning is needed...

 On Friday, March 13, 2015 at 11:53:58 AM UTC-7, Jack Hodges wrote:

 Is these (both the INSERT and the SELECT something that would be embedded 
 inside my SWP forEach? Even if it is its going to be messy and ugly. Can I 
 take the ui:update block and the other code and put them into SPIN 
 functions or magic properties to unclutter the SWP? So far it isn't 
 working...

 Its just sad that there isn't a clean (this is hardly what I'd call 
 clean) mechanism to persist a variable value in the same context you 
 mentioned for ui:tempGraph. That is, within the scope of the SWP 
 construction.

 Jack

 On Thursday, March 12, 2015 at 4:16:22 PM UTC-7, 

Re: [topbraid-users] does anyone have a good example of the SWP ui:functionCall for a js function that maintains a value

2015-03-15 Thread Holger Knublauch

Hi Jack,

what you are looking for is some kind of global variable mechanism. The 
SWP variable scoping mechanism doesn't have this built-in, and I have 
not run into a use case for them yet, but I can see that this should be 
easier. So I have added a couple of helper modules in the attached file:


- SWP element var:setGlobalVar arg:name=... arg:value=... /
- SPIN function var:globalVarName(name)

As shown in the following example

ui:group
var:setGlobalVar arg:name=test arg:value={= 42 }/
ui:forEach ui:resultSet={#
SELECT ?class
WHERE {
?class a rdfs:Class .
} }
divGlobal var is now {= var:globalVarValue(test) 
}/div
var:setGlobalVar arg:name=test arg:value={= 
var:globalVarValue(quot;testquot;) + 1 }/

/ui:forEach
/ui:group

These elements are internally using a dedicated ui:tempGraph. Just 
import the file and you should be able to make progress.


I hope this helps and I will turn those two modules into a standard 
feature in the ui: namespace from TopBraid 5.0 onwards.


Thanks for your patience
Holger


On 3/16/2015 4:25, Jack Hodges wrote:
I found an example in the SWP manual that made me think about what 
ui:tempGraph is doing. It seemed to me that I could just create a node 
in the current graph and set/get values from it using ui:update and 
spl:object without using tempGraph (not that I had gotten it to work 
anyway). So I augmented my SWP ui:prototype as follows (the associated 
SPARQL query is working fine and so was this fragment at least in that 
it was building results). The eddl:tempPosition subject is an instance 
with a property eddl:boxPosition (a float). The SPIN functions work.


ui:group let:cname={{= afn:localname(?resource) }} let:curry={= 
xsd:integer(5) } let:resourceU={= ssf:maybeConvertToURI(?resource) }


ui:group letrs:entries={#

SELECTDISTINCT?clabel?alabel?rlabel?range

WHERE {

?resource rdfs:subClassOf ?rest .

?resource rdfs:label ?clabel .

?rest owl:onProperty ?att .

?att rdfs:label ?alabel .

?att rdfs:range ?range .

{

?range rdfs:subClassOf rdfs:Resource .

?range owl:equivalentClass ?eclass .

}

UNION

{

?range rdfs:label ?rlabel .

} .

}

ORDER BY (?alabel) } ui:id=IndexList{= ui:newline() 
}\tiny\begin{figure}[htb]


  {= ui:newline() }\begin{tikzpicture}[every 
node/.style={auto,font=\scriptsize,text width=4cm,inner sep=5pt}]


  {= ui:newline() }\draw (0,6) node(0) [draw] {{= 
eddl:replaceUnderscoreCharacter(?cname) }};


  {= ui:newline() }ui:forEach ui:indexVar=index ui:resultSet={= 
?entries }{= spin:nl() } \\


  {= ui:newline() }\draw (12,{= *spl:object(eddl:tempPosition, 
eddl:boxPosition)* })node({= ?index + 1 }) [draw] {{= 
eddl:bcRangeString(?range) }};


  {= ui:newline() }\draw[-gt;] (0.south) |-  node [near end] {\tiny 
${= eddl:replaceUnderscoreCharacter(?alabel) }$}   ({= ?index + 1 }.west);


  {= ui:newline() }*ui:update ui:updateQuery={!*

*  INSERT {*

*eddl:tempPosition eddl:bpxPosition (?prev - 0.4 * ?rnum) .*

*  }*

*  WHERE {*

*  BIND (eddl:tempPosition eddl:boxPosition ?foo) AS 
?prev) .*


*  BIND ({= eddl:bcydist(?range)} AS ?rnum) . *

*  }*

*  } /*

  {= ui:newline() }/ui:forEach{= ui:newline() }\end{tikzpicture}

  {= ui:newline() }\caption{{= 
eddl:replaceUnderscoreCharacter(?caption) }}


  {= ui:newline() }\label{{= ?label }}

  {= ui:newline() }\end{figure}/ui:group

/ui:group


SWP is complaining about the INSERT, but the example I found in the 
manual (section 5.6) suggests that I should not be getting an error 
(albeit, in the example, the surrounding code is different 
(ui:precondition)).



As before, the idea here is to iterate through a list and calculate 
the y position of a box based on the content of the box and the y 
position of the previous box.



Jack


On Friday, March 13, 2015 at 3:31:12 PM UTC-7, Jack Hodges wrote:

I tried several things, including embedding the INSERT into an SWP
function (setLocalVariable) and the SELECT into a normal SPIN
function (getLocalVariable). But they didn't work. I also tried it
with the spl:objectInGraph followed with a call to my SWP function
but that didn't work.

Then I thought what if I could do something like a 'let:curry-={=
0.4 - eddl:bcydist(?range) }'  That is a substraction assignment
operator. This doesn't produce any errors but it also doesn't do
anything. It would be great if the local assignment would support
more assignment operators than just simple assignment.

Is it safe to assume that the scope of let is the ui:group it is
defined in?

Once again, stuck. The simplest of all possible functionalities:

ui:forEach ui:indexVar=index ui:resultSet={= ?entries }
  perform a calculation on a variable in ?entries based on a

Re: [topbraid-users] does anyone have a good example of the SWP ui:functionCall for a js function that maintains a value

2015-03-13 Thread Jack Hodges
Is these (both the INSERT and the SELECT something that would be embedded 
inside my SWP forEach? Even if it is its going to be messy and ugly. Can I 
take the ui:update block and the other code and put them into SPIN 
functions or magic properties to unclutter the SWP? So far it isn't 
working...

Its just sad that there isn't a clean (this is hardly what I'd call clean) 
mechanism to persist a variable value in the same context you mentioned for 
ui:tempGraph. That is, within the scope of the SWP construction.

Jack

On Thursday, March 12, 2015 at 4:16:22 PM UTC-7, Holger Knublauch wrote:

  I don't think SPINX would be helping you, even with a stand-alone file - 
 each invocation of such a SPIN function would get its own JavaScript 
 engine, and all intermediate values will be lost.

 Your computation below looks like easily done in SPARQL. All you need to 
 do is remember the intermediate values in a graph such as ui:tempGraph.

 Holger


 On 3/13/15 8:24 AM, Jack Hodges wrote:
  
 This seems like a good idea but it isn't working out so nicely. If I use 
 the spix.javaScriptCode proerty on the following javascript fragment: 

  var prev = 6; var curr = 0; if(arg1 == 0) curr = 5; else curr = prev - 
 0.4 * arg2; prev = curr; return curr;

  the code executes (in a SPARQL window) but doesn't persist the value of 
 'prev', which was the original need.

  If I use the spinx:javaScriptFile on the following (named 'position.js' 
 in the folder  where the SPIN file is located):

  function yBoxStart(index, count) {
  var prev = 6;
 var curr = 0;

  if (index == 0) {
  curr = 5;
  } else {
  curr = prev - 0.4 * count;
  }

  prev = curr;

  return curr;
  }

  Then it doesn't produce any results in the SPARQL window at all. I 
 suspect that the 'position.js' file cannot be found. I have put it in 
 different folders and tried a full URL to it with the same [lack of] 
 results. The documentation goes part way through a full example but leaves 
 out just enough for me to fail to get it working. Clearly this is the 
 rudimentary of functions so there must be something very simple that is 
 wrong. I didn't see anything about the name of the javascript function in 
 the documentation. Is that maybe related to this problem? Comments?

  Jack

  
 On Tuesday, March 10, 2015 at 3:22:50 PM UTC-7, Holger Knublauch wrote: 

  ui:functionCall is only producing JavaScript source code that would be 
 executed client-side. If you want server-side execution of JavaScript 
 logic, you could use SPINx

 http://spinrdf.org/spinx.html

 HTH
 Holger


 On 3/11/15 7:11 AM, Jack Hodges wrote:
  
 and performs some calculation? I am trying to calculate a display 
 position for part of a graphic inside a ui:foreach. The position is based 
 on the position of the previous item in the iteration. It is easy enough to 
 write a js function that will maintain the variables and their values, and 
 calculate the new position, but is using ui:functionCall and appropriate 
 way to talk with the function? Thanks, 

  Jack
  -- 
 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 topbrai...@googlegroups.com
 --- 
 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/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 topbrai...@googlegroups.com 
 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 topbraid-user...@googlegroups.com 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 topbraid-users@googlegroups.com
--- 
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-users+unsubscr...@googlegroups.com.
For 

Re: [topbraid-users] does anyone have a good example of the SWP ui:functionCall for a js function that maintains a value

2015-03-13 Thread Jack Hodges
I tried several things, including embedding the INSERT into an SWP function 
(setLocalVariable) and the SELECT into a normal SPIN function 
(getLocalVariable). But they didn't work. I also tried it with the 
spl:objectInGraph followed with a call to my SWP function but that didn't 
work.

Then I thought what if I could do something like a 'let:curry-={= 0.4 - 
eddl:bcydist(?range) }'  That is a substraction assignment operator. This 
doesn't produce any errors but it also doesn't do anything. It would be 
great if the local assignment would support more assignment operators than 
just simple assignment.

Is it safe to assume that the scope of let is the ui:group it is defined in?

Once again, stuck. The simplest of all possible functionalities:

ui:forEach ui:indexVar=index ui:resultSet={= ?entries }
  perform a calculation on a variable in ?entries based on a simple 
calculation (do determine a relative position)
  do something graphical with that value like draw a bubble at a location
  persist that location for the next iteration
/ui:forEach

Surely someone has tried using SWP to draw graphical entities where 
relative (and exact) positioning is needed...

On Friday, March 13, 2015 at 11:53:58 AM UTC-7, Jack Hodges wrote:

 Is these (both the INSERT and the SELECT something that would be embedded 
 inside my SWP forEach? Even if it is its going to be messy and ugly. Can I 
 take the ui:update block and the other code and put them into SPIN 
 functions or magic properties to unclutter the SWP? So far it isn't 
 working...

 Its just sad that there isn't a clean (this is hardly what I'd call clean) 
 mechanism to persist a variable value in the same context you mentioned for 
 ui:tempGraph. That is, within the scope of the SWP construction.

 Jack

 On Thursday, March 12, 2015 at 4:16:22 PM UTC-7, Holger Knublauch wrote:

  I don't think SPINX would be helping you, even with a stand-alone file - 
 each invocation of such a SPIN function would get its own JavaScript 
 engine, and all intermediate values will be lost.

 Your computation below looks like easily done in SPARQL. All you need to 
 do is remember the intermediate values in a graph such as ui:tempGraph.

 Holger


 On 3/13/15 8:24 AM, Jack Hodges wrote:
  
 This seems like a good idea but it isn't working out so nicely. If I use 
 the spix.javaScriptCode proerty on the following javascript fragment: 

  var prev = 6; var curr = 0; if(arg1 == 0) curr = 5; else curr = prev - 
 0.4 * arg2; prev = curr; return curr;

  the code executes (in a SPARQL window) but doesn't persist the value of 
 'prev', which was the original need.

  If I use the spinx:javaScriptFile on the following (named 'position.js' 
 in the folder  where the SPIN file is located):

  function yBoxStart(index, count) {
  var prev = 6;
 var curr = 0;

  if (index == 0) {
  curr = 5;
  } else {
  curr = prev - 0.4 * count;
  }

  prev = curr;

  return curr;
  }

  Then it doesn't produce any results in the SPARQL window at all. I 
 suspect that the 'position.js' file cannot be found. I have put it in 
 different folders and tried a full URL to it with the same [lack of] 
 results. The documentation goes part way through a full example but leaves 
 out just enough for me to fail to get it working. Clearly this is the 
 rudimentary of functions so there must be something very simple that is 
 wrong. I didn't see anything about the name of the javascript function in 
 the documentation. Is that maybe related to this problem? Comments?

  Jack

  
 On Tuesday, March 10, 2015 at 3:22:50 PM UTC-7, Holger Knublauch wrote: 

  ui:functionCall is only producing JavaScript source code that would be 
 executed client-side. If you want server-side execution of JavaScript 
 logic, you could use SPINx

 http://spinrdf.org/spinx.html

 HTH
 Holger


 On 3/11/15 7:11 AM, Jack Hodges wrote:
  
 and performs some calculation? I am trying to calculate a display 
 position for part of a graphic inside a ui:foreach. The position is based 
 on the position of the previous item in the iteration. It is easy enough to 
 write a js function that will maintain the variables and their values, and 
 calculate the new position, but is using ui:functionCall and appropriate 
 way to talk with the function? Thanks, 

  Jack
  -- 
 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 topbrai...@googlegroups.com
 --- 
 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/d/optout.


   -- 
 You received this message 

Re: [topbraid-users] does anyone have a good example of the SWP ui:functionCall for a js function that maintains a value

2015-03-12 Thread Jack Hodges
I'll try it, but my original question did state that I was trying to 
remember a value between iterations through a foreach...

That said, I reread the SPINx documentation and it is unfortunate that the 
name of the file in the example was the same as the namespace prefix when 
it didn't have to be. It added confusion. But I missed the part where the 
name of the SPIN function should be the same as the name of the JS 
function. But it still doesn't work.

I'll give the ui:tempGraph a shot...

Thanks,

Jack

On Thursday, March 12, 2015 at 4:16:22 PM UTC-7, Holger Knublauch wrote:

  I don't think SPINX would be helping you, even with a stand-alone file - 
 each invocation of such a SPIN function would get its own JavaScript 
 engine, and all intermediate values will be lost.

 Your computation below looks like easily done in SPARQL. All you need to 
 do is remember the intermediate values in a graph such as ui:tempGraph.

 Holger


 On 3/13/15 8:24 AM, Jack Hodges wrote:
  
 This seems like a good idea but it isn't working out so nicely. If I use 
 the spix.javaScriptCode proerty on the following javascript fragment: 

  var prev = 6; var curr = 0; if(arg1 == 0) curr = 5; else curr = prev - 
 0.4 * arg2; prev = curr; return curr;

  the code executes (in a SPARQL window) but doesn't persist the value of 
 'prev', which was the original need.

  If I use the spinx:javaScriptFile on the following (named 'position.js' 
 in the folder  where the SPIN file is located):

  function yBoxStart(index, count) {
  var prev = 6;
 var curr = 0;

  if (index == 0) {
  curr = 5;
  } else {
  curr = prev - 0.4 * count;
  }

  prev = curr;

  return curr;
  }

  Then it doesn't produce any results in the SPARQL window at all. I 
 suspect that the 'position.js' file cannot be found. I have put it in 
 different folders and tried a full URL to it with the same [lack of] 
 results. The documentation goes part way through a full example but leaves 
 out just enough for me to fail to get it working. Clearly this is the 
 rudimentary of functions so there must be something very simple that is 
 wrong. I didn't see anything about the name of the javascript function in 
 the documentation. Is that maybe related to this problem? Comments?

  Jack

  
 On Tuesday, March 10, 2015 at 3:22:50 PM UTC-7, Holger Knublauch wrote: 

  ui:functionCall is only producing JavaScript source code that would be 
 executed client-side. If you want server-side execution of JavaScript 
 logic, you could use SPINx

 http://spinrdf.org/spinx.html

 HTH
 Holger


 On 3/11/15 7:11 AM, Jack Hodges wrote:
  
 and performs some calculation? I am trying to calculate a display 
 position for part of a graphic inside a ui:foreach. The position is based 
 on the position of the previous item in the iteration. It is easy enough to 
 write a js function that will maintain the variables and their values, and 
 calculate the new position, but is using ui:functionCall and appropriate 
 way to talk with the function? Thanks, 

  Jack
  -- 
 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 topbrai...@googlegroups.com
 --- 
 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/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 topbrai...@googlegroups.com 
 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 topbraid-user...@googlegroups.com 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 topbraid-users@googlegroups.com
--- 
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-users+unsubscr...@googlegroups.com.
For more options, 

Re: [topbraid-users] does anyone have a good example of the SWP ui:functionCall for a js function that maintains a value

2015-03-12 Thread Jack Hodges
Does the root name of the javascript file have to be the same as the prefix 
for the namespace of the SPIN file? That doesn't seem to work either.

Jack

On Thursday, March 12, 2015 at 3:24:09 PM UTC-7, Jack Hodges wrote:

 This seems like a good idea but it isn't working out so nicely. If I use 
 the spix.javaScriptCode proerty on the following javascript fragment:

 var prev = 6; var curr = 0; if(arg1 == 0) curr = 5; else curr = prev - 0.4 
 * arg2; prev = curr; return curr;

 the code executes (in a SPARQL window) but doesn't persist the value of 
 'prev', which was the original need.

 If I use the spinx:javaScriptFile on the following (named 'position.js' in 
 the folder  where the SPIN file is located):

 function yBoxStart(index, count) {
 var prev = 6;
 var curr = 0;

 if (index == 0) {
 curr = 5;
 } else {
 curr = prev - 0.4 * count;
 }

 prev = curr;

 return curr;
 }

 Then it doesn't produce any results in the SPARQL window at all. I suspect 
 that the 'position.js' file cannot be found. I have put it in different 
 folders and tried a full URL to it with the same [lack of] results. The 
 documentation goes part way through a full example but leaves out just 
 enough for me to fail to get it working. Clearly this is the rudimentary of 
 functions so there must be something very simple that is wrong. I didn't 
 see anything about the name of the javascript function in the 
 documentation. Is that maybe related to this problem? Comments?

 Jack


 On Tuesday, March 10, 2015 at 3:22:50 PM UTC-7, Holger Knublauch wrote:

  ui:functionCall is only producing JavaScript source code that would be 
 executed client-side. If you want server-side execution of JavaScript 
 logic, you could use SPINx

 http://spinrdf.org/spinx.html

 HTH
 Holger


 On 3/11/15 7:11 AM, Jack Hodges wrote:
  
 and performs some calculation? I am trying to calculate a display 
 position for part of a graphic inside a ui:foreach. The position is based 
 on the position of the previous item in the iteration. It is easy enough to 
 write a js function that will maintain the variables and their values, and 
 calculate the new position, but is using ui:functionCall and appropriate 
 way to talk with the function? Thanks, 

  Jack
  -- 
 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 topbrai...@googlegroups.com
 --- 
 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/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 topbraid-users@googlegroups.com
--- 
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-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [topbraid-users] does anyone have a good example of the SWP ui:functionCall for a js function that maintains a value

2015-03-12 Thread Holger Knublauch
I don't think SPINX would be helping you, even with a stand-alone file - 
each invocation of such a SPIN function would get its own JavaScript 
engine, and all intermediate values will be lost.


Your computation below looks like easily done in SPARQL. All you need to 
do is remember the intermediate values in a graph such as ui:tempGraph.


Holger


On 3/13/15 8:24 AM, Jack Hodges wrote:
This seems like a good idea but it isn't working out so nicely. If I 
use the spix.javaScriptCode proerty on the following javascript fragment:


var prev = 6; var curr = 0; if(arg1 == 0) curr = 5; else curr = prev - 
0.4 * arg2; prev = curr; return curr;


the code executes (in a SPARQL window) but doesn't persist the value 
of 'prev', which was the original need.


If I use the spinx:javaScriptFile on the following (named 
'position.js' in the folder  where the SPIN file is located):


function yBoxStart(index, count) {
var prev = 6;
var curr = 0;

if (index == 0) {
curr = 5;
} else {
curr = prev - 0.4 * count;
}

prev = curr;

return curr;
}

Then it doesn't produce any results in the SPARQL window at all. I 
suspect that the 'position.js' file cannot be found. I have put it in 
different folders and tried a full URL to it with the same [lack of] 
results. The documentation goes part way through a full example but 
leaves out just enough for me to fail to get it working. Clearly this 
is the rudimentary of functions so there must be something very simple 
that is wrong. I didn't see anything about the name of the javascript 
function in the documentation. Is that maybe related to this problem? 
Comments?


Jack


On Tuesday, March 10, 2015 at 3:22:50 PM UTC-7, Holger Knublauch wrote:

ui:functionCall is only producing JavaScript source code that
would be executed client-side. If you want server-side execution
of JavaScript logic, you could use SPINx

http://spinrdf.org/spinx.html

HTH
Holger


On 3/11/15 7:11 AM, Jack Hodges wrote:

and performs some calculation? I am trying to calculate a display
position for part of a graphic inside a ui:foreach. The position
is based on the position of the previous item in the iteration.
It is easy enough to write a js function that will maintain the
variables and their values, and calculate the new position, but
is using ui:functionCall and appropriate way to talk with the
function? Thanks,

Jack
-- 
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 topbrai...@googlegroups.com
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 topbraid-user...@googlegroups.com javascript:.
For more options, visit https://groups.google.com/d/optout
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 topbraid-users@googlegroups.com
---
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-users+unsubscr...@googlegroups.com 
mailto:topbraid-users+unsubscr...@googlegroups.com.

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 topbraid-users@googlegroups.com
--- 
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-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [topbraid-users] does anyone have a good example of the SWP ui:functionCall for a js function that maintains a value

2015-03-10 Thread Holger Knublauch
ui:functionCall is only producing JavaScript source code that would be 
executed client-side. If you want server-side execution of JavaScript 
logic, you could use SPINx


http://spinrdf.org/spinx.html

HTH
Holger


On 3/11/15 7:11 AM, Jack Hodges wrote:
and performs some calculation? I am trying to calculate a display 
position for part of a graphic inside a ui:foreach. The position is 
based on the position of the previous item in the iteration. It is 
easy enough to write a js function that will maintain the variables 
and their values, and calculate the new position, but is using 
ui:functionCall and appropriate way to talk with the function? Thanks,


Jack
--
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 topbraid-users@googlegroups.com
---
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-users+unsubscr...@googlegroups.com 
mailto:topbraid-users+unsubscr...@googlegroups.com.

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 topbraid-users@googlegroups.com
--- 
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-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.