Hi Kevin,

you only need to switch off inferencing when you register the SPIN functions. This can happen with a different Jena Model than the rest of your application. My guess is that even for the execution of the SPIN mappings you won't need inferencing. You could run them separately and then add them (as subgraph) to your application model that has Jena inferencing activated.

Would that work?

Holger


On 5/19/2012 5:20, Kevin Pauli wrote:
Actually, this is still a problem for me. I was mistaken; OWL_MEM (the one that works) does /no/ inferencing, and my application actually requires some basic RDFS inferencing, which is why I was using OWL_LITE_MEM_RDFS_INF.

So... any hints on how to get SPIN to work with OWL_LITE_MEM_RDFS_INF?

On Friday, May 18, 2012 12:21:41 PM UTC-5, Kevin Pauli wrote:

    Thanks for the reply Holger.

    I found the problem.  I was using
    OntModelSpec.OWL_LITE_MEM_RDFS_INF, b/c up until now I have had
    very little inferencing going on, and I was trying to get maximum
    performance.

    Once I changed it to OWL_MEM it works.

    On Thursday, May 17, 2012 8:06:43 PM UTC-5, Holger Knublauch wrote:

        Hi Kevin,

        judging from the source code, this function seems to use
        sp:arg as one of its arguments, but it should be sp:arg1 etc.
        It tries to use the index as an Integer but that fails because
        it's then the empty string.

        I wonder why this doesn't work, but your suspicion about
        missing imports sounds plausible: this particular function
        inherits an argument declaration from its superclass
        spinmap:TargetFunctions. But this is defined in a different
        file and then if you try to just register the function from
        the spinmapl file itself it will fail. Please try wrapping
        this into a MultiUnion that includes the spinmapl and spinmap
        graphs and then register this union graph in the ModuleRegistry.

        HTH,
        Holger


        On 5/18/2012 2:32, Kevin Pauli wrote:
        I am having an issue executing a SpinMap outside of TBC,
        within my own Java program.  It is the same person->customer
        mapping outlined in this video: http://vimeo.com/22695742

        It works within TBC, but when I try to execute it I am
        getting the following error:

        java.lang.IllegalArgumentException: Function
        http://topbraid.org/spin/spinmapl#relatedObjectContext
        <http://topbraid.org/spin/spinmapl#relatedObjectContext> does
        not define a valid body
        at
        org.topbraid.spin.arq.SPINARQFunction.<init>(SPINARQFunction.java:71)
        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.spin.system.SPINModuleRegistry.registerARQFunction(SPINModuleRegistry.java:249)
        at
        
org.topbraid.spin.system.SPINModuleRegistry.register(SPINModuleRegistry.java:203)
        at
        
org.topbraid.spin.system.SPINModuleRegistry.registerFunctions(SPINModuleRegistry.java:285)
        at
        
org.topbraid.spin.system.SPINModuleRegistry.registerAll(SPINModuleRegistry.java:234)
        Caused by: java.lang.NumberFormatException: For input string: ""
        at
        
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
        at java.lang.Integer.parseInt(Integer.java:470)
        at java.lang.Integer.valueOf(Integer.java:554)
        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.model.impl.SelectImpl.print(SelectImpl.java:89)
        at
        
org.topbraid.spin.model.impl.AbstractSPINResourceImpl.toString(AbstractSPINResourceImpl.java:183)
        at
        org.topbraid.spin.arq.SPINARQFunction.<init>(SPINARQFunction.java:58)
        ... 32 more

        Am I perhaps forgetting to import an ontology or a jar file?
         I should mention that I have turned off imports with jena's
        OntDocumentManager.setProcessImports(false) because this app
        sits behind a firewall and we want to strictly control what
        gets imported.

--
--
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 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
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
Network (EVN), TopBraid Composer,
TopBraid Live, TopBraid Ensemble, SPARQLMotion 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

Reply via email to