Peter; To execute SPIN rules requires the TopSPIN engine. SwiftOWLIM executes OWL (or RDFS) reasoning, and is not a rule processor. Therefore your statement that "If I use only SwiftOWLIM inferencing for file [4], I do not see the inferences from file [3]." is the expected result.
I'm a little unclear on just what you need. Is it that you need both the SPIN rules and OWL inferences to be executed? If that's the case, then I'd suggest turning on the "OWL 2 RL" reasoning profile for [3] and running TopSPIN on that model. The OWL 2 RL reasoning profile is found in the Profile sub-tab of the Ontology Home. It will run the OWL 2 rules when the TopSPIN engine runs. Then when you run TopSPIN on [3], both OWL inferences and your SPIN rules will be executed. If that's not helpful, then a small example would be useful to determine how to fix the issues. -- Scott On Mar 31, 5:51 am, Peter Ward <[email protected]> wrote: > Holger > > I've separated my model somewhat better. There are now five files: > 1) the main classes and properties (schema); > 2) instances; > 3) inferred properties and a small number of SPIN rules; > 4) UISPIN templates (lots); > 5) Some reusable subclasses of tui:Element. > > [2] imports [1], [3] imports [2], [4] imports [3] and [5]. > > I'm still in a bit of a mess. > Before inferencing, all my SWP outputs from [4] look good (named views, and > views specialised by instance and class). > If I enable TopSPIN inferencing for file [3] only, the inferences are fine. > If I use only SwiftOWLIM inferencing for file [4], I do not see the > inferences from file [3]. > If I enable TopSPIN for file [4], the UISPIN views contain lots of inferred > ui:systemProperty triples and they barf with the stack trace below. > > I could rewrite my SWP to use only asserted triple, but this would be wrong. > Am I misunderstanding something basic here? > Would you like me to try to construct a smaller example? > > Peter > > -- Stack trace, taken from browser -- > > HTTP ERROR 500 > > Problem accessing /tbl/uispin. Reason: > > An internal error has been reported by the UISPIN engine of TopBraid > Live. Please contact your administrator with a copy of the error message > below. > > java.lang.IllegalArgumentException: Failed to construct UISPIN > argumenthttp://spinrdf.org/spin#queryat template > <tui:LabelList spin:query="{= ?rs }" ui:resultSet="{= ?rs }" > ui:systemProperty="0"/> > in query SELECT * > WHERE > { } > > at > org.topbraid.uispin.xml.engine.UIEngine.evaluateQueryArguments(UIEngine.java:523) > at > org.topbraid.uispin.xml.engine.UIEngine.evaluateArguments(UIEngine.java:436) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:281) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:270) > at > org.topbraid.uispin.xml.engine.UIEngine.addChildNodes(UIEngine.java:211) > at > org.topbraid.uispin.xml.engine.control.internal.IfControlElement.run(IfControlElement.java:25) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:302) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:270) > at > org.topbraid.uispin.xml.engine.UIEngine.addChildNodes(UIEngine.java:211) > at > org.topbraid.uispin.xml.engine.control.internal.GroupControlElement.run(GroupControlElement.java:20) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:302) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodesFromPrototype(UIEngine.java:380) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:296) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:270) > at > org.topbraid.uispin.xml.engine.UIEngine.addChildNodes(UIEngine.java:211) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:315) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:270) > at > org.topbraid.uispin.xml.engine.UIEngine.addChildNodes(UIEngine.java:211) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:315) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:270) > at > org.topbraid.uispin.xml.engine.UIEngine.addChildNodes(UIEngine.java:211) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:315) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:270) > at > org.topbraid.uispin.xml.engine.UIEngine.addChildNodes(UIEngine.java:211) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:315) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:270) > at > org.topbraid.uispin.xml.engine.UIEngine.addChildNodes(UIEngine.java:211) > at > org.topbraid.uispin.xml.engine.control.internal.GroupControlElement.run(GroupControlElement.java:20) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:302) > at > org.topbraid.uispin.xml.engine.UIEngine.createNodes(UIEngine.java:270) > at org.topbraid.uispin.xml.engine.UIEngine.run(UIEngine.java:692) > at org.topbraidlive.uispin.XMLEngine.run(XMLEngine.java:55) > at > org.topbraidlive.uispin.servlet.UISPINServlet.run(UISPINServlet.java:464) > at > org.topbraidlive.uispin.servlet.UISPINServlet.doGet(UISPINServlet.java:231) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180) > at > org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:322) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:924) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) > Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 > at java.util.ArrayList.RangeCheck(Unknown Source) > at java.util.ArrayList.get(Unknown Source) > at > org.topbraid.uispin.xml.engine.UIEngine.evaluateQueryArguments(UIEngine.java:511) > ... 54 more > > ------------------------------ > *Powered by Jetty://* > > The ui:instanceView it's trying to use is this: > > <ui:group ui:id="page" ui:systemProperty="[Cannot render blank node > -5e3efd8d:12f06e54757:-1af0]"> > <v:CSS-book ui:systemProperty="0"/> > <div attributes="chapter" class="chapter" ui:systemProperty="[Cannot > render blank node -5e3efd8d:12f06e54757:-1ae4]"> > <h1 ui:systemProperty="0">{= ui:label(?this) }</h1> > <table attributes="100%" ui:systemProperty="[Cannot render blank > node -5e3efd8d:12f06e54757:-1aeb]" width="100%"> > <tr ui:systemProperty="[Cannot render blank node > -5e3efd8d:12f06e54757:-1ae7]"> > <td attributes="top" ui:systemProperty="0" valign="top"> > <h3 ui:systemProperty="[Cannot render blank node > -5e3efd8d:12f06e54757:-1ae8]">Objective</h3> > </td> > <td ui:systemProperty="[Cannot render blank node > -5e3efd8d:12f06e54757:-1ae6]">{= spl:object(?this, > schema:assetObjective)}</td> > > </tr> > </table> > <hr ui:systemProperty="2"/> > <h2 ui:systemProperty="[Cannot render blank node > -5e3efd8d:12f06e54757:-1ae2]">Details</h2> > <table ui:systemProperty="[Cannot render blank node > -5e3efd8d:12f06e54757:-1a8a]"> > <tr ui:systemProperty="0"> > <td attributes="top" ui:systemProperty="0" valign="top"> > <h3 ui:systemProperty="[Cannot render blank node > -5e3efd8d:12f06e54757:-1add]">Summary</h3> > </td> > <td ui:systemProperty="1"> > <ui:parse ui:str="{= spl:object(?this, > schema:assetSummary) }" ui:systemProperty="{= spl:object(?this, > schema:assetSummary) }"/> > </td> > </tr> > <v:SimplePropertyTableRow tui:node="{= ?this }" > tui:predicate="schema:owningRole" tui:systemProperty="{= ?this }" > ui:systemProperty="1"/> > <v:SimplePropertyTableRow tui:node="{= ?this }" > tui:predicate="schema:relevantStandards" tui:systemProperty="{= ?this }" > ui:systemProperty="2"/> > <tr ui:systemProperty="[Cannot render blank node > -5e3efd8d:12f06e54757:-1ad6]"> > <td attributes="top" ui:systemProperty="0" valign="top"> > <h3 ui:systemProperty="0">Key Inputs</h3> > </td> > <td attributes="top" ui:systemProperty="1" valign="top"> > <ui:forEach spin:query="{# > SELECT ?artifact ?source > WHERE { > ?flow a schema:Transaction . > ?flow schema:destination ?this . > ?flow schema:origin ?source . > OPTIONAL { > ?flow schema:deliverable ?artifact . > } . > } }" ui:resultSet="{# > SELECT ?artifact ?source > WHERE { > ?flow a schema:Transaction . > ?flow schema:destination ?this . > ?flow schema:origin ?source . > OPTIONAL { > ?flow schema:deliverable ?artifact . > } . > } }" ui:systemProperty="[Cannot render blank > node -5e3efd8d:12f06e54757:-1acf]"> > <tui:Label tui:node="{= ?artifact }" > tui:systemProperty="{= ?artifact }" ui:systemProperty="0"/> > <em ui:systemProperty="[Cannot render blank node > -5e3efd8d:12f06e54757:-1ace]"> from </em> > <tui:Label tui:node="{= ?source }" > tui:systemProperty="{= ?source }" ui:systemProperty="2"/> > <br ui:systemProperty="3"/> > </ui:forEach> > </td> > </tr> > ... > > read more » -- 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
