[ https://issues.apache.org/jira/browse/JENA-2190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Seaborne updated JENA-2190: -------------------------------- Fix Version/s: Jena 4.3.0 > JSON-LD 1.1 Parsing Error: Cannot cast org.glassfish.json.JsonStringImpl to > jakarta.json.JsonObject > --------------------------------------------------------------------------------------------------- > > Key: JENA-2190 > URL: https://issues.apache.org/jira/browse/JENA-2190 > Project: Apache Jena > Issue Type: Bug > Components: JSON-LD > Affects Versions: Jena 4.2.0 > Reporter: David Beaudet > Priority: Major > Fix For: Jena 4.3.0 > > Attachments: linkedArtSampleData.jsonld11, pom.xml > > > When attempting to load a dataset formatted in JSON-LD 1.1 with the following > code and data, I'm encountering the following exception with version 4.2.0 > > Data corresponding to contents of file path in Java snippet: > {quote}see attachment > {quote} > and contents of the @context can be loaded from its URL. > > Java Snippet: > {quote}InputStream in = Files.newInputStream(path); > {quote} > {quote}OntModel blankModel = ModelFactory.createOntologyModel( > OntModelSpec.RDFS_MEM ); > {quote} > {quote}RDFParser.source(in) .forceLang(Lang.JSONLD11) > .parse(emptyModel.getGraph()); > {quote} > > Exception: > {quote}{{2021-11-01 15:17:17 WARN LangJSONLD11:58 - Unexpected problem while > extracting prefixes: Cannot cast org.glassfish.json.JsonStringImpl to > jakarta.json.JsonObject2021-11-01 15:17:17 WARN LangJSONLD11:58 - Unexpected > problem while extracting prefixes: Cannot cast > org.glassfish.json.JsonStringImpl to > jakarta.json.JsonObjectjava.lang.ClassCastException: Cannot cast > org.glassfish.json.JsonStringImpl to jakarta.json.JsonObject at > java.base/java.lang.Class.cast(Class.java:3818) at > jakarta.json.JsonValue.asJsonObject(JsonValue.java:117) at > org.apache.jena.riot.lang.LangJSONLD11.extractPrefixes(LangJSONLD11.java:97) > at org.apache.jena.riot.lang.LangJSONLD11.read(LangJSONLD11.java:75) at > org.apache.jena.riot.lang.LangJSONLD11.read(LangJSONLD11.java:55) at > org.apache.jena.riot.RDFParser.read(RDFParser.java:358) at > org.apache.jena.riot.RDFParser.parseNotUri(RDFParser.java:348) at > org.apache.jena.riot.RDFParser.parse(RDFParser.java:295) at > org.apache.jena.riot.RDFParser.parse(RDFParser.java:241) at > org.apache.jena.riot.RDFParserBuilder.parse(RDFParserBuilder.java:562) at > test.TestJena.main(TestJena.java:175)}} > {quote} > > If I specify JSONLD rather than JSONLD11 to the RDFParser, a different > exception is thrown which I assume is in response to the @version 1.1 > specified in the @context URI > {quote}{{Exception in thread "main" org.apache.jena.riot.RiotException: > invalid term definition: 1.1Exception in thread "main" > org.apache.jena.riot.RiotException: invalid term definition: 1.1 at > org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.error(ErrorHandlerFactory.java:147) > at org.apache.jena.riot.lang.JsonLDReader.read$(JsonLDReader.java:191) at > org.apache.jena.riot.lang.JsonLDReader.readWithJsonLDCtxOptions(JsonLDReader.java:144) > at org.apache.jena.riot.lang.JsonLDReader.read(JsonLDReader.java:118) at > org.apache.jena.riot.RDFParser.read(RDFParser.java:358) at > org.apache.jena.riot.RDFParser.parseNotUri(RDFParser.java:348) at > org.apache.jena.riot.RDFParser.parse(RDFParser.java:295) at > org.apache.jena.riot.RDFParser.parse(RDFParser.java:241) at > org.apache.jena.riot.RDFParserBuilder.parse(RDFParserBuilder.java:562) at > test.TestJena.main(TestJena.java:175)}}{quote} -- This message was sent by Atlassian Jira (v8.3.4#803005)