Limits On Large Result Sets

Our system imposes a hard-limit of a 15 minute query time out and a maximum of 500,000 triples or JSON key-value pairs. This approximates to different numbers of results for different data types, but as a guide, this is equivalent to around 10,000 pharmacology bioactivity results. Therefore, when requesting large datasets, it is advisable to use the count() API calls to obtain the number of results and page any that will result in large amounts of data being returned.

We suggest you consider using pagination whenever possible to avoid potential time out issues.

How Pagination Works

For many of our API calls one may create a query returning thousands of rows of data. To avoid sending megabytes of data back unless the user specifically wants this, we use pagination. If the calls support pagination you will see the parameters:

A number; the page that should be viewed
The desired page size. Set to all to retrieve all results in a single page.

If you enter no values here, the default will be page 1 and the size will be 10 results.

If you want to return all data, leave _page empty and enter the value all into the _pageSize parameter.

Remember, pagination is there to avoid you having to wait to receive a large amount of data if you dont need this. Pagination can be combined with ordering and filtering parameters to give very detailed control over the data that you can obtain from a number of our API calls.