[ https://issues.apache.org/jira/browse/JENA-2197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17442724#comment-17442724 ]
ASF subversion and git services commented on JENA-2197: ------------------------------------------------------- Commit 5f31fcbb0cba23dbc8e68e8dd4b02fc38e7440b9 in jena's branch refs/heads/main from Andy Seaborne [ https://gitbox.apache.org/repos/asf?p=jena.git;h=5f31fcb ] Align to JENA-2197 changes > illegal argument exception when querying dateTime literals with tabs and > linefeeds > ---------------------------------------------------------------------------------- > > Key: JENA-2197 > URL: https://issues.apache.org/jira/browse/JENA-2197 > Project: Apache Jena > Issue Type: Bug > Components: SPARQL > Affects Versions: Jena 3.17.0, Jena 4.3.0 > Reporter: Johannes Frey > Assignee: Andy Seaborne > Priority: Major > Fix For: Jena 4.3.0 > > Attachments: date-issue.sparql > > > I queried the lod-a-lot HDT file [http://lod-a-lot.lod.labs.vu.nl/] to get > some statistics about datatypes. > {code:java} > PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> > PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> > SELECT ?pred ?type (COUNT(*) AS ?cType) WHERE { > ?sub ?pred ?obj . > BIND( datatype(?obj) as ?type) > } > GROUP BY ?pred ?type {code} > Unfortunately the query aborts with the following stacktrace due to some > strange datetime literal in the data (tabs and newline feeds) > {code:java} > java.lang.IllegalArgumentException: 2010-08-05T12:32:31 > at > org.apache.jena.ext.xerces.jaxp.datatype.XMLGregorianCalendarImpl$Parser.parseYear > (XMLGregorianCalendarImpl.java:2990) > at > org.apache.jena.ext.xerces.jaxp.datatype.XMLGregorianCalendarImpl$Parser.parse > (XMLGregorianCalendarImpl.java:2900) > at > org.apache.jena.ext.xerces.jaxp.datatype.XMLGregorianCalendarImpl.<init> > (XMLGregorianCalendarImpl.java:479) > at > org.apache.jena.ext.xerces.jaxp.datatype.DatatypeFactoryImpl.newXMLGregorianCalendar > (DatatypeFactoryImpl.java:235) > at org.apache.jena.sparql.expr.nodevalue.NodeValueDT.<init> > (NodeValueDT.java:53) > at org.apache.jena.sparql.expr.NodeValue._setByValue (NodeValue.java:1044) > at org.apache.jena.sparql.expr.NodeValue.nodeToNodeValue > (NodeValue.java:963) > at org.apache.jena.sparql.expr.NodeValue.makeNode (NodeValue.java:256) > at org.apache.jena.sparql.expr.nodevalue.NodeFunctions.strDatatype > (NodeFunctions.java:504) > at org.apache.jena.sparql.expr.E_StrDatatype.eval (E_StrDatatype.java:37) > at org.apache.jena.sparql.expr.ExprFunction2.eval (ExprFunction2.java:84) > at org.apache.jena.sparql.expr.ExprFunction2.eval (ExprFunction2.java:78) > at org.apache.jena.sparql.expr.ExprNode.eval (ExprNode.java:93) > at org.apache.jena.sparql.expr.ExprFunction1.eval (ExprFunction1.java:68) > at org.apache.jena.sparql.core.VarExprList.get (VarExprList.java:106) > at org.apache.jena.sparql.engine.iterator.QueryIterAssign.accept > (QueryIterAssign.java:62) > at > org.apache.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding > (QueryIterProcessBinding.java:69) > at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext > (QueryIteratorBase.java:114) > at org.apache.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding > (QueryIterConvert.java:58) > at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext > (QueryIteratorBase.java:114) > at > org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding > (QueryIteratorWrapper.java:38) > at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext > (QueryIteratorBase.java:114) > at > org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding > (QueryIteratorWrapper.java:38) > at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext > (QueryIteratorBase.java:114) > at org.apache.jena.sparql.engine.ResultSetStream.hasNext > (ResultSetStream.java:74) > at org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext > (ResultSetCheckCondition.java:55) > at org.apache.jena.sparql.resultset.CSVOutput.format (CSVOutput.java:81) > at org.apache.jena.riot.resultset.ResultSetWriterRegistry$1.write > (ResultSetWriterRegistry.java:89) > at org.apache.jena.riot.resultset.rw.ResultsWriter.write > (ResultsWriter.java:127) > at org.apache.jena.riot.resultset.rw.ResultsWriter.write > (ResultsWriter.java:97) > at org.apache.jena.riot.resultset.rw.ResultsWriter$Builder.write > (ResultsWriter.java:71) > at org.apache.jena.query.ResultSetFormatter.output > (ResultSetFormatter.java:310) > at org.apache.jena.query.ResultSetFormatter.outputAsCSV > (ResultSetFormatter.java:629) > at org.rdfhdt.hdtjena.cmd.HDTSparql.execute (HDTSparql.java:66) > at org.rdfhdt.hdtjena.cmd.HDTSparql.main (HDTSparql.java:131) > at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke (Method.java:498) > at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:282) > at java.lang.Thread.run (Thread.java:748) > {code} > I could reproduce the issue with a "standalone" SPARQL query (attached) in > Jena 3.17 and a 4.3 snapshot without using the HDT setup > the base64 encoding of the query is > {code:java} > UFJFRklYIHJkZjogPGh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyM+ClBSRUZJWCByZGZzOiA8aHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hIz4KCnNlbGVjdCAoREFUQVRZUEUoU1RSRFQoIiIiIAkJCTIwMTAtMDgtMDVUMTI6MzI6MzEKCQkiIiIsIDxodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNkYXRlVGltZT4pKSAgQVMgP3gpIHt9Cg== > {code} > md5sum e9e88f204fbb3b45935300c8472c39b2 > -- This message was sent by Atlassian Jira (v8.20.1#820001)