我在Web服务器上有一个URL,它使用Python模块rdflib序列化RDF三元组。我想将此内容导入GraphDB。
rdflib.serialize输出格式为“xml”。 HTTP标头的MIME类型是“xml / rdf”,但结果与MIME类型“text / rdf”相同。
当内容保存到以“.rdf”扩展名结尾的文本文件时,GraphDB可以毫无问题地导入此文件,并且存储库内容正常。
URL可以在软件“Protégé”中导入,这是一个语义Web工具和RDF编辑器。
但是,当将相同的URL导入GraphDB时,我收到错误消息:
"Could not find RDF format for URL: (... my url ... )"
我尝试了几件事,没有成功:
我怀疑这个错误消息来自openrdf library,当它无法根据URL的文件扩展名或HTTP响应头中的内容类型确定内容类型时输出此消息,但我想我设置正确。
问题是什么?
(将评论转换为答案)
问题是“xml / rdf”和“text / rdf”不是RDF / XML文件格式的已知MIME类型。
要使用的正确MIME类型是“application / rdf + xml”。可选地,作为后备“application / xml”或“text / xml”也可以起作用。有关详细信息,请参阅rdf4j javadoc for RDF formats。