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
