我是语义网、RDF 和使用curl 进行数据检索技术领域的新用户。我正在尝试使用 Mac OS 终端 (Mac OS Ventura 13.3) 中的curl 从 http://dbpedia.org/.
检索 xml 格式的 rdf 数据例如:
curl -o Paris-rdf.xml -L -H "Accept: application/rdf+xml" http://dbpedia.org/resource/Paris
这是预先录制的课程练习的一部分,我注意到课程中的 30 名学生中没有一个报告有问题。
当我使用文本编辑器(Sublime Text)查看xml输出文件时,出现以下错误语句:
Virtuoso 42000 Error D1CTX: Hash dictionary is full, exceeded 10000 entries
我感到惊讶有两个原因:首先,我在请求此资源上的 html 格式时使用curl成功检索了数据:
curl -o Paris.html -L -H "Accept: text/html"
http://dbpedia.org/resource/Paris
我还可以检索其他资源的 RDF/XML 格式的数据。其次,我了解到 Virtuoso 涉及数据库功能,处理 RDF 数据的管理,并支持 SPARQL 查询语言、查询协议和 XML 查询结果序列化。如果 Virtuoso 涉及 dbpedia.org 服务器端的功能,我不清楚作为客户端我可以配置什么才能使用curl 更成功地进行数据检索。
有人知道为什么会发生 Virtuoso 错误吗?我应该采取什么步骤有什么想法吗?
非常感谢您的提示或解释,让我了解所提到的任何主题。
告诉你的老师,你应该因为检查检索到的文件的内容而获得奖励积分,因为你的同学也没有获得所需的数据。
我们 (OpenLink Software) 最近向 Virtuoso 添加了一项设置,用于限制构造查询中的行数,这以前是内置限制。
事实证明,新设置的默认值对于 DBpedia 中的某些文章来说太小,因此我们将 DBpedia 中的设置值
virtuoso.ini
增加到:
[SPARQL]
...
MaxConstructTriples = 100000
如果重复您的操作,您应该会发现获得了预期的 RDF/XML 文档。