SPARQLWrapper(Python)的问题

1 投票
2 回答
1056 浏览
提问于 2025-04-15 15:43

我正在使用 SPARQLWrapper 对本地的Sesame数据库进行SPARQL查询:

  sparql = SPARQLWrapper('http://localhost:8080/openrdf-sesame/repositories/rep/statements')
  sparql.setQuery(query)
  sparql.setReturnFormat(JSON)
  results = sparql.query().convert()

但是,我遇到了:

File "build/bdist.linux-i686/egg/SPARQLWrapper/Wrapper.py", line 339, in query
  File "build/bdist.linux-i686/egg/SPARQLWrapper/Wrapper.py", line 318, in _query
urllib2.HTTPError: HTTP Error 406: Not Acceptable

奇怪的是,当我对DBPedia的SPARQL接口进行查询时,一切都正常……

有什么想法吗?

谢谢!

2 个回答

-1

我自己动手解决了这个问题,做了SPARQL的封装...

3

对于SPARQLWrapper来说,通常不需要在网址中添加statements这一部分。也就是说,下面的写法应该是可以正常工作的:

sparql = SPARQLWrapper('http://localhost:8080/openrdf-sesame/repositories/rep')

然后你就可以继续写你代码的其他部分了。

撰写回答