Scott:

Thank you so much! I very much appreciate your help. This (of course) 
worked. 

All the very best,
Russ

On Tuesday, August 19, 2014 3:35:15 PM UTC-4, Scott Henninger wrote:
>
>  Russel, you need to add your construct query to the property you created 
> spin:ruleWithUUID.  Look three properties below spin:rule in 2.png.  No 
> arguments should be defined.
>
> Also, there are some other resources for understanding SPIN:
>   http://www.topquadrant.com/technology/sparql-rules-spin/
>   
> http://www.topquadrant.com/technology/sparql-rules-spin/spin-inferencing/
>   http://spinrdf.org/spinsquare.html 
>
> -- Scott
>
> On 8/19/2014, 8:56 AM, Russell Robbins wrote:
>  
> Scott:
>
> Thank you so much. Please know that I have tried what seems like every 
> interpretation of what you have said in your response...with effectively 
> little luck. I've also read through this forum and the web using both web 
> search and images search and tried to apply what I read or what was 
> referred to by you, Holger, etc.. No luck,
>
> I've attached *.png files that show screenshots of what I've done which is 
> the best that I could make of your response. Please excuse my obtuseness.
>
> BTW, this product is amazing, but I'm sure you and the rest of the team 
> know this and have heard it already many times but I wanted to let you know.
>
> Thank you so much for your help!
>
> All the very best,
> Russ
>
>
>
> On Sunday, August 17, 2014 3:59:23 PM UTC-4, Scott Henninger wrote: 
>>
>>  Hello Russel;  There are a couple of things to understand about SPIN 
>> rules.  The first is that it is model-driven.  This means that you define a 
>> rule on the class and apply it to all members of the class (and 
>> subclasses).  Hence if you have no instances, there will be no triples 
>> constructed by the rule.
>>
>> Second SPIN Rules executes as a forward chaining rule engine by executing 
>> until there are no new triples to create.  Therefore a caveat is that if 
>> you create an object from a system-generated source, such as bnodes or 
>> generateUUID(), then you have an infinite loop - each execution creates a 
>> new triple.
>>
>> Hence the rules with "BIND (spif:generateUUID() AS ?x) ." need to be set 
>> to execute only once.  The best way to do this is to make a subproperty of 
>> spin:rule, let's call it spin:ruleWithUUID.  For that property definition, 
>> set the property spin:rulePropertyMaxIterationCount to one, then define the 
>> rules using spif:generateUUID() with that property.  For each instance of 
>> the class the spin:ruleWithUUID definition is defined on, the rule will be 
>> executed once only.
>>
>> Given the above, which you can extend further to order the rule sets 
>> (defined by spin:rule and its subproperties) with spin:nextRuleProperty, 
>> etc. I think most of the issues you address will be covered.  If you have 
>> further questions, let us know.
>>
>> -- Scott
>>
>> On 8/17/2014, 10:16 AM, Russell Robbins wrote:
>>  
>>  Summary:
>>  
>> Thank you in advance for helping me write a CONSTRUCT/WHERE statement 
>> that can be declared as a SPIN Rule in TopBraid Composer Free Edition and 
>> used. I am trying to embed a SPARQL CONSTRUCT/WHERE statement in a 
>> SPIN:rule declaration and then execute it. I am returning zero inferences 
>> to Statements 1 or 2 below. I am using Java 7, and Eclipse 4.3., and 
>> TopBraid Composer Free Edition. I have been successful running Statement 3 
>> as a SPIN Constructor Declaration in the classes form (Statement 3). I have 
>> been successful running Statement 4 in the SPARQL query editor 
>> (interpreter) .
>>
>> Detail:
>>
>> Fact 1: I have not been able to run Statement 1 as a SPIN Rule.
>>
>> ----Statement 1---
>>
>> CONSTRUCT {
>> ?this owl:hasKey ?x .
>> }
>> WHERE {
>> BIND (spif:generateUUID() AS ?x) .
>> }
>>
>> Fact 2: I have not been able to run Statement 2 as a SPIN Rule.
>>
>> ----Statement 2----
>>
>> CONSTRUCT {
>> ?this owl:hasKey ?x .
>> }
>> WHERE {
>> ?this rdfs:subClassOf node:entity .
>> BIND (spif:generateUUID() AS ?x) .
>> }
>> --No Error Message--
>>
>> Fact 3: However I have been successful with Statement 3 in the 
>> constructor field of the classes form.
>>
>> ----Statement 3----
>>
>> CONSTRUCT {
>> ?this owl:hasKey ?x .
>> }
>> WHERE {
>> BIND (spif:generateUUID() AS ?x) .
>> }
>> Success: When a new instance is created a new triple indicating a key is 
>> created.
>>
>> Fact 4: I have been successful with Statement 4 in the SPARQL query 
>> editor which is analogous.
>>
>> ----Statement 4----
>>
>> CONSTRUCT {
>> ?s owl:hasKey ?x .
>> }
>> WHERE {
>> ?s rdf:type node:word_use
>> BIND (spif:generateUUID() AS ?x) .
>> }
>> Success: When statement is run all current instances get keys.
>>
>> Fact 5: I do not have any SPARQL Rules libraries checked in the Ontology 
>> Profile form.
>>
>> Fact 6: I have imported the following two libraries.
>>
>> <http://
>> spinrdf.org/spin> <http://spinrdf.org/spin> from local file 
>> TopBraid/SPIN/spin.ttl.<http://spinrdf.org/sp> <http://spinrdf.org/sp> from 
>> local file TopBraid/SPIN/sp.ttl
>>
>> Fact 7: The namespaces in the file are:
>>
>> Base URI (Location) - h
>> ttp://example.org/ <http://example.org/>
>> Default Namespace - http://example.org/
>>
>> But the Base URI keeps getting reset 
>> to:http://www.semanticweb.org/owl/owlapi/turtle
>>
>> ace_lexicon - http://attempto.ifi.uzh.ch/ace_lexicon#
>> arc - http://example.org/arc#
>> arg - http://spinrdf.org/arg#
>> concept - http://example.org/concept#
>> node - http://www.example.org/node#
>> owl - http://www.w3.org/2002/07/owl#
>> rdf - http://www.w3.org/1999/02/22-rdf-syntax-ns#
>> rdfs - http://www.w3.org/2001/01/rdf-schema#
>> skos - http://www.w3.org/2004/02/skos/core#
>> sp - http://spinrdf.org/sp#
>> spif - http://spinrdf.org/spif#
>> spin - http://spinrdf.org/spin#
>> spl - http://spinrdf.org/spl#
>> word_sense - http://example.org/word_sense#
>> word_term - http://example.org/word_term#
>> word_use - http://example.org/word_use#
>>
>> Fact 8: The class that I am using has the following assertions.
>>
>> Name - node:unclassified_concept
>> SubClassOf - node:entity
>>
>> Fact 9: An instance of the node:unclassified_concept class is described 
>> below.
>>
>> URI - http://example.org/concept#regardless_of1
>> rdfs:comment - without attention to
>> rdfs:isDefinedBy - <http://en.wiktionary.org/wiki/regardless_of> 
>> <http://en.wiktionary.org/wiki/regardless_of>
>> rdfs:label - regardless of
>>
>> Fact 10: I have been successful using Jena Generic Rules reasoning as 
>> well as the OWL_MEM_RULE_INF OntModelSpec, reading/writing, base models, 
>> inf models, and ont models.
>>
>> Context:
>>
>> The context of my problem is the following. I am building and iteratively 
>> executing an ontology and rule set using Java and Jena to prove the concept 
>> of OWL/RDF representing, considering, and responding to non-trivial 
>> type-written English. The sentence I am using is non-trivial (41 words, 
>> three clauses, etc.). The current ontology has 1422 assertions when not run 
>> against any OWL/RDF rules (transitivity, etc.). I am using TopBraid 
>> Composer when possible to complement Jena programming to make sure I am 
>> compliant with conventions and standards.
>>  I have cross-posted to 
>> http://stackoverflow.com/questions/25350466/how-to-use-construct-where-in-sparql-spin-rule-declaration
>> .
>>  -- 
>> -- 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), TopBraid Composer, TopBraid Live, TopBraid 
> Insight, SPARQLMotion, SPARQL Web Pages and SPIN.
> To post to this group, send email to
> [email protected] <javascript:>
> To unsubscribe from this group, send email to
> [email protected] <javascript:>
> 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] <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), 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.

Reply via email to