You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (Jira)" <ji...@apache.org> on 2021/11/02 09:10:00 UTC
[jira] [Resolved] (JENA-2190) JSON-LD 1.1 Parsing Error: Cannot
cast org.glassfish.json.JsonStringImpl to jakarta.json.JsonObject
[ https://issues.apache.org/jira/browse/JENA-2190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Seaborne resolved JENA-2190.
---------------------------------
Resolution: Duplicate
Thank for the report and details.
See JENA-2187. This is fixed in the development codebase. I checked your test case now works.
> 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
> 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)