Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.5-M0
    • Fix Version/s: 2.6-M0
    • Component/s: cql
    • Labels:
      None

      Description

      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

        Issue Links

          Activity

          Show
          Jody Garnett added a comment - Module maintainer asked for a wiki page: - http://docs.codehaus.org/display/GEOTOOLS/Extention+of+CQL+to+match+abilities+of+Filter - http://docs.codehaus.org/display/GEOTOOLS/TXT+BNF
          Hide
          Justin Deoliveira added a comment -
          Show
          Justin Deoliveira added a comment - Integrated in geotools-trunk #131 (See [ http://gridlock.openplans.org:8080/hudson/job/geotools-trunk/131/ ])
          Hide
          Justin Deoliveira added a comment -
          Show
          Justin Deoliveira added a comment - Integrated in geotools-trunk #132 (See [ http://gridlock.openplans.org:8080/hudson/job/geotools-trunk/132/ ])
          Hide
          Justin Deoliveira added a comment -
          Show
          Justin Deoliveira added a comment - Integrated in geotools-trunk #207 (See [ http://gridlock.openplans.org:8080/hudson/job/geotools-trunk/207/ ])

            People

            • Assignee:
              Mauricio Pazos
              Reporter:
              Jody Garnett
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: