GET /evaluation/submission/query

Executes a user-defined query over the Submissions of a specific Evaluation. Queries have the following form:

SELECT <fields> FROM evaluation_<id> [WHERE <filter> (AND <filter>)*] [ORDER BY <name> asc|desc] [LIMIT <L> OFFSET <O>]

where

<fields> is either "*" or a comma delimited list of names

  • <name> is the name either of a system-defined field in a Submission or of a user-defined annotation. The system-defined field names are: objectId, scopeId, userId, submitterAlias, entityId, versionNumber, name, createdOn, modifiedOn, and status. Note: If a user-defined annotation name and type of value matches/collides with those of a system-defined field, the query will be against the field name, not the user defined annotation.
  • <id> is the Evaluation's ID
  • <filter> = <name> <comparator> <value>
  • <comparator> is one of ==, !=, >, <, >=, or <=
  • <value> is an annotation value, of type string, integer, or decimal
  • <L> and <O> are optional limit and offset pagination parameters, limit>=1 and offset>=0. Note: If pagination is used, LIMIT must precede OFFSET and the pair of parameters must follow ORDER BY (if used).

Examples:
SELECT * FROM evaluation_123 WHERE myAnnotation == "foo"
SELECT entityId, status, myAnnotation FROM evaluation_123 WHERE myAnnotation == "foo" AND status="RECEIVED"
SELECT * FROM evaluation_123 order by status asc limit 20 offset 10

Note: The query is a parameter of the http request whose key is 'query' and the query parameter is URL encoded, so the URI is of the form:
/evaluation/submission/query?query=select+*+from+evalution_123+WHERE+...

Notes:

User must be granted READ access to the Evaluation in order to issue any query. READ_PRIVATE access provides access to those annotations having their "isPrivate" flag set to true.

IF "SELECT *" is used and if the user lacks READ_PRIVATE access to the Evaluation, then any private annotations will be omitted from the resulting column headers. However, if the selected annotations are specified explicitly then private annotation names will be included in the column headers, but their values will be returned as null. Further, if the private annotation is included in a filter then no results are returned.

Filtering on 'myAnnotaton==null' is allowed, but will only return entries having 'myAnnotation' explicitly set to null, and not entries which simply have no annotation called 'myAnnotation'.

While privacy levels for user defined annotations are set by the user, the privacy level of system-defined fields are always public.
The following fields are system-defined:
userId, teamId, submitterId, name, createdOn, submitterAlias, repositoryName, dockerDigest, objectId, scopeId, entityId, versionNumber, modifiedOn, status, canCancel, cancelRequested, and CancelControl are public. The submitterId field will be equal to either the userId, if the submission is for an individual, or the teamId, if the submission is on behalf of a team.

The query is to be URL encoded in the submitted request.

Resource URL

https://repo-prod.prod.sagebase.org/repo/v1/evaluation/submission/query

Parameters
query
Resource Information
Authentication Required
HTTP Methods GET
Request Object None
Response Object QueryTableResults
(application/json)