Difference between revisions of "SPQL: SPecies Query Language"

From Gcube Wiki
Jump to: navigation, search
(Description)
(Synopsis)
Line 42: Line 42:
 
       [ IN '''''datasource''''' [, ...] ]
 
       [ IN '''''datasource''''' [, ...] ]
 
       [ WHERE '''''condition''''' [AND '''''condition'''''] ]
 
       [ WHERE '''''condition''''' [AND '''''condition'''''] ]
       [ RETURN '''Product''' | '''Occurrence''' | '''Taxon''' ]
+
       [ RETURN {PRODUCT | OCCURRENCE | TAXON} ]
 
       [ HAVING '''''having expression''''' ]
 
       [ HAVING '''''having expression''''' ]
 
</code>
 
</code>

Revision as of 14:41, 3 April 2013

SPQL is a language used to query the Species Product Discovery Service

Grammar

query: terms (IN identifiers)? (WHERE expressions)? (RETURN returnExpression)?
 
terms: term  (',' term)*
 
term: words AS (('ScientificName'|'SN') | ('CommonName'|'CN'))
 
words: word (',' word)*
 
word : STRING
 
identifiers:  identifier (',' identifier)*
 
identifier: ID
 
expressions: expression (AND expression)*
 
expression:	(bc=boundCondition | dateCondition)
 
boundCondition: ('lowerBound' | 'upperBound') IS coordinate
 
dateCondition: ('fromDate' | 'toDate') IS date
 
date: INT '/' INT '/' INT
 
coordinate: FLOAT ',' FLOAT
 
returnExpression: '*' (havingExpression)? | 'Occurrence' | 'Taxon'
 
havingExpression: HAVING 'Occurrence' | 'Taxon'

SPQL 2.0

Synopsis

SEARCH BY term [, ...]
      [ IN datasource [, ...] ]
      [ WHERE condition [AND condition] ]
      [ RETURN {PRODUCT | OCCURRENCE | TAXON} ]
      [ HAVING having expression ]

Where term can be one of:

CN common name RESOLVE [ WITH datasource [, ...] ] [EXPAND [ WITH datasource [, ...] ] ]
SN scientific name [ RESOLVE [ WITH datasource [, ...] ] ] [EXPAND [ WITH datasource [, ...] ] ]

Description

The Search by statement retrieves all available elements from the species service. The general processing of Search by is as follows: