Great, I got it working! :) I couldn't quite understand the purpose
of ?this after reading the SPIN tutorial, but Scott's explanation
makes sense. I was wondering which class to attach the SPIN rule to -
should have realized to attach it to OWL:Thing if the scope is the
entire model.
I first tried approach 2, but {?x1} adds the qname to the URI as well,
and I couldn't figure out how to remove the qnames. The specified
qname (sc:) is also expanded, resulting in:
<http://sofia.gotdns.com/ontologies/
SemanticConnections.owl#mediapath_bonding:testDevice1_to_bonding:testDevice2>
where I wanted
<sc:mediaPath_testDevice1_to_testDevice2>
and afn:localname() only works on full URIs.
Approach 3 seems to work fine. In reality my SPIN rule is also
dependent on two property chain axioms that need to be inferred first
(not shown in my example below). This means that I had to change the
spin:rulePropertyMaxIterationCount to 2. Now I'm just wondering if it
is guaranteed that the property chain axioms will fire on the first
pass.
I'm really starting to like working with SPIN - the flexibility is
great and the built-in functions are very useful, thanks guys.
Regards,
Gerrit
On Apr 8, 1:05 am, Holger Knublauch <[email protected]> wrote:
> On Apr 8, 2011, at 1:45 AM, Scott Henninger wrote:
>
> > Gerrit; By default the SPIN engine iterates until there are no new
> > triples constructed. In your case, each time you call
> > smf:buildUniqueURI(), a new uri is created by the {?mp a sc:MediaPath}
> > triple pattern in the CONSTRUCT statement. There are two potential
> > solutions to the problem:
> > 1) Set the TopSPIN engine to single-pass in Configure Inferencing
> > 2) use smf:buildURI with a known pattern, such as
> > smf:buildURI("sc:mediapath{?x1}_to_{?x2}")
>
> Just for the sake of completeness (in the archive), there also is
>
> 3) Create a sub-property of spin:rule and set its
> spin:rulePropertyMaxIterationCount to 1.
> Then move those rules that should not iterate under your new property.
>
> The advantage of this solution over 1) is that it is independent of the
> TopSPIN settings, which may only be local to your machine (and stored in the
> .tbc files). The disadvantage is that setting this up is a bit of more work.
>
> Holger
--
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