我遇到了这个奇怪的问题,我试图使用python中的SPARQLWrapper库插入到虚拟图中。我能够在localhost:8890\sparql上通过基于浏览器的端点插入一个三元组,但是当我通过python SparqlWrapper尝试相同的查询时,它会引发以下错误:
SPARQLWrapper.SPARQLExceptions.QueryBadFormed: QueryBadFormed:一个错误的请求已经发送到端点,可能sparql查询的格式很糟糕。
我觉得配置端有问题,但没能识别出相同的地方。
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.发布于 2013-12-17 15:50:54
如果将其转到spamql.org的SPARQL更新验证器,它会立即告诉您这是错误的,语法错误在哪里:
输入: 1前缀xsd:http://www.w3.org/2001/XMLSchema# 2前缀rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns# 3前缀rdfs:http://www.w3.org/2000/01/rdf-schema# 4前缀owl:http://www.w3.org/2002/07/owl# 5前缀fn:http://www.w3.org/2005/xpath-functions# 6前缀apf:http://jena.hpl.hp.com/ARQ/property# 7 8前缀dbpedia:http://dbpedia.org/resource/ 9将数据插入图{ 10 http://dbpedia.org/resource/life http://umbel.org/umbel/rc/Artist‘2’^xsd:integer。11 } 语法错误: 在第13栏第9行遇到“进入”,预期:{.
当然,为了了解如何做您想要做的事情,您需要查看规范。SPARQL 1.1更新是一个可以查看的地方,虽然我建议您浏览一下它,以便对其中的内容有一个很好的了解,但有一个例子就足以说明您需要写什么:
示例2: 此SPARQ1.1Update请求添加三重,以提供书籍的价格。与前一个影响默认图的示例不同,请求的更改发生在IRI
http://example/bookStore标识的命名图中。 前缀dc:http://purl.org/dc/elements/1.1/前缀ns:http://example.org/ns#插入数据{ http://example/bookStore { http://example/book1 ns:price 42 }}
您的查询需要
PREFIX dbpedia: <http://dbpedia.org/resource/>
Insert Data
{ GRAPH <test> { <http://dbpedia.org/resource/life> <http://umbel.org/umbel/rc/Artist> '2'^^xsd:integer . } }发布于 2021-10-29 03:12:42
我花了一整天时间来解决这个问题。我终于找到了解决这个问题的方法:
确保您的空间实际上是空格,而不仅仅是换行符"\n“。编辑器对此没有问题,SPARQLWrapper不喜欢它。
https://stackoverflow.com/questions/20636073
复制相似问题