我使用SPARQLWrapper模块向virtuoso端点启动查询并获得结果。python SPARQLWrapper只返回10000个结果
查询总是返回最大的10000项
这里是Python脚本:
from SPARQLWrapper import SPARQLWrapper, JSON
queryString = """
SELECT DISTINCT ?s
WHERE {
?s ?p ?o .
}
"""
sparql = SPARQLWrapper("http://localhost:8890/sparql")
sparql.setQuery(queryString)
sparql.setReturnFormat(JSON)
res = sparql.query().convert()
# Parse result
parsed = []
for entry in res['results']['bindings']:
for sparql_variable in entry.keys():
parsed.append({sparql_variable: entry[sparql_variable]['value']})
print('Query return ' + str(len(parsed)) + ' results')
当我劳克与
SELECT count(*) AS ?count
我得到三倍的权数查询:917051.
SPARQLWrapper模块为什么限制数量结果为10000?
如何获得所有结果?
“直接启动”是什么意思?通常Virtuoso在'virtuoso.ini'文件中设置了默认限制 - 所以首先,你应该检查你的配置。 – AKSW
当一个启动带有计数的查询进入virtuoso的指挥界面时,我得到正确的数字。我更改.ini文件中的参数,它工作,谢谢! –