The script I was making was to create test data for an ontology.  I
was trying to create a user specified number of instances of type a
certain class.  Scott, I was using the EnterLiteral module to get the
number of instances.  This is similar to an example you all had put
out for creating a TBC/Eclipse plugin.

The loop I was looking for would allow me to run the Construct module
a given number of times.  for(int i=0; i<x;i++)  It seems possible
with the given modules but it's proving difficult to increment the
count variable (i) once it is bound.

On Dec 30 2008, 3:06 pm, Holger Knublauch <[email protected]>
wrote:
> Yes I believe we will need a bit more details to understand your use  
> case. You could potentially use sml:PerformUpdate to replace (DELETE/
> INSERT) a triple that keeps track of the status. However that's pretty  
> difficult. The next TBC version (scheduled for tomorrow) will have a  
> module sml:IterateWhile that might be useful. But if you can confirm  
> your use case we may add another type of loop similar to a for-loop in  
> programming languages.
>
> Holger
>
> On Dec 30, 2008, at 11:58 AM, Scott Henninger wrote:
>
>
>
> > Jody;  The "already bound" error occurs because your BindBySelect
> > module is trying to create the variable ?count, which was already
> > created in EnterLiteral (or whatever you used to get the ?count value
> > from the user).
>
> > It's not clear how your script works, but you can perform your change
> > to ?count in the ApplyConstruct module.
>
> > -- Scott
>
> > On Dec 30, 12:25 pm, Jody <[email protected]> wrote:
> >> How can I specify, in an elegant manner, that I want to iterate  
> >> over a
> >> sub-script x times.
>
> >> Currently I am not using the iterateOverSelect because I haven't
> >> wrapped my head around what variable I would bind.  Instead I'm  
> >> trying
> >> to use a BranchByAsk.
>
> >> Here is the general flow:
> >> Get the iteration number {?count} from the user
> >> :next :BranchByAsk
> >>      :askQuery ASK{ FILTER( ?count >= 0 ) }
> >>      :else (Do nothing :mergeModule)
> >>      :if :ApplyConstruct (this creates individuals of a certain type
> >> referencing the ?count in buildURI())
> >>          :next :BindBySelect (decrease the ?count variable using LET)
> >>                  :next :BranchByAsk (complete loop and test again)
>
> >> I keep getting variable already bound errors in the :BindBySelect
> >> module.  I've also tried replacing this with an :ApplyConstruct.
>
> >> Anybody have this figured out?
>
> >> Happy Holidays!
>
> >> - Jody
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TopBraid Composer Users" group.
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-composer-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to