Hi Everyone,
I use evn 5.3.
I try to write sparqlmotion script thats exports exports taxonomies.
I need to change skos:hasTopConcept property in result set.
For make this do next:
1. For building resultset I use sml:ApplyConstruct with query inside:
CONSTRUCT {
?a ?b ?c .
}
WHERE {
{
SELECT ?a ?b ?c
WHERE {
{
{
BIND (IRI(?selectedGraph) AS ?graphName) .
BIND (IRI(?nodeURI) AS ?taxUri) .
GRAPH ?graphName {
?a (skos:broader)* ?taxUri .
?a ?b ?c .
} .
} .
}
UNION
{
BIND (IRI(?selectedGraph) AS ?graphName) .
GRAPH ?graphName {
?a a skos:ConceptScheme .
?a ?b ?c .
} .
} .
}
} .
}
2. on the next step I try to use the sml:PerformUpdate
2.1. In case of using next query:
DELETE {
?a skos:hasTopConcept ?oldValue .
}
INSERT {
?a skos:hasTopConcept ?newValue .
}
WHERE {
BIND (IRI(?nodeURI) AS ?newValue) .
?a ?b ?c .
?a skos:hasTopConcept ?oldValue .
}
I got NullPointerException in log
org.topbraidlive.sparqlmotion: Exception in SPARQLMotion Servlet
(java.lang.NullPointerException)
org.topbraid.spin.sparqlmotion.modules.SMException:
java.lang.NullPointerException
at
org.topbraidlive.sparqlmotion.modules.performUpdate.PerformUpdateModule.execute(PerformUpdateModule.java:76)
at
org.topbraid.spin.sparqlmotion.engine.impl.ExecutionEngineImpl.execute(ExecutionEngineImpl.java:203)
at
org.topbraid.spin.sparqlmotion.engine.impl.ExecutionEngineImpl.executeModule(ExecutionEngineImpl.java:169)
at
org.topbraid.spin.sparqlmotion.engine.impl.ExecutionEngineImpl.execute(ExecutionEngineImpl.java:119)
at
org.topbraidlive.sparqlmotion.servlets.sparqlmotion.SPARQLMotionServlet.run(SPARQLMotionServlet.java:342)
at
org.topbraidlive.sparqlmotion.servlets.sparqlmotion.SPARQLMotionServlet.doGet(SPARQLMotionServlet.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at
org.topbraid.auth.servlet.TBAuthEnabledServlet.service(TBAuthEnabledServlet.java:41)
at
org.topbraid.eclipsex.servlet.TBHttpServlet.service(TBHttpServlet.java:155)
at
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
at
org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.service(HttpServiceRuntimeImpl.java:1221)
at
org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
at
org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)
at
org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:132)
at
org.eclipse.equinox.http.servlet.internal.servlet.ProxyServlet.service(ProxyServlet.java:100)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:152)
at
org.topbraidlive.servletbridge.webapplicationserver.BridgeServlet.service(BridgeServlet.java:259)eServlet.java:352)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)lterChain.java:207)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)ava:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)java:614)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)a:88)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)2)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
java.lang.Thread.run(Thread.java:745)read$WrappingRunnable.run(TaskThread.java:61)
Caused bat
org.topbraidlive.sparqlmotion.modules.performUpdate.PerformUpdateGraphStore.<init>(PerformUpdateGraphStore.java:105)
at
org.topbraidlive.sparqlmotion.modules.performUpdate.PerformUpdateModule.execute(PerformUpdateModule.java:55))
2.2. In case of using GRAPH keyword inside DELETE and INSERT accoring to
descrioption of sml:PerformUpdate
DELETE {
GRAPH ?graphName {
?a skos:hasTopConcept ?oldValue .
} .
}
INSERT {
GRAPH ?graphName {
?a skos:hasTopConcept ?newValue .
} .
}
WHERE {
BIND (IRI(?selectedGraph) AS ?graphName) .
BIND (IRI(?nodeURI) AS ?newValue) .
?a ?b ?c .
?a skos:hasTopConcept ?oldValue .
}
I got, "Unbound graph variable in sml:PerformUpdate" error message.
org.topbraidlive.sparqlmotion: Exception in SPARQLMotion Servlet (Unbound
graph variable in sml:PerformUpdate)
org.topbraid.spin.sparqlmotion.modules.SMException: Unbound graph variable
in sml:PerformUpdate
at
org.topbraidlive.sparqlmotion.modules.performUpdate.PerformUpdateArgs.<init>(PerformUpdateArgs.java:52)
at
org.topbraidlive.sparqlmotion.modules.performUpdate.PerformUpdateModule.execute(PerformUpdateModule.java:51)
at
org.topbraid.spin.sparqlmotion.engine.impl.ExecutionEngineImpl.execute(ExecutionEngineImpl.java:203)
at
org.topbraid.spin.sparqlmotion.engine.impl.ExecutionEngineImpl.executeModule(ExecutionEngineImpl.java:169)
at
org.topbraid.spin.sparqlmotion.engine.impl.ExecutionEngineImpl.execute(ExecutionEngineImpl.java:119)
at
org.topbraidlive.sparqlmotion.servlets.sparqlmotion.SPARQLMotionServlet.run(SPARQLMotionServlet.java:342)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)tionServlet.doGet(SPARQLMotionServlet.java:249)
at
org.topbraid.eclipsex.servlet.TBHttpServlet.service(TBHttpServlet.java:155).java:41)
at
org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.service(HttpServiceRuntimeImpl.java:1221)
at
org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)
at
org.eclipse.equinox.http.servlet.internal.servlet.ProxyServlet.service(ProxyServlet.java:100)java:132)
at
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:152)
at
org.topbraidlive.servletbridge.webapplicationserver.BridgeServlet.service(BridgeServlet.java:259)eServlet.java:352)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)lterChain.java:207)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)ava:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)java:614)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)a:88)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)2)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
java.lang.Thread.run(Thread.java:745)read$WrappingRunnable.run(TaskThread.java:61)
What did i wrong?
--
You received this message because you are subscribed to the Google Group
"TopBraid Suite Users", the topics of which include the TopBraid Suite family
of products and its base technologies such as SPARQLMotion, SPARQL Web Pages
and SPIN.
To post to this group, send email to [email protected]
---
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.