The server does not appear to be sending an appropriate Content-Type header.
Note that if you read the stack trace you can see that Jena thinks the URI is
returning JSON/LD and invoking its JSON/LD parser hence why you hit a parsing
error. I would consider filing a bug report with the server operators about
this
As you note in your email the data is actually RDF/XML so you can force Jena to
request (and treat) the data as that by passing the language parameter to the
RDFDataMgr.loadModel() call e.g.
RDFDataMgr.loadModel("http://viaf.org/viaf/32182557", Lang.RDFXML);
Rob
On 16/12/2019, 09:24, "Andreas Kahl" <[email protected]> wrote:
Hello everyone,
I got this error while trying to load data from a URI to a Jena model:
http://viaf.org/viaf/32182557 (RDF-URL:
https://viaf.org/viaf/32182557/rdf.xml )
2019-12-16 09:55:09 WARN Spider:490 - Error parsing data from URI:
http://viaf.org/viaf/32182557
org.apache.jena.riot.RiotException: invalid term definition: empty key
for value 'http://viaf.org/viaf/terms#'
at
org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.error(ErrorHandlerFactory.java:140)
at
org.apache.jena.riot.lang.JsonLDReader.read$(JsonLDReader.java:162)
at
org.apache.jena.riot.lang.JsonLDReader.read(JsonLDReader.java:101)
at org.apache.jena.riot.RDFParser.read(RDFParser.java:352)
at org.apache.jena.riot.RDFParser.parseURI(RDFParser.java:321)
at org.apache.jena.riot.RDFParser.parse(RDFParser.java:295)
at
org.apache.jena.riot.RDFParserBuilder.parse(RDFParserBuilder.java:506)
at org.apache.jena.riot.RDFDataMgr.parseFromURI(RDFDataMgr.java:890)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:221)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:102)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:93)
at org.apache.jena.riot.RDFDataMgr.loadModel(RDFDataMgr.java:335)
If I paste the rdf.xml to W3C's validator, it validates successfully.
(URL: source of https://viaf.org/viaf/32182557/rdf.xml ->
https://www.w3.org/RDF/Validator )
Is there any setting that should be used in order to make Riot more
tolerant to this?
The Jena version used is 3.13.1.
Thanks for your advice.
Best Regards
Andreas