Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elaborate API requirement? #15

Open
jqnatividad opened this issue Oct 6, 2015 · 2 comments
Open

Elaborate API requirement? #15

jqnatividad opened this issue Oct 6, 2015 · 2 comments

Comments

@jqnatividad
Copy link

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

  • ability to filter queries, with true SQL syntax
  • ability to subscribe to dataset/publisher activity streams
  • ability to do joins
  • ability to request for a list of datasets that have certain attributes (tag, metadata, publisher, etc.)

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
Copy link
Member

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
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants