从Jena的url中读取RDF / XML

时间:2017-01-15 11:02:12

标签: xml rdf jena

我试图使用Jena读取XML文件。通常它正在工作。

delphi32.exe

但是当段落包含br或链接时我尝试另一个URL。它给了我这个错误。

    final String url = "http://www.bbc.co.uk/nature/life/Human";
    Model model = ModelFactory.createDefaultModel();       
    model.read(url, "RDF/XML");

这是Jena抛出此错误的第二种情况的链接http://www.bbc.co.uk/nature/life/Great_white_shark

我应该做些什么来让它忽略它。

1 个答案:

答案 0 :(得分:2)

问题在于BBC网站的数据;需要将<br/>转义为&lt;br/&gt;,以将HTML标记放入字符串值中。在RDF / XML中,字符串值不能包含简单字符串的原始标记。

不幸的是,BBC网站没有完全处理内容协商:要求Turtle或N-triples获取XHMTL页面。

您需要使用常规HTTP请求下载文件,标头为Accept: application/rdf+xml,修补内容,并从修复版本中解析。一种方法是将其读入Java字符串,使用正则表达式将<br/>替换为&lt;br/&gt;,然后从字符串中解析。