You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Rob Vesse (JIRA)" <ji...@apache.org> on 2013/05/29 01:52:20 UTC
[jira] [Closed] (JENA-462) URIs ending in a percent-encoded
character cannot be written as a property in RDF/XML
[ https://issues.apache.org/jira/browse/JENA-462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rob Vesse closed JENA-462.
--------------------------
Per previous comment this is a known limitation of RDF/XML and not a bug
> URIs ending in a percent-encoded character cannot be written as a property in RDF/XML
> -------------------------------------------------------------------------------------
>
> Key: JENA-462
> URL: https://issues.apache.org/jira/browse/JENA-462
> Project: Apache Jena
> Issue Type: Bug
> Reporter: Stephen Allen
>
> URIs ending in a percent-encoded character cannot be written as a property in RDF/XML. Note that there is no problem using this URI in the subject or object positions, or using a different serialization like Turtle. It is also OK as long as the URI doesn't *end* in the percent encoded character.
> I'm not sure why BaseXMLWriter.java line 384 requires the ability to split predicate URIs into a namespace and local part. Is this a requirement of RDF/XML?
> Steps to Reproduce:
> 1) Start Fuseki
> 2) Perform following SPARQL Update (%27 equals the ' character in this case):
> insert data { <http://example.org/Test> <http://example.org/Foo%27> "Foo" . }
> 3) Issue the following query (with XML selected as output):
> construct { ?s ?p "Foo" . } where { ?s ?p "Foo" . }
> Expected Results:
> Proper RDF/XML.
> Actual Results:
> com.hp.hpl.jena.shared.InvalidPropertyURIException: http://example.org/Foo%27
> at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.splitTag(BaseXMLWriter.java:384)
> at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.tag(BaseXMLWriter.java:396)
> at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.startElementTag(BaseXMLWriter.java:355)
> at com.hp.hpl.jena.xmloutput.impl.Basic.writePredicate(Basic.java:101)
> at com.hp.hpl.jena.xmloutput.impl.Basic.writeRDFStatements(Basic.java:85)
> at com.hp.hpl.jena.xmloutput.impl.Basic.writeRDFStatements(Basic.java:74)
> at com.hp.hpl.jena.xmloutput.impl.Basic.writeBody(Basic.java:48)
> at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.writeXMLBody(BaseXMLWriter.java:492)
> at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.write(BaseXMLWriter.java:464)
> at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.write(BaseXMLWriter.java:450)
> at org.apache.jena.fuseki.servlets.ResponseModel.doResponseModel(ResponseModel.java:121)
> at org.apache.jena.fuseki.servlets.SPARQL_Query.sendResults(SPARQL_Query.java:349)
> at org.apache.jena.fuseki.servlets.SPARQL_Query.execute(SPARQL_Query.java:255)
> at org.apache.jena.fuseki.servlets.SPARQL_Query.executeWithParameter(SPARQL_Query.java:215)
> at org.apache.jena.fuseki.servlets.SPARQL_Query.perform(SPARQL_Query.java:106)
> at org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommonWorker(SPARQL_ServletBase.java:117)
> at org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_ServletBase.java:67)
> at org.apache.jena.fuseki.servlets.SPARQL_Query.doGet(SPARQL_Query.java:86)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1336)
> at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82)
> at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:243)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
> at org.eclipse.jetty.server.Server.handle(Server.java:365)
> at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
> at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
> at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
> at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
> at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
> at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannelEndPoint.run(BlockingChannelConnector.java:298)
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
> at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
> at java.lang.Thread.run(Thread.java:662)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira