gpt4 book ai didi

python - 无法让 INSERT 在 SPARQLWrapper 中工作

转载 作者:太空宇宙 更新时间:2023-11-04 04:59:08 25 4
gpt4 key购买 nike

我一直在尝试让 SPARQLWrapper 将一个简单的三元组插入到 GraphDB 中,但没有成功。我对选择查询没有问题。这是失败的 Python 测试代码:

db = sparqlw.SPARQLWrapper(endpoint)
query = '''
INSERT {<http://example.com/123456789876> a owl:Thing .}
WHERE {}
'''
db.setQuery(query)
db.method = sparqlw.POST
db.setReturnFormat(sparqlw.JSON)
db.queryType= sparqlw.INSERT
result = db.query()

它返回这些错误:

"urllib.error.HTTPError: HTTP Error 400: Bad Request"

"SPARQLWrapper.SPARQLExceptions.QueryBadFormed: QueryBadFormed: a bad 
request has been sent to the endpoint, probably the sparql query is bad
formed."

回应: b'缺少参数:查询'

我到处都看过并尝试了所有建议,但无法正常工作。感谢任何好的线索。

请参阅我添加的关于查询验证的评论。问题重复且已回答的建议不适用。

最佳答案

GraphDB 公开 Sesame-style 端点 URL。
下面是 GraphDB 8.3 Workbench 帮助页面的屏幕截图(我使用的是免费版)。


Help


以下 Python 代码适用于我(repositoryIDwikidata):

from SPARQLWrapper import SPARQLWrapper, BASIC

db = SPARQLWrapper("http://localhost:7200/repositories/wikidata/statements")
query = '''
INSERT {<http://example.com/123456789879> a owl:Thing .}
WHERE {}
'''
db.setHTTPAuth(BASIC)
db.setCredentials('login', 'password')
db.setQuery(query)
db.method = "POST"
db.setReturnFormat('json')
db.queryType = "INSERT"
result = db.query()

关于python - 无法让 INSERT 在 SPARQLWrapper 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46271187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com