我使用SPARQLWrapper模块启动对虚拟端点的查询并获得结果。
查询总是返回最多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?
我怎样才能得到所有的结果?
发布于 2017-03-01 22:02:27
答案是调整虚拟配置文件,如文档所示。特别是在这种情况下,您需要在ResultSetMaxRows节中增加[SPARQL]。
限制不在SPARQLWrapper中。如果您通过SPARQL端点、导体或任何其他接口执行完整的SELECT (而不是只传递1行的COUNT ),您将看到同样的限制。
https://stackoverflow.com/questions/42436337
复制相似问题