Difference between revisions of "SPQL: SPecies Query Language"

From Gcube Wiki
Jump to: navigation, search
Line 34: Line 34:
 
havingExpression: HAVING 'Occurrence' | 'Taxon'
 
havingExpression: HAVING 'Occurrence' | 'Taxon'
 
</source>
 
</source>
 +
 +
== SPQL 2.0 ==
 +
 +
=== Synopsis ===
 +
<code>
 +
SEARCH BY '''term''' [, ...]
 +
      [ IN '''datasource''' [, ...] ]
 +
      [ WHERE '''condition''' [AND '''condition'''] ]
 +
      [ RETURN ''Product'' | ''Occurrence'' | ''Taxon'' ]
 +
      [ HAVING '''having expression''' ]
 +
</code>
 +
 +
===Description===

Revision as of 15:32, 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 ]

Description