Hello all,
I have created a SPIN function, let's call it :myAskQuery, that has an ASK
query as its spin:body and thus returns a boolean.
When I try to use this function in the spin:body of another function, let's
call it :returnNumber, that has sp:arg1 as its spin:constraint, as follows:
SELECT ?returnMe
WHERE {
BIND(:myAskQuery(*?arg1*) AS ?boolean) .
BIND(IF((?boolean = true), 1, 0) AS ?returnMe) .
}
I get the following TopBraid error:
****************
Operation failed.
On: 14-Jun-2013 10:30:14 AM
Reason:
java.lang.IllegalArgumentException: Function
http://example.org#returnNumberdoes not define a valid body
at org.topbraid.spin.arq.SPINARQFunction.<init>(SPINARQFunction.java:92)
at
org.topbraid.spin.arq.SPINBodyFunctionDriver.doCreate(SPINBodyFunctionDriver.java:21)
at
org.topbraid.spin.arq.SPINBodyFunctionDriver.create(SPINBodyFunctionDriver.java:16)
at
org.topbraid.spin.arq.SPINFunctionDrivers.create(SPINFunctionDrivers.java:50)
at
org.topbraid.spintb.modules.SessionSPINFunctions.getFunctionFactoryFromModel(SessionSPINFunctions.java:107)
at
org.topbraid.spintb.modules.SessionSPINFunctions.getFunctionFactory(SessionSPINFunctions.java:88)
at
org.topbraid.spintb.modules.SPINSessionFunctionRegistry.get(SPINSessionFunctionRegistry.java:58)
at
org.topbraid.spin.arq.SPINThreadFunctionRegistry.get(SPINThreadFunctionRegistry.java:107)
at
org.topbraid.spin.system.SPINModuleRegistry.registerARQFunction(SPINModuleRegistry.java:248)
at
org.topbraid.spin.system.SPINModuleRegistry.register(SPINModuleRegistry.java:204)
at
org.topbraidcomposer.spin.functions.FunctionBodyChangeEngineListener.refreshFunction(FunctionBodyChangeEngineListener.java:62)
at
org.topbraidcomposer.spin.functions.FunctionBodyChangeEngineListener.changeOperationPerformed(FunctionBodyChangeEngineListener.java:43)
at
org.topbraid.core.change.AbstractChangeEngine.notifyListeners(AbstractChangeEngine.java:294)
at
org.topbraidcomposer.core.change.TBCChangeEngine.notifyListeners(TBCChangeEngine.java:232)
at
org.topbraid.core.change.AbstractChangeEngine.handleExecution(AbstractChangeEngine.java:251)
at
org.topbraid.core.change.AbstractChangeEngine.execute(AbstractChangeEngine.java:277)
at
org.topbraidcomposer.core.change.TBCChangeEngine.access$0(TBCChangeEngine.java:1)
at
org.topbraidcomposer.core.change.TBCChangeEngine$2.run(TBCChangeEngine.java:163)
at
org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.lang.NumberFormatException: For input string: ""
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:504)
at java.lang.Integer.valueOf(Integer.java:582)
at
org.topbraid.spin.model.impl.FunctionCallImpl.getArgumentProperties(FunctionCallImpl.java:64)
at
org.topbraid.spin.model.impl.FunctionCallImpl.getArguments(FunctionCallImpl.java:49)
at
org.topbraid.spin.model.impl.FunctionCallImpl.print(FunctionCallImpl.java:172)
at
org.topbraid.spin.util.SPINExpressions.printExpressionString(SPINExpressions.java:204)
at
org.topbraid.spin.model.impl.AbstractSPINResourceImpl.printNestedExpressionString(AbstractSPINResourceImpl.java:146)
at
org.topbraid.spin.model.impl.AbstractSPINResourceImpl.printNestedExpressionString(AbstractSPINResourceImpl.java:141)
at org.topbraid.spin.model.impl.BindImpl.print(BindImpl.java:54)
at
org.topbraid.spin.model.impl.ElementListImpl.print(ElementListImpl.java:139)
at
org.topbraid.spin.model.impl.AbstractSPINResourceImpl.printNestedElementList(AbstractSPINResourceImpl.java:132)
at org.topbraid.spin.model.impl.QueryImpl.printWhere(QueryImpl.java:177)
at org.topbraid.spin.model.impl.SelectImpl.print(SelectImpl.java:99)
at org.topbraid.spin.arq.ARQFactory.createCommandString(ARQFactory.java:117)
at org.topbraid.spin.arq.SPINARQFunction.<init>(SPINARQFunction.java:71)
... 18 more
****************
Why is the above spin:body not valid?
Thanks,
Alison
--
-- 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.