我正在尝试解析RDF数据并将其加载到模型实例。但是,我不想从文件中读取数据,而是通过http get通过URI获取数据。
我现在所做的事情是:
Model model = ModelFactory.createDefaultModel();
model.read(rdfdata, null);
model.write(System.out);
rdfdata是我收到的数据(String)。但我得到以下例外:
Exception in thread "main" org.apache.jena.riot.RiotNotFoundException: Not found: <?xml version="1.0" encoding="UTF-8" ?> [...]
问题在哪里,我该如何解决? 将数据读入模型是否正确或者之前我必须做些什么? 对不起,我的英语不好。 :)
答案 0 :(得分:1)
model.read()方法直接获取URL。而不是将数据读入字符串只需将URL直接传递给它。第二个参数要么传递null,要么传递“RDF / XML”。
答案 1 :(得分:0)
您的错误消息显示:
Not found: <?xml version="1.0" encoding="UTF-8" ?> [...]
盯着它,出现,它报告名称为<?xml version="1.0" encoding="UTF-8" ?>...
的文件或URI无法打开。这是有道理的,因为它不太可能是正确的文件名。
检查model.read()
的文档,特别是检查它的第一个参数是什么。还要检查rdfdata
是什么:它是文件路径还是URI? (它看起来像是RDF / XML文件的内容)。
(如果这个猜测是对的,那么)故事的道德:回想一下,在编写错误信息时,程序员通常至少尝试有所帮助,因此'这是多么的胡言乱语^试图告诉我的错误信息?'