无法将RDF网址内容导入GraphDB

时间:2019-03-03 21:53:11

标签: rdf rdflib graphdb rdf4j openrdf

我在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 ... )"

我尝试了几件事,但没有成功:

  • 我检查了GraphDB是否期望URL和文本文件具有相同的数据格式。
  • 在GraphDB“导入高级设置”中,我未选中标志“验证URI”和“应在出错时停止”。
  • 我尝试使用Apache Web服务器和简单的Python类BaseHTTPServer。

我怀疑此错误消息来自openrdf library,当它无法根据URL的文件扩展名或HTTP响应标头中的内容类型确定内容类型时,会输出此消息,但是我想我正确设置。

出了什么问题?

1 个答案:

答案 0 :(得分:3)

(将评论转换为答案)

问题是RDF / XML文件格式的“ xml / rdf”和“ text / rdf”不是已知的MIME类型。

要使用的正确MIME类型是“ application / rdf + xml”。可选地,作为后备“ application / xml”或“ text / xml”也可以工作。有关详细信息,请参见rdf4j javadoc for RDF formats