OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Created: (ODATA-3) Use CQL standard for query instead of odata-specific filter query protocol


Use CQL standard for query instead of odata-specific filter query protocol
--------------------------------------------------------------------------

                 Key: ODATA-3
                 URL: http://tools.oasis-open.org/issues/browse/ODATA-3
             Project: OASIS Open Data Protocol (OData) TC
          Issue Type: Improvement
          Components: OData Protocol v1.0
    Affects Versions: WD01
            Reporter: Farrukh Najmi



Currently ODATA defines query protocol that uses query path and options to specify desired data using a filter based approach:

The following is the example to fetch all movie names in a movie catalog that match the genre 'Adventure'

GET /v2/Catalog/Genres('Adventure')/Name HTTP/1.1

The current approach seems to have several limitations:

 * It cannot do boolean operations to for example match genres of 'Humor' AND  'Adventure'
 * It creates a strong linkage between a logical schema and a physical schema and exposes this to the query client
 * It requires too much knowledge on part of the query client and seems complex to use

An alternative may be to use the Contextual Query Language or CQL [SearchRetrievePt5]. CQL has been around for many years and is in use in diverse communities to provide interoperable access to various data stores.

CQL provides much simpler more intuitive syntax that does not have the restrictions noted above. Here is a simple example of a complex query for a fictitious MovieCatalog context:

movie.genre = 'history' AND movie.year > 1980 AND movie.year < 1982 AND movie.actor = "*Quinn*"

It seems easily possible to define a CQL profile for ODATA that would specify how CQL queries are invoked as part of an ODATA RESTFul query. 

The result would be:

 * a more functional query protocol
 * based on existing OASIS specification with established use in several communities
 * easier syntax for query client
 * Easier to map to existing data stores with less hardwiring between logical and physical schema

[SearchRetrievePt5]

searchRetrieve: Part 5. CQL: The Contextual Query Language Version 1.0. 13 April 2012. OASIS Committee Specification 01. http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/cs01/part5-cql/searchRetrieve-v1.0-cs01-part5-cql.html.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]