7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'app/models/concerns/publish_my_data/cube_results.rb', line 7
def loop_and_page_sparql_query(sparql, page_size=5000)
results = []
try_again = true
page = 1
while try_again
page_start = Time.now
sparql_query = PublishMyData::SparqlQuery.new(sparql, {:request_format => :json} )
sparql_query_result = JSON.parse(sparql_query.paginate(page, page_size).to_s)["results"]["bindings"]
try_again = (sparql_query_result.length == page_size)
page += 1
results += sparql_query_result
Rails.logger.debug(">>>> getting page of sparql took #{Time.now - page_start}s")
end
results
end
|