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)
>