You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Joachim Baran <jo...@gmail.com> on 2011/05/16 21:26:09 UTC

java.lang.UnsupportedOperationException: ?a1 is not a URI node

Hi!

  I am having trouble with this simple query: "SELECT ?a0 ?a1 FROM
dataset:simple WHERE { ?a0 rdf:type ?a1 }"

  When I run it on an empty model, I get see the exception:
"java.lang.UnsupportedOperationException: ?a1 is not a URI node"

  I create the model and run the query as follows:
        DataSource source = DatasetFactory.create();
        Model model = ModelFactory.createDefaultModel();
        source.addNamedModel("...omitted...", model);
        source.setDefaultModel(model);
        QueryExecution queryExecution = QueryExecutionFactory.create(query,
source);
        ResultSet results = queryExecution.execSelect();

  Should that not work out of the box? Do I need to add URI nodes to the
model, and if so, how?

Thanks,
Joachim

Re: java.lang.UnsupportedOperationException: ?a1 is not a URI node

Posted by Joachim Baran <jo...@gmail.com>.
Hi, again!

  Sorry, my fault. My transformation algorithm is buggy.

  Thanks for confirming that it should work on an empty model though!

Joachim

Re: java.lang.UnsupportedOperationException: ?a1 is not a URI node

Posted by Joachim Baran <jo...@gmail.com>.
Hi!

On 16 May 2011 17:38, Andy Seaborne <an...@epimorphics.com> wrote:

> Could you provide some information - a minimal, complete example.  When I
> tried your example, after fixing it up, it worked for me so I must have done
> something different.
>
  The example I pasted is already from the real code I use. I just omitted
the model name. Could you please paste your "fixed up" example? Did you do
anything more than wrapping it in a class/method?


> And which version of ARQ is this?
>
  2.8.7.


> Stacktrace?
>
  Okay, this is not going to be pretty, but here it comes:

java.lang.UnsupportedOperationException: ?a is not a URI node
at com.hp.hpl.jena.graph.Node.getURI(Node.java:211)
at org.biomart.api.arq.MartTransform.transform(QueryEngine.java:126)
at com.hp.hpl.jena.sparql.algebra.op.OpBGP.apply(OpBGP.java:34)
at
com.hp.hpl.jena.sparql.algebra.Transformer$ApplyTransformVisitor.visit0(Transformer.java:261)
at
com.hp.hpl.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:28)
at com.hp.hpl.jena.sparql.algebra.op.OpBGP.visit(OpBGP.java:35)
at
com.hp.hpl.jena.sparql.algebra.OpWalker$WalkerVisitor.visit0(OpWalker.java:76)
at
com.hp.hpl.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:28)
at com.hp.hpl.jena.sparql.algebra.op.OpBGP.visit(OpBGP.java:35)
at
com.hp.hpl.jena.sparql.algebra.OpWalker$WalkerVisitor.visit1(OpWalker.java:84)
at
com.hp.hpl.jena.sparql.algebra.OpVisitorByType.visitModifer(OpVisitorByType.java:25)
at
com.hp.hpl.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:106)
at com.hp.hpl.jena.sparql.algebra.op.OpProject.visit(OpProject.java:34)
at com.hp.hpl.jena.sparql.algebra.OpWalker.walk(OpWalker.java:40)
at com.hp.hpl.jena.sparql.algebra.OpWalker.walk(OpWalker.java:30)
at
com.hp.hpl.jena.sparql.algebra.Transformer.applyTransformation(Transformer.java:99)
at
com.hp.hpl.jena.sparql.algebra.Transformer.transformation(Transformer.java:92)
at
com.hp.hpl.jena.sparql.algebra.Transformer.transformation(Transformer.java:81)
at com.hp.hpl.jena.sparql.algebra.Transformer.transform(Transformer.java:42)
at org.biomart.api.arq.QueryEngine.eval(QueryEngine.java:70)
at
com.hp.hpl.jena.sparql.engine.QueryEngineBase.evaluate(QueryEngineBase.java:138)
at
com.hp.hpl.jena.sparql.engine.QueryEngineBase.createPlan(QueryEngineBase.java:109)
at
com.hp.hpl.jena.sparql.engine.QueryEngineBase.getPlan(QueryEngineBase.java:97)
at org.biomart.api.arq.QueryEngineFactory.create(QueryEngineFactory.java:46)
at
com.hp.hpl.jena.sparql.engine.QueryExecutionBase.getPlan(QueryExecutionBase.java:266)
at
com.hp.hpl.jena.sparql.engine.QueryExecutionBase.startQueryIterator(QueryExecutionBase.java:243)
at
com.hp.hpl.jena.sparql.engine.QueryExecutionBase.execResultSet(QueryExecutionBase.java:248)
at
com.hp.hpl.jena.sparql.engine.QueryExecutionBase.execSelect(QueryExecutionBase.java:94)
at
org.biomart.api.rest.SPARQLResource.queryGetRequest(SPARQLResource.java:220)
at
org.biomart.api.rest.SPARQLResource.queryGetRequestWrapper(SPARQLResource.java:139)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:187)
at
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:70)
at
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:279)
at
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136)
at
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:86)
at
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136)
at
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:74)
at
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1357)
at
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1289)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1239)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1229)
at
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
at
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:497)
at
com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:855)
at
com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:828)
at
com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:789)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at org.biomart.web.PortalFilter.doFilter(PortalFilter.java:31)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78)
at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:154)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at org.biomart.web.LocationsFilter.doFilter(LocationsFilter.java:28)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at org.biomart.web.FlashMessageFilter.doFilter(FlashMessageFilter.java:35)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at org.biomart.web.AuthFilter.doFilter(AuthFilter.java:47)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
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)


Thanks,
Joachim

Re: java.lang.UnsupportedOperationException: ?a1 is not a URI node

Posted by Andy Seaborne <an...@epimorphics.com>.

On 16/05/11 20:26, Joachim Baran wrote:
> Hi!
>
>    I am having trouble with this simple query: "SELECT ?a0 ?a1 FROM
> dataset:simple WHERE { ?a0 rdf:type ?a1 }"
>
>    When I run it on an empty model, I get see the exception:
> "java.lang.UnsupportedOperationException: ?a1 is not a URI node"
>
>    I create the model and run the query as follows:
>          DataSource source = DatasetFactory.create();
>          Model model = ModelFactory.createDefaultModel();
>          source.addNamedModel("...omitted...", model);
>          source.setDefaultModel(model);
>          QueryExecution queryExecution = QueryExecutionFactory.create(query,
> source);
>          ResultSet results = queryExecution.execSelect();
>
>    Should that not work out of the box?

Yes.

> Do I need to add URI nodes to the
> model, and if so, how?

Could you provide some information - a minimal, complete example.  When 
I tried your example, after fixing it up, it worked for me so I must 
have done something different.  Stacktrace?

And which version of ARQ is this?

	Andy

>
> Thanks,
> Joachim
>