Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-1121

Add FilterExpressionType values "MultiRange" and "MultiRangeOrSearchExpression"

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_ERRATA03
    • Fix Version/s: V4.01_CS02
    • Component/s: Vocabularies
    • Labels:
      None
    • Environment:

      Proposed

    • Proposal:
      Hide

      Add new allowed values

      <Record>
      <PropertyValue Property="Value" String="MultiRange" />
      <Annotation Term="Core.Description" String="Property can be compared to a union of one or more closed, half-open, or open intervals" />
      <Annotation Term="Core.LongDescription" String="The filter expression for this property consists of one or more interval expressions combined by OR. A single interval expression is either a single comparison of the property and a literal value with eq, le, lt, ge, or gt, or pair of boundaries combined by AND and enclosed in parentheses. The lower boundary is either ge or gt, the upper boundary either le or lt." />
      </Record>

      <Record>
      <PropertyValue Property="Value" String="MultiRangeOrSearchExpression" />
      <Annotation Term="Core.Description" String="Property can be compared to a union of zero or more closed, half-open, or open intervals plus zero or more simple string patterns" />
      <Annotation Term="Core.LongDescription" String="The filter expression for this property consists of one or more interval expressions or string comparison functions combined by OR. See MultiRange for a definition of an interval expression. See SearchExpression for the allowed string comparison functions." />
      </Record>

      Show
      Add new allowed values <Record> <PropertyValue Property="Value" String="MultiRange" /> <Annotation Term="Core.Description" String="Property can be compared to a union of one or more closed, half-open, or open intervals" /> <Annotation Term="Core.LongDescription" String="The filter expression for this property consists of one or more interval expressions combined by OR. A single interval expression is either a single comparison of the property and a literal value with eq, le, lt, ge, or gt, or pair of boundaries combined by AND and enclosed in parentheses. The lower boundary is either ge or gt, the upper boundary either le or lt." /> </Record> <Record> <PropertyValue Property="Value" String="MultiRangeOrSearchExpression" /> <Annotation Term="Core.Description" String="Property can be compared to a union of zero or more closed, half-open, or open intervals plus zero or more simple string patterns" /> <Annotation Term="Core.LongDescription" String="The filter expression for this property consists of one or more interval expressions or string comparison functions combined by OR. See MultiRange for a definition of an interval expression. See SearchExpression for the allowed string comparison functions." /> </Record>
    • Resolution:
      Show
      https://github.com/oasis-tcs/odata-vocabularies/pull/9

      Description

      Filter expression restrictions where introduced in ODATA-816 to express restricted filter capabilities on individual properties that can only be used in equality comparison or interval comparison.

      Similar to MultiValue being multiple SingleValues joined by OR, MultiRange is multiple SingleRanges joined by OR, with a slight generalization: in addition to closed intervals also half-open and open intervals are allowed, as well as degenerate intervals (closed intervals with identical lower and upper boundary can be expressed simply via EQ).

      This means that MultiRange subsumes SingleRange as well as MultiValue and SingleValue.

      For string-valued properties this can be extended to include multiple SearchExpressions: MultiRangeOrSearchExpression, allowing to OR zero or more startswith, endswith, or contains functions comparing the property to a string literal.

      These expressions are all fairly simple, including a property, a literal value, and at most one level of parentheses. They represent expressions that can be constructed by typical "extended search" forms that allow to pick the comparison operator and enter the comparison value (or two values for "between").

        Attachments

          Activity

            People

            • Assignee:
              handl Ralf Handl
              Reporter:
              handl Ralf Handl
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: