Hi Scott, Thanks for your reply.
I am not sure that I am setting the spin:rulePropertyMaxIterationCount for the rule itself. In TBC 3.5.1 I added this property to the class that the spin:rule is associated with, using the 'Add widget for property' option. When I do this, the class display includes a drop down menu called 'Other properties' where the spin:rulePropertyMaxIterationCount is shown. Is this the correct way to set spin:rulePropertyMaxIterationCount for a spin:rule associated with a class? Thanks, Alison On Thu, Sep 8, 2011 at 10:36 AM, Scott Henninger <[email protected] > wrote: > Alison, see responses inline: > > On Sep 8, 9:25 am, Alison Callahan <[email protected]> wrote: > > Hi again Holger, > > > > On a related note, I would have expected that setting > > the spin:rulePropertyMaxIterationCount to 1 for the spin:rules that use > > smf:buildUniqueURI to have the same effect as selecting 'Single pass only > > (no iteration)' in the 'Configure Inferencing' menu. > > Yes, this is correct. > > > However, when I set > > spin:rulePropertyMaxIterationCount to 1 for the requisite spin:rules, > > running TopSPIN still goes into 10s of iterations when incremental > > inferencing is selected ... Why is this? > > I tried this using TBC-ME 3.5 and it works as it should. I take it > the rules are defined for the property spin:rule and that > spin:rulePropertyMaxIterationCount is set for spin:rule, i.e.: > {spin:rule spin:rulePropertyMaxIterationCount 1} > > Check that, and if the problem persists let us know what else may be > going on that causes multiple iterations. > > -- Scott > > > > > Thanks, > > > > Alison > > > > On Thu, Sep 8, 2011 at 9:55 AM, Alison Callahan > > <[email protected]>wrote: > > > > > Hi Holger, > > > > > Thanks for your reply. If I set the max iteration count to 1, does the > > > default behaviour of TopSPIN (inferencing until no new triples are > created) > > > still apply? As in, will a spin:rule that specifies triples created by > > > another spin:rule in its WHERE clause still execute as expected? > > > > > Alison > > > > > On Wed, Sep 7, 2011 at 6:43 PM, Holger Knublauch < > [email protected]>wrote: > > > > >> Yes, and in case you only want to do a single iteration in which the > order > > >> of rules is predictable, have a look at > > > > >> http://spinrdf.org/spin.html#spin-rules-order > > > > >> Your rule makes use of smf:buildUniqueURI which rings some alarm bells > to > > >> me as this may potentially create infinite loops unless you set max > > >> iteration count to 1 (in the inferencing configuration). > > > > >> Holger > > > > >> On Sep 8, 2011, at 2:59 AM, Scott Henninger wrote: > > > > >> > Allison; The default for TopSPIN is to run all rules until no more > new > > >> > triples are created. This enables the kind of forward-chaining > > >> > inference you are looking for. So, yes, by way of this mechanism, > > >> > which is quite separate from subClassOf relationships between the > > >> > classes, the inferences from one rule will be seen on the next pass > by > > >> > the rule engine. Specifically, the following: > > > > >> >> can someone suggest an alternative approach that would allow me > > >> >> to use triples created by one spin:rule in another spin:rule? > > > > >> > Is the default behavior for the SPIN engine. > > > > >> > -- Scott > > > > >> > On Sep 7, 11:34 am, Alison Callahan <[email protected]> > wrote: > > >> >> Hello all, > > > > >> >> I am using TopBraid Composer Maestro version 3.5.1 in Ubuntu 11.04. > > > > >> >> I am trying to execute a spin:rule for a subclass B that depends on > > >> triples > > >> >> constructed by a spin:rule of its superclass A. Consider an example > > >> case > > >> >> where I have the following spin:rule for the superclass A: > > > > >> >> CONSTRUCT { > > >> >> ?this example:has_score ?x_score . > > >> >> ?x_score example:derives_from ?y_score . > > >> >> ?x_score example:has_value 0 .} > > > > >> >> WHERE { > > >> >> ?game example:has_part ?this . > > >> >> ?this example:has_smaller_part ?y . > > >> >> ?y example:has_score ?y_score . > > >> >> BIND (smf:buildUniqueURI("example:{?this}_score") AS ?x_score) > . > > > > >> >> } > > > > >> >> And this is the spin:rule for the subclass B: > > > > >> >> DELETE { > > >> >> ?x_score example:has_value ?x_score_value .} > > > > >> >> INSERT { > > >> >> ?x_score example:has_value ?new_x_score_value .} > > > > >> >> WHERE { > > >> >> ?this example:has_score ?x_score . > > >> >> ?x_score example:has_value ?x_score_value . > > >> >> ?this example:has_smaller_part ?y . > > >> >> ?y example:has_score ?y_score . > > >> >> ?y_score example:has_value ?y_score_value . > > >> >> ?x_score example:derives_from ?y_score . > > >> >> BIND ((?x_score_value + ?y_score_value) AS ?new_x_score_value) > . > > > > >> >> } > > > > >> >> As you can hopefully see from this example, the spin:rule of class > B > > >> >> specifies triples constructed by the spin:rule of class A in its > WHERE > > >> >> clause. My question is: is this possible? When using TopSPIN for > > >> >> inferencing, will the spin:rule of class B be able to query for > triples > > >> >> created by the spin:rule of class A? If not, can someone suggest an > > >> >> alternative approach that would allow me to use triples created by > one > > >> >> spin:rule in another spin:rule? > > > > >> >> Thanks, > > > > >> >> Alison > > > > >> > -- > > >> > You received this message because you are subscribed to the Google > > >> > Group "TopBraid Suite Users", the topics of which include 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 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 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 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
