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
    
    
    
    
    
    




Reply via email to