You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Jie <so...@gmail.com> on 2012/10/16 23:08:48 UTC
exception ARQInternalErrorException: Can't create a javax.xml DatatypeFactory
Hello,
I am trying to make a sparql query by using jena and met an exception
ARQInternalErrorException: Can't create a javax.xml DatatypeFactory
which comes out when creating the Query on basis of the QueryString at
Query query = QueryFactory.create(queryString) ;
The whole query works fine in the endpoint in virtuoso, but when using
jena, the exception happens. And this exception happens only when a
FILTER of dateTime is added as follows:
FILTER ( xsd:dateTime(?time) >= "2012-10-16T00:00:00Z"^^xsd:dateTime
&& xsd:dateTime(?time) <= "2012-10-16T23:59:59Z"^^xsd:dateTime )
And here is the whole query:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ont: <http://www.owl-ontologies.com/Ontology1350394606.owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?time ?value WHERE {
?m rdf:type ont:Measure.
?m ont:time ?time.
?m ont:value ?value.
FILTER ( xsd:dateTime(?time) >= "2012-10-16T00:00:00Z"^^xsd:dateTime
&& xsd:dateTime(?time) <= "2012-10-16T23:59:59Z"^^xsd:dateTime ) }
ORDER BY ?time
I wonder if anyone has met the similar problem and know the solution?
Thank you very much.
FYI: version: jena-tdb 2.9.4 and jena-arq 0.9.4.
Track for the exception:
com.hp.hpl.jena.sparql.ARQInternalErrorException: Can't create a
javax.xml DatatypeFactory
at com.hp.hpl.jena.sparql.expr.nodevalue.NodeValueDT.<clinit>(NodeValueDT.java:45)
at com.hp.hpl.jena.sparql.expr.NodeValue._setByValue(NodeValue.java:1119)
at com.hp.hpl.jena.sparql.expr.NodeValue.nodeToNodeValue(NodeValue.java:1027)
at com.hp.hpl.jena.sparql.expr.NodeValue.makeNode(NodeValue.java:350)
at com.hp.hpl.jena.sparql.util.ExprUtils.nodeToExpr(ExprUtils.java:65)
at com.hp.hpl.jena.sparql.lang.ParserBase.asExpr(ParserBase.java:407)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.PrimaryExpression(SPARQLParser11.java:3882)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.UnaryExpression(SPARQLParser11.java:3789)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.MultiplicativeExpression(SPARQLParser11.java:3656)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.AdditiveExpression(SPARQLParser11.java:3554)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.NumericExpression(SPARQLParser11.java:3547)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.RelationalExpression(SPARQLParser11.java:3517)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.ValueLogical(SPARQLParser11.java:3472)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalAndExpression(SPARQLParser11.java:3451)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalOrExpression(SPARQLParser11.java:3430)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Expression(SPARQLParser11.java:3423)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.BrackettedExpression(SPARQLParser11.java:3917)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Constraint(SPARQLParser11.java:2212)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Filter(SPARQLParser11.java:2203)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.GraphPatternNotTriples(SPARQLParser11.java:1884)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPatternSub(SPARQLParser11.java:1761)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPattern(SPARQLParser11.java:1698)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.WhereClause(SPARQLParser11.java:446)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.SelectQuery(SPARQLParser11.java:134)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Query(SPARQLParser11.java:50)
at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.QueryUnit(SPARQLParser11.java:41)
at com.hp.hpl.jena.sparql.lang.ParserSPARQL11$1.exec(ParserSPARQL11.java:49)
at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:98)
at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:53)
at com.hp.hpl.jena.sparql.lang.Parser.parse(Parser.java:37)
at com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:156)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:79)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:52)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40)
Re: exception ARQInternalErrorException: Can't create a javax.xml DatatypeFactory
Posted by Jie <so...@gmail.com>.
Dear Andy,
We are using this in the OSGi environment. With the new built
snapshot, the problem is sovled. Thank you very much.
Jie
On 16 October 2012 23:27, Andy Seaborne <an...@apache.org> wrote:
> On 16/10/12 22:08, Jie wrote:
>>
>> Hello,
>>
>> I am trying to make a sparql query by using jena and met an exception
>> ARQInternalErrorException: Can't create a javax.xml DatatypeFactory
>
>
> We've seen problems with this but only in certain environments.
>
> Are you:
> 1/ Not using a Sun JDK
> 2/ Running in some sort of container environment like OGSi or Tomcat?
>
> Andy
>
> PS Do try the snapshot that will get built soon, build 67 or later.
> I have tracked down all uses of a DatatypeFactory and they now go through
> the same general purpose creation code. NodeValueDT was not using this
> general code - it should have. The build server is currently very busy so
> while I have scheduled a build, it may take an hour or so to happen.
>
> Build server:
> https://builds.apache.org/view/G-L/view/Jena/
>
> The build area:
> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena/2.7.4-SNAPSHOT/
>
>
>
>> which comes out when creating the Query on basis of the QueryString at
>> Query query = QueryFactory.create(queryString) ;
>>
>> The whole query works fine in the endpoint in virtuoso, but when using
>> jena, the exception happens. And this exception happens only when a
>> FILTER of dateTime is added as follows:
>>
>> FILTER ( xsd:dateTime(?time) >= "2012-10-16T00:00:00Z"^^xsd:dateTime
>> && xsd:dateTime(?time) <= "2012-10-16T23:59:59Z"^^xsd:dateTime )
>>
>> And here is the whole query:
>>
>> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>> PREFIX ont: <http://www.owl-ontologies.com/Ontology1350394606.owl#>
>> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
>> SELECT ?time ?value WHERE {
>> ?m rdf:type ont:Measure.
>> ?m ont:time ?time.
>> ?m ont:value ?value.
>> FILTER ( xsd:dateTime(?time) >= "2012-10-16T00:00:00Z"^^xsd:dateTime
>> && xsd:dateTime(?time) <= "2012-10-16T23:59:59Z"^^xsd:dateTime ) }
>> ORDER BY ?time
>>
>> I wonder if anyone has met the similar problem and know the solution?
>> Thank you very much.
>>
>> FYI: version: jena-tdb 2.9.4 and jena-arq 0.9.4.
>>
>> Track for the exception:
>>
>> com.hp.hpl.jena.sparql.ARQInternalErrorException: Can't create a
>> javax.xml DatatypeFactory
>> at
>> com.hp.hpl.jena.sparql.expr.nodevalue.NodeValueDT.<clinit>(NodeValueDT.java:45)
>> at
>> com.hp.hpl.jena.sparql.expr.NodeValue._setByValue(NodeValue.java:1119)
>> at
>> com.hp.hpl.jena.sparql.expr.NodeValue.nodeToNodeValue(NodeValue.java:1027)
>> at
>> com.hp.hpl.jena.sparql.expr.NodeValue.makeNode(NodeValue.java:350)
>> at
>> com.hp.hpl.jena.sparql.util.ExprUtils.nodeToExpr(ExprUtils.java:65)
>> at
>> com.hp.hpl.jena.sparql.lang.ParserBase.asExpr(ParserBase.java:407)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.PrimaryExpression(SPARQLParser11.java:3882)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.UnaryExpression(SPARQLParser11.java:3789)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.MultiplicativeExpression(SPARQLParser11.java:3656)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.AdditiveExpression(SPARQLParser11.java:3554)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.NumericExpression(SPARQLParser11.java:3547)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.RelationalExpression(SPARQLParser11.java:3517)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.ValueLogical(SPARQLParser11.java:3472)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalAndExpression(SPARQLParser11.java:3451)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalOrExpression(SPARQLParser11.java:3430)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Expression(SPARQLParser11.java:3423)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.BrackettedExpression(SPARQLParser11.java:3917)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Constraint(SPARQLParser11.java:2212)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Filter(SPARQLParser11.java:2203)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.GraphPatternNotTriples(SPARQLParser11.java:1884)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPatternSub(SPARQLParser11.java:1761)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPattern(SPARQLParser11.java:1698)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.WhereClause(SPARQLParser11.java:446)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.SelectQuery(SPARQLParser11.java:134)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Query(SPARQLParser11.java:50)
>> at
>> com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.QueryUnit(SPARQLParser11.java:41)
>> at
>> com.hp.hpl.jena.sparql.lang.ParserSPARQL11$1.exec(ParserSPARQL11.java:49)
>> at
>> com.hp.hpl.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:98)
>> at
>> com.hp.hpl.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:53)
>> at com.hp.hpl.jena.sparql.lang.Parser.parse(Parser.java:37)
>> at
>> com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:156)
>> at
>> com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:79)
>> at
>> com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:52)
>> at
>> com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40)
>>
>
Re: exception ARQInternalErrorException: Can't create a javax.xml
DatatypeFactory
Posted by Andy Seaborne <an...@apache.org>.
On 16/10/12 22:08, Jie wrote:
> Hello,
>
> I am trying to make a sparql query by using jena and met an exception
> ARQInternalErrorException: Can't create a javax.xml DatatypeFactory
We've seen problems with this but only in certain environments.
Are you:
1/ Not using a Sun JDK
2/ Running in some sort of container environment like OGSi or Tomcat?
Andy
PS Do try the snapshot that will get built soon, build 67 or later.
I have tracked down all uses of a DatatypeFactory and they now go
through the same general purpose creation code. NodeValueDT was not
using this general code - it should have. The build server is currently
very busy so while I have scheduled a build, it may take an hour or so
to happen.
Build server:
https://builds.apache.org/view/G-L/view/Jena/
The build area:
https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena/2.7.4-SNAPSHOT/
> which comes out when creating the Query on basis of the QueryString at
> Query query = QueryFactory.create(queryString) ;
>
> The whole query works fine in the endpoint in virtuoso, but when using
> jena, the exception happens. And this exception happens only when a
> FILTER of dateTime is added as follows:
>
> FILTER ( xsd:dateTime(?time) >= "2012-10-16T00:00:00Z"^^xsd:dateTime
> && xsd:dateTime(?time) <= "2012-10-16T23:59:59Z"^^xsd:dateTime )
>
> And here is the whole query:
>
> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> PREFIX ont: <http://www.owl-ontologies.com/Ontology1350394606.owl#>
> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
> SELECT ?time ?value WHERE {
> ?m rdf:type ont:Measure.
> ?m ont:time ?time.
> ?m ont:value ?value.
> FILTER ( xsd:dateTime(?time) >= "2012-10-16T00:00:00Z"^^xsd:dateTime
> && xsd:dateTime(?time) <= "2012-10-16T23:59:59Z"^^xsd:dateTime ) }
> ORDER BY ?time
>
> I wonder if anyone has met the similar problem and know the solution?
> Thank you very much.
>
> FYI: version: jena-tdb 2.9.4 and jena-arq 0.9.4.
>
> Track for the exception:
>
> com.hp.hpl.jena.sparql.ARQInternalErrorException: Can't create a
> javax.xml DatatypeFactory
> at com.hp.hpl.jena.sparql.expr.nodevalue.NodeValueDT.<clinit>(NodeValueDT.java:45)
> at com.hp.hpl.jena.sparql.expr.NodeValue._setByValue(NodeValue.java:1119)
> at com.hp.hpl.jena.sparql.expr.NodeValue.nodeToNodeValue(NodeValue.java:1027)
> at com.hp.hpl.jena.sparql.expr.NodeValue.makeNode(NodeValue.java:350)
> at com.hp.hpl.jena.sparql.util.ExprUtils.nodeToExpr(ExprUtils.java:65)
> at com.hp.hpl.jena.sparql.lang.ParserBase.asExpr(ParserBase.java:407)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.PrimaryExpression(SPARQLParser11.java:3882)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.UnaryExpression(SPARQLParser11.java:3789)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.MultiplicativeExpression(SPARQLParser11.java:3656)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.AdditiveExpression(SPARQLParser11.java:3554)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.NumericExpression(SPARQLParser11.java:3547)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.RelationalExpression(SPARQLParser11.java:3517)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.ValueLogical(SPARQLParser11.java:3472)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalAndExpression(SPARQLParser11.java:3451)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalOrExpression(SPARQLParser11.java:3430)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Expression(SPARQLParser11.java:3423)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.BrackettedExpression(SPARQLParser11.java:3917)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Constraint(SPARQLParser11.java:2212)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Filter(SPARQLParser11.java:2203)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.GraphPatternNotTriples(SPARQLParser11.java:1884)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPatternSub(SPARQLParser11.java:1761)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPattern(SPARQLParser11.java:1698)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.WhereClause(SPARQLParser11.java:446)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.SelectQuery(SPARQLParser11.java:134)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Query(SPARQLParser11.java:50)
> at com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.QueryUnit(SPARQLParser11.java:41)
> at com.hp.hpl.jena.sparql.lang.ParserSPARQL11$1.exec(ParserSPARQL11.java:49)
> at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:98)
> at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:53)
> at com.hp.hpl.jena.sparql.lang.Parser.parse(Parser.java:37)
> at com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:156)
> at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:79)
> at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:52)
> at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40)
>