XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: V4.01_CS01
    • Fix Version/s: None
    • Component/s: Vocabularies
    • Labels:
      None
    • Proposal:
      Hide

      Define functions specific to JSON stream properties in the new JSON vocabulary.

      Functions: tbd.

       

      Show
      Define functions specific to JSON stream properties in the new JSON vocabulary. Functions: tbd.  
    • Resolution:
      Hide

       

       

      Show
         

      Description

      "JSON properties" are stream properties whose value is of media type application/json or one of its subtypes. They were introduced with ODATA-1177.

      As outlined in OData Extension for JSON Data we need query capabilities on these properties.

      Requirements:

      1. Specify a JSON Schema that describes/restricts the JSON stream values (ODATA-1275)
      2. Address parts of the JSON stream values in common expressions, e.g. in $filter, $compute, $orderby (this issue)

      The first requirement can e.g. be solved via bound functions on JSON stream properties, e.g.

      • extract/compute an OData value (primitive, complex, collection) from a JSON stream
      • special case: extract/compute a JSON stream from a JSON stream
      • special case: extract/compute a Boolean value from a JSON stream

      These functions can be inspired by (or be direct wrappers for) the SQL/JSON functions

      Google BigQuery Standard SQL has similar JSON functions JSON_EXTRACT and JSON_EXTRACT_SCALAR that use the same path syntax to address parts of the JSON value.

      PostgreSQL has its own set of JSON Functions and Operators.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated: