History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: GEOT-1666
Type: New Feature New Feature
Status: In Progress In Progress
Priority: Major Major
Assignee: Mauricio Pazos
Reporter: Jody Garnett
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
GeoTools

Create a TXT extention of CQL

Created: 11/Jan/08 03:21 PM   Updated: Today 07:50 AM
Component/s: core cql
Affects Version/s: 2.5-M0
Fix Version/s: None

Issue Links:
Supercedes
 
dependent
 

Sub-Tasks  All   Open   

 Description  « Hide
One of the things that blocks wider acceptance of the excellent CQL code is the limited scope of the common query language. In GeoTools we have a more relaxed view of a filter; and it would be nice to make a TXT format that matches what we can do!

Here is what our new TXT format needs to do (over and beyond the current abilities of CQL):

  1. support for spatial and comparison filters between any two expressions (CQL is limited to: propertyName OP expr)
    • CQL: propertyName contains geometry
    • TXT: geometry contains geometry
  2. support for the Id filters as defined by Filter 1.0 specification
    • CQL: n/q
    • TXT: #road.1, #road.2

This request is for a new grammar (called TXT) that extends the CQL BNF to account for these ideas. The new format should be presented as a seperate facade class (even though behind the scenes it will share a lot of code with the normal CQL implementation classes).

The new TXT grammar facade class is method compatible with CQL facade class:

class TXT {
    String toTXT( Expression );
    String toTXT( Filter );
    Expression toExpression( String );
    Expression toExpression( String, FilterFactory );
    Filter toFilter( String );
    Filter toFilter( String, FilterFactory );
    List<Filter> toFilterList(String);
    List<Filter> toFilterList(String,FilterFactory);
}

Existing specificaitons like CAT2 allow the specificaiton of a queryLanguage; if an application wishes to make this format available to the public it is advised that "txt" be a more expressive alternative queryLanaguage to "cql".

Here are some technical notes from Mauricio:

That is possible, I suggest to maintain different dialects that reuse the
existent software infrastructure.
The dialects would allow:
1 - to associate the context which the specific language must be used
2- to redefine the original rules without conflict.
3- to reuse the "builders" for semantic actions

Here are some examples (requested from Maria):

  • area( the_geom ) > 30,000
  • #road.1,#road.2, #road.47


 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order

Justin Deoliveira - 18/Jan/08 02:14 PM

Justin Deoliveira - 18/Jan/08 03:13 PM

Justin Deoliveira - 04/Feb/08 07:37 AM