Python : SpaqrlWrapper, Timeout?



我是python的新手,也是查询语义web的新手。我正在使用SPARQLWrapper库来查询dbpedia,我搜索了库文档,但没有找到从sparQLWrappeer向dbpedia发出的查询的"超时"。

任何人都有同样的想法。

自2018年起,您可以使用SPARQLWrapper.setTimeout()设置SPARQLWrapper请求的超时。

正如Karoo所提到的,您可以使用SPARQLWrapper.setTimeout(timeout=(int))。如果您希望将超时作为浮点值,请转到Wrapper.py模块,并在def setTimeout(self, timeout):函数中将self.timeout = int(timeout)更改为self.timeout = float(timeout)

我不知道这是否是你问题的具体答案,但我已经搜索了很长时间,下面是我在SPARQLWrapper:上遇到Virtuoso特定超时问题的其他人的解决方案

您可以使用这行代码为查询设置服务器端超时(而不是像.setTimeout那样的客户端):

[your SPARQLWrapper entity].addExtraURITag("timeout","[your timeout in ms]")

在我的情况下,它看起来像这样:

s.addExtraURITag("timeout","10000")

在查询停止搜索并返回结果之前,这将给您10秒的时间,而不仅仅是一个Timeout错误。

希望我能帮助任何人。

DBPedia使用Virtuoso服务器作为其端点,timeout是一个特定于虚拟大师的选项。SparqlWrapper目前不支持它。

下一个版本将具有更好的模块性,之后可能会实现适当的特定于供应商的扩展,但我想您没有时间等待了。

目前,添加此类参数的唯一方法是手动将其硬编码到本地版本的库

相关内容

  • 没有找到相关文章

最新更新