- From: Andy Seaborne <andy@seaborne.org>
- Date: Sun, 5 Dec 2021 20:58:50 +0000
- To: public-rdf-ruby@w3.org
Works for me in a single file but it looks like missed initialization or in the wrong order and Java is complicated in the os static class initialization. Could you try with public static void main( String[] args ) { JenaSystem.init(); .... } please Andy On 05/12/2021 19:39, Daniel Hernandez wrote: > > Hi Andy, > > Andy Seaborne <andy@seaborne.org> writes: >> Jena tries to - it's quite pragmatic: >> >> https://github.com/apache/jena/blob/main/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpAsQuery.java >> >> Andy > > When I was reviewing the OpAsQuery implementaion in Jena, and I had a > problem: It works with some S-expressions, but fails with others. My > testing code includes the following files: > > File 1: > > package cl.degu.sparql; > > import org.apache.jena.query.Query; > import org.apache.jena.sparql.algebra.OpAsQuery; > import org.apache.jena.sparql.algebra.Algebra; > > public class SSEtoSPARQL { > public static Query translate(String sse) { > return OpAsQuery.asQuery(Algebra.parse(sse)); > } > } > > FILE 2: > > package cl.degu.sparql; > > public class App > { > public static void main( String[] args ) > { > String sse; > > // First example > sse = "(project ?s (bgp (triple ?s ?p ?c)))"; > System.out.println(SSEtoSPARQL.translate(sse)); > > // Second example > sse = "(project ?s (bgp (triple ?s <http://example.org> ?c)))"; > System.out.println(SSEtoSPARQL.translate(sse)); > } > } > > The first example works, but the second example produces an error. The > output of the main function is the following: > > SELECT ?s > WHERE > { ?s ?p ?c } > > Exception in thread "main" java.lang.ExceptionInInitializerError > at org.apache.jena.sparql.sse.lang.ParseHandlerPlain.emitIRI(ParseHandlerPlain.java:165) > at org.apache.jena.sparql.sse.lang.ParseHandlerResolver.emitIRI(ParseHandlerResolver.java:150) > at org.apache.jena.sparql.sse.lang.ParserSSEBase.emitIRI(ParserSSEBase.java:46) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.IRIref(SSE_ParserCore.java:277) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.RDFTerm(SSE_ParserCore.java:230) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.Term(SSE_ParserCore.java:217) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.TermOrList(SSE_ParserCore.java:62) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.BareList(SSE_ParserCore.java:194) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.List(SSE_ParserCore.java:108) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.TermOrList(SSE_ParserCore.java:80) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.BareList(SSE_ParserCore.java:194) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.List(SSE_ParserCore.java:108) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.TermOrList(SSE_ParserCore.java:80) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.BareList(SSE_ParserCore.java:194) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.List(SSE_ParserCore.java:108) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.TermOrList(SSE_ParserCore.java:80) > at org.apache.jena.sparql.sse.lang.parser.SSE_ParserCore.parse(SSE_ParserCore.java:34) > at org.apache.jena.sparql.sse.lang.SSE_Parser.parse$(SSE_Parser.java:47) > at org.apache.jena.sparql.sse.lang.SSE_Parser.parse(SSE_Parser.java:40) > at org.apache.jena.sparql.sse.SSE.parse(SSE.java:452) > at org.apache.jena.sparql.sse.SSE.parse(SSE.java:373) > at org.apache.jena.sparql.sse.SSE.parse(SSE.java:368) > at org.apache.jena.sparql.algebra.Algebra.parse(Algebra.java:107) > at cl.degu.sparql.SSEtoSPARQL.translate(SSEtoSPARQL.java:9) > at cl.degu.sparql.App.main(App.java:16) > Caused by: java.lang.NullPointerException > at org.apache.jena.query.ARQ.isTrueOrUndef(ARQ.java:654) > at org.apache.jena.riot.system.RiotLib.<clinit>(RiotLib.java:59) > ... 25 more > > I included Jena into the project with the following dependency: > > <dependency> > <groupId>org.apache.jena</groupId> > <artifactId>apache-jena-libs</artifactId> > <version>4.2.0</version> > <type>pom</type> > </dependency> > > > Daniel >
Received on Sunday, 5 December 2021 20:59:06 UTC