Hi Holger, 
thanks for your fast reply.

Actually, 
I observed that replacing "?spThing , ?area "  with "?arg1 , ?arg2"  in the 
function body ,
 it works. I don't have to specify any constraint. 
I don't know if it is just a case or there is an explanation for that 
behavior.
I'm just wondering if for a select function there are "keywords" to specify 
as return.

Thanks
Luca 




Il giorno giovedì 24 marzo 2016 21:11:25 UTC+1, Holger Knublauch ha scritto:
>
> Hi Luca,
>
> the spin:constraints (arguments) are not just strings even though the UI 
> of TBC makes them appear like strings. They are in fact blank nodes that 
> carry additional triples such as spl:valueType. I suggest to take an 
> existing function as a blueprint and recreate the bnode object that is used 
> there.
>
> HTH
> Holger
>
>
>
> On 25/03/2016 3:21, Luca Greco wrote:
>
> Hi all,
>
> I have some troubles in specifying arguments for a SPIN function I'm 
> defining through the API.
>
> Let's say this is the definition (code fragment): 
>
> spinQuery = (Ask)( arq2SPIN.createQuery(arqQuery1, queryUri));
> Function fun = union.createResource(uri, SPIN.Function).as(Function.class);
>       
> fun.addProperty(SPIN.body, spinQuery);
>
> SPINModuleRegistry.get().register(fun, null, true);
>
>
> in my case, spinQuery contains " ASK WHERE {... }"
>
> I have to specify 2 arguments for the function.
>
> I've tried the following solution:
>
> fun.addProperty(SPIN.constraint, "arg:spThing : rdfs:Resource");
> fun.addProperty(SPIN.constraint, "arg:area : rdfs:Resource");
>   
> It doesn't work.        
>
> Am I doing something wrong?
>
> Many thanks in advance
> Luca
>
>
>
> Il giorno domenica 20 luglio 2014 03:14:59 UTC+2, Holger Knublauch ha 
> scritto: 
>>
>> Hi Monika,
>>
>> the SPIN API is designed to be driven in the same way that SPIN files are 
>> driven - by declarations in RDF. In other words, the proper way of defining 
>> SPIN functions is to edit them with an RDF editor (such as TopBraid or a 
>> text editor) and then simply load the function definitions into the module 
>> registry. This is shown in the KennedysInferencingAndConstraintsExample via
>>
>>         // Register locally defined functions
>>         SPINModuleRegistry.get().registerAll(ontModel, null);
>>
>> then just use them in your SPARQL/SPIN queries. In the SPIN RDF syntax - 
>> if you ever want to generate that programmatically, use the Jena API to 
>> create the corresponding triples - a SPIN function call is simply an 
>> instance of the function class.
>>
>> You may want to clarify which parts of your application are statically 
>> edited and which ones are dynamically produced for further advise.
>>
>> Holger
>>
>>
>> On 7/20/2014 5:16, Monika Solanki wrote:
>>
>> I am fairly new to SPIN and the SPIN API. I am looking for examples that 
>> show how to create a user defined function using the SPIN API and use it 
>> within a query that runs over a model. I am mostly aware of how I could 
>> develop the second part, but I would like help on programmatically creating 
>> the user defined function.
>>
>> Many Thanks,
>>
>> Monika
>> -- 
>> -- 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 
>> Insight, 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/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 [email protected] 
> <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 [email protected] <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 [email protected]
--- 
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/d/optout.

Reply via email to