我在Web服务器上有一个URL,该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响应标头中的内容类型确定内容类型时,会输出此消息,但是我想我正确设置。
出了什么问题?
答案 0 :(得分:3)
(将评论转换为答案)
问题是RDF / XML文件格式的“ xml / rdf”和“ text / rdf”不是已知的MIME类型。
要使用的正确MIME类型是“ application / rdf + xml”。可选地,作为后备“ application / xml”或“ text / xml”也可以工作。有关详细信息,请参见rdf4j javadoc for RDF formats。