Hi Arthur,

the current implementation requires the arguments to be called sp:arg1, sp:arg2 
etc. This has technical reasons because at query edit time, a function might be 
undefined (i.e. have no SPIN declaration) and we do not want to make lots of 
additional calls to map variable names etc. This would slow down the system, 
and potentially lead to invalid invocations.

But you can simply add sp:arg6 etc (I just had a case where I needed 6 
arguments as well). And with so many arguments I agree that having non-readable 
names is very inconvenient. A hack is to insert LET statements to rename the 
args in the beginning. I will think about alternative solutions for a future 
version...

Regards,
Holger


On Feb 11, 2010, at 11:40 AM, Arthur Keen wrote:

> My question is about how the argument order is determined in Spin Functions:  
> I assume the ordering for SP:arg1 through SP:arg5 when referenced by a Spin 
> function use the argument name to determine ordering, so I can create 
> additional property argument subclasses of SP:arg, namely,  myNS:arg6 ... 
> myNS:argN and the arguments will be bound in the correct order to the values 
> in the Spin Function call.  Is there another way to  specify argument order 
> in a SPIN function so that domain-specific named arguments may be used?  This 
> is purely for readability of the spin function declaration.
> 
> For example, I would like to declare the real gas pseudo time function as a 
> SPIN function as follows:
> 
> fTa(:P1, :P2, :t1, :t2, :Gg, :Tf, :Ppc, :Tpc, :Vl, :pl, :rhoB, :phi, :Cf)
> 
> instead of
> 
> fTa(sp:arg1, sp:sparg2, sp:sparg3, sp:sparg4, sp:sparg5, :arg6, :arg7, :arg8, 
> :arg9, :arg10, :arg11, :arg12, :arg13)
> 
> I have tried defining custom-named arguments, however when I bound them to 
> the SPIN function, they were not displayed in the order that I defined them, 
> which made me very uneasy, so I reverted back to the argi convention.  
> Perhaps it would be useful if the comment field or a label could be displayed 
> alongside the argument inside the constraint display name for the argument, 
> e.g., "Argument arg1 rhoB : xsd:float" instead of "Argument arg1 : xsd:float" 
> where "rhoB" could be the value assigned to an rdfs:label to refer to the 
> name used for the argument in the function?
> 
> Arthur
> 
> -- 
> 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.

-- 
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