Hello Rich;  On the differences with the .spin files, the kennedysSPIN.ttl under TopBraid/Examples file does not define SPIN functions that will be used in other files.  All the .spin does is to register functions so that it can be used in other workspace contexts, such as a file that imports the SPIN function definition(s).

In terms of the Ontology Overview page, chances are that your file lacks a owl:Ontology triple.  If you use New > RDF/OWL/SPIN File the owl:Ontology triple will be created automatically.

-- Scott

On 1/9/2015 2:29 PM, Rich Keller wrote:
Holger: Thanks for your response. I was able to get my SPIN function to run following your advice (though the function does not do what I want -- that's another story). However I'm not clear that things are configured properly with my .spin.ttl file. I didn't find very specific TBC documentation on this topic (the SPIN tutorial is too high-level), so I looked for inspiration and examples to emulate, in particular looking at spl.spin.ttl under TopBraid/SPIN and kennedysSPIN.ttl under TopBraid/Examples. Although these two files have the same format, I don't understand why kennedysSPIN.ttl doesn't follow the file extension convention you mentioned, e.g., kennedys.spin.ttl. More of a concern is that my .spin.ttl file does not display in TBC as the other two do. These others each display an 'Ontology Overview' page in TBC; mine only displays a 'Resource Form' when I click on the home icon. The resource is not recognized as a local resource (it is in red in the tool bar).


Here is the preamble to my myFunctions.spin.ttl file:

# baseURI: http://INSERT-PATH-HERE/myFunctions
# imports: http://spinrdf.org/spin

@prefix data: <http://INSERT-PATH-HERE/data#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sp: <http://spinrdf.org/sp#> .
@prefix spin: <http://spinrdf.org/spin#> .
@prefix spl: <http://spinrdf.org/spl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

What am I doing wrong?

Rich

On Thursday, January 8, 2015 at 3:30:17 PM UTC-8, Holger Knublauch wrote:
First you should make sure that the SPIN function is stored in a file ending with .spin.* so that it will be picked up when the system starts. To make sure it got registered, a restart also helps.

Also the function must be an instance of spin:Function, not rdf:type owl:Class (first row of your Turtle snippet below).

Please get back to us if this does not resolve the issue.

Thanks,
Holger


On 1/9/15, 9:23 AM, Rich Keller wrote:
Hi. I am getting the following error when performing inferencing:

 WARN [Thread-25] (E_Function.java:89) - URI <http://INSERT-PATH-HERE/data#dailyWITIcalc> has no registered function factory

The function data:dailyWITIcalc is SPIN function that I created. Presumably it is not properly defined. How do I go about debugging this error?

I am using TBC-SE v.4.5.0 on a Mac.

Thanks, Rich

PS: The function definition is below.

data:dailyWITIcalc  a    owl:Class ;
        rdfs:label       "dailyWITIcalc"^^xsd:string ;
        rdfs:subClassOf  spin:Functions ;
        spin:body        [ a                   sp:Select ;
                           sp:resultVariables  ( [ sp:_expression_  [ a              sp:Sum ;
                                                                    sp:_expression_  [ sp:varName  "hourlyWITI"^^xsd:string ]
                                                                  ] ;
                                                   sp:varName     "dailyWITI"^^xsd:string
                                                 ] ) ;
                           sp:where            ( [ sp:object     data:ASPMhourlyARecord ;
                                                   sp:predicate  rdf:type ;
                                                   sp:subject    [ sp:varName  "hourlyData"^^xsd:string ]
                                                 ] [ sp:object     [ sp:varName  "nasday"^^xsd:string ] ;
                                                     sp:predicate  data:reportingNday ;
                                                     sp:subject    spin:_arg1
                                                   ] [ sp:object     spin:_arg1 ;
                                                       sp:predicate  data:hasWITIdata ;
                                                       sp:subject    [ sp:varName  "air"^^xsd:string ]
                                                     ] [ sp:object     [ sp:varName  "hourlyData"^^xsd:string ] ;
                                                         sp:predicate  data:hasASPMhourlyData ;
                                                         sp:subject    [ sp:varName  "air"^^xsd:string ]
                                                       ] [ sp:object     [ sp:varName  "nasday"^^xsd:string ] ;
                                                           sp:predicate  data:reportingNday ;
                                                           sp:subject    [ sp:varName  "hourlyData"^^xsd:string ]
                                                         ] [ sp:object     [ sp:varName  "hourlyWITI"^^xsd:string ] ;
                                                             sp:predicate  spin:_arg2 ;
                                                             sp:subject    [ sp:varName  "hourlyData"^^xsd:string ]
                                                           ] )
                         ] ;
        spin:constraint  [ a              spl:Argument ;
                           spl:predicate  sp:arg1
                         ] ;
        spin:constraint  [ a              spl:Argument ;
                           spl:predicate  sp:arg2
                         ] .


--
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 topbrai...@googlegroups.com
---
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 topbraid-user...@googlegroups.com.
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.

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