By default, SPIN will always use variable names such as ?arg1, ?arg2. Only if other predicates are specified as declared spl:Arguments, you can use different variable names in the spin:bodies.

Holger


On 25/03/2016 22:02, Luca Greco wrote:
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
        <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
        <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
    <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] <mailto:[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]
--- 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