gpt4 book ai didi

python - 查询本地 SPARQL 端点非常慢

转载 作者:行者123 更新时间:2023-12-04 17:09:08 24 4
gpt4 key购买 nike

我已经使用 Openlink Virtuoso 通过此 guide 设置了带有 DBPedia 数据库的本地 SPARQL 端点.然后我尝试在 RDFLib 和 SPARQLWrapper 的帮助下通过 Python 查询我的数据库。

问题是查询(通过 Python)花费的时间很长,通常需要 2 到 3 秒才能得到返回结果。但是当我使用我的浏览器直接在端点查询时(从 Chrome 转到本地主机),对于相同类型的查询,我会立即得到结果。

我不认为这是我的 Python 代码的问题,因为如果我保留相同的代码并仅更改为 DBPedia 端点,我可以在 0.1 到 0.2 秒内获得查询结果。我的数据库文件大约有 6GB,我已经按照说明配置了 ini 文件以使用更多内存。

谁能帮我排查问题?我在想我需要用 virtuoso 服务器调整一些参数,但我不知道从哪里开始。谢谢!

我的查询如下所示(DBPedia 端点或直接来自 Chrome 的本地端点:几乎即时结果;通过 Python 的本地端点:2 秒以上):

sparql = SPARQLWrapper('http://localhost:8890/sparql')
sparql.setQuery('''
SELECT ?id
WHERE {
?linkto dbo:wikiPageID ?id.
?origin dbo:wikiPageWikiLink ?linkto.
?origin dbo:wikiPageID 9186.
}
''')
sparql.setReturnFormat(CSV)
qres = sparql.query().convert().decode('u8')

编辑:我打印了数百个查询的运行时间(在本地端点上),每个查询都需要大约 2.01 到 2.05 秒才能完成,甚至没有一个低于 2 秒。所以我认为在管道的某个地方有一个固定的 2 秒延迟,而实际的查询只需要 10 到 50 毫秒就可以完成。

最佳答案

正如我在评论中所建议的那样,它成功了——

You might try changing localhost to 127.0.0.1. DNS is often the cause of weirdly slow things like this.

关于python - 查询本地 SPARQL 端点非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69853221/

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