govex / open-data-portal-requirements

Open Data Portal Requirements
http://labs.centerforgov.org/open-data-portal-requirements/
Other
14 stars 7 forks source link

Elaborate API requirement? #15

Open jqnatividad opened 9 years ago

jqnatividad commented 9 years ago

What about adding more detail to the API requirement, in terms of:

Also, beyond the Data API, having API access to other core Data Portal functionality, that could be leveraged by the publisher/administrator and third-parties to integrate the data portal into transaction workflows would be useful.

technickle commented 9 years ago

These are great suggestions.

One thing I am not sure about is "true SQL syntax". I think it is ambiguous. What variation of SQL? How does it get HTML-encoded? Is it passed\ as a query string or as a GET request header? etc. What if we made a more generic requirement which said that the API should approximate Structured Query Language, supporting at least all functions defined in SQL-92?

jqnatividad commented 9 years ago

For large datasets, having the ability to filter queries is essential - i.e. specify delta downloads so you don't need to download the entire dataset.

As for the syntax, having a "standard" query language is preferred. Explicitly specifying a subset of SQL-92 functions I think is a good requirement as it may not be reasonable to expect solution providers to support all SQL -92 features that may not apply to the Data API usecase.

SQL-92 features like joins, filtering predicates like "between", "like", "exists", "in", etc. should be included in the subset.

In addition, spatial filtering features would also be a big bonus! I'm afraid I'm not aware of a standard syntax for that, as it seems different datastore providers use their own syntax.