本文介绍了SPARQL插入异常:SPARQLWrapper.SPARQLExceptions.QueryBadFormed的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直有这个奇怪的问题,我试图使用python中的SPARQLWrapper库将其插入到Virtuoso图形中。我可以通过基于浏览器的端点在localhost:8890sparql插入一个三元组,但是当我通过我的python SparqlWrapper尝试相同的查询时,它抛出以下错误:

我觉得配置端有问题,但无法识别。

PREFIX dbpedia: <http://dbpedia.org/resource/> Insert Data  { GRAPH <test> { <http://dbpedia.org/resource/life> <http://umbel.org/umbel/rc/Artist> '2' . } }
Traceback (most recent call last):
  File "test.py", line 33, in <module>
    sys.exit(process.run("1"))
  File "test.py", line 27, in run
    result = self.sparql.query().convert()
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/SPARQLWrapper/Wrapper.py", line 390, in query
    return QueryResult(self._query())
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/SPARQLWrapper/Wrapper.py", line 363, in _query
    raise QueryBadFormed()
SPARQLWrapper.SPARQLExceptions.QueryBadFormed: QueryBadFormed: a bad request has been sent to the endpoint, probably the sparql query is bad formed.

推荐答案

如果您将其带到parql.org的SPARQL update validator,它会立即告诉您这是错误的,语法错误在哪里:

当然,要了解如何做您正在尝试做的事情,您需要查看规范。SPARQL 1.1 Update是要查看的地方,虽然我建议您浏览一下,以便更好地了解其中的内容,但一个示例就足以显示您需要编写的内容:

您的查询需要

PREFIX dbpedia: <http://dbpedia.org/resource/>
Insert Data
{ GRAPH <test> { <http://dbpedia.org/resource/life> <http://umbel.org/umbel/rc/Artist> '2'^^xsd:integer . } }

这篇关于SPARQL插入异常:SPARQLWrapper.SPARQLExceptions.QueryBadFormed的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-21 10:46