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: RE: Agenda for OData TC meeting on 2018-06-21 - chat transcript


[17:01] Ralf Handl (SAP SE): Dial-in information: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/56760/latest 
 
Online chat room: http://webconf.soaphub.org/conf/room/odatatc 
 
Screen sharing: https://sap.emea.pgiconnect.com/OData-TC/
[17:01] Ralf Handl (SAP SE): Agenda
 
1.Roll call [8:00 am PT]
a.Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46261
[17:02] Ralf Handl (SAP SE): Voting Members: 4 of 11 (36%) (used for quorum calculation)
[17:02] anonymous morphed into Hubert Heijkers (IBM)
[17:02] Ralf Handl (SAP SE): Voting Members: 5 of 11 (45%) (used for quorum calculation)
[17:03] Ralf Handl (SAP SE): Voting Members: 7 of 11 (63%) (used for quorum calculation)
[17:03] Ralf Handl (SAP SE): Quorum achieved: yes
[17:04] anonymous morphed into George Ericson (Dell)
[17:05] Ralf Handl (SAP SE): 2.Approve agenda [8:05 am PT]
[17:09] Ralf Handl (SAP SE): Mark asks why www.odata.org links to V4.01 specifications
[17:10] Ralf Handl (SAP SE): Ralf: V4.01 specs point back to V4 under
- Related work:
-- This specification replaces or supersedes:
[17:12] Ralf Handl (SAP SE): Mike: next Face-to-Face
[17:13] Ralf Handl (SAP SE): Mike: September 2018
[17:14] Ralf Handl (SAP SE): Please check your calendars and let's find a date next meeting
[17:15] Ralf Handl (SAP SE): Mike: Microsoft might host the meeting
[17:15] Ralf Handl (SAP SE): Agenda is approved
[17:15] Ralf Handl (SAP SE): 3.Approve minutes from previous meeting(s) [8:10 am PT]
a.https://www.oasis-open.org/committees/download.php/63287/odata-meeting-217_on-20180614-minutes.html
[17:16] Ralf Handl (SAP SE): No remarks, the minutes are approved
[17:16] Ralf Handl (SAP SE): 4.Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT]
a.Action items due
i.none
[17:18] Ralf Handl (SAP SE): 5.Issues [8:20 am PT]
a.Data Aggregation: NEW or OPEN
[17:19] Ralf Handl (SAP SE): i.ODATA-1068 3.12 Transformation expand: require at least two parameters, with innermost expansion requiring a filter()
[17:20] Ralf Handl (SAP SE): ..../expand(Products)/.... doesn't do anything
 
.../expand(Products,filter(...)/... actually changes something
[17:21] Ralf Handl (SAP SE): GET ~/Categories?$apply=expand(Products,expand(Sales,filter(Amount gt 3)))
$apply=expand(Products,expand(Sales,filter(Amount gt 3)),expand(Suppliers,expand(Products,filter(true))))
[17:23] Hubert Heijkers (IBM): I move to resolve ODATA-1068 as proposed
[17:24] Ralf Handl (SAP SE): I second
[17:24] Ralf Handl (SAP SE): ODATA-1068 is RESOLVED as proposed
[17:24] Ralf Handl (SAP SE): ii.ODATA-1041 Broaden definitions of transformations topcount and bottomcount
[17:25] Gerald Krause (SAP): GET ~/Sales?$apply=topcount(2,Amount)
[17:27] Gerald Krause (SAP): $apply=groupby((Product),topcount(1,Date))
[17:31] Gerald Krause (SAP): The topcount transformation takes two parameters.
 
The first parameter specifies the number of instances to return in the transformed set. It MUST be an _expression_ that can be evaluated on the set level and MUST result in a positive integer.
 
The second parameter specifies the value by which the instances are compared for determining the result set. It MUST be an _expression_ that can be evaluated on instances of the input set and MUST result in a primitive numeric value.
 
The transformation retains the number of instances specified by the first parameter that have the highest values specified by the second _expression_.
 
In case the value of the second _expression_ is ambiguous, the service MUST impose a stable ordering before determining the returned instances.
[17:38] Gerald Krause (SAP): Proposal: Replace current definitions by "[...] and MUST result in values of a primitive type whose values are totally ordered.".
[17:41] Ralf Handl (SAP SE): ODATA-1041 is OPEN
[17:41] Gerald Krause (SAP): I move to resolve ODATA-1041 as proposed.
[17:41] Hubert Heijkers (IBM): I second
[17:42] Ralf Handl (SAP SE): ODATA-1041 is RESOLVED as proposed
[17:42] Ralf Handl (SAP SE): iii.ODATA-1040 Clarification of term "_expression_"
[17:43] Gerald Krause (SAP): The keyword with is used to apply an aggregation method to an aggregatable property or _expression_.
[17:44] Gerald Krause (SAP): Instead of applying a single aggregation method for calculating the aggregated value of an _expression_ across all properties no
[17:46] Gerald Krause (SAP): Proposal: At the beginning of section 3 for $apply, define that any reference to an _expression_, if not specified otherwise, refers to "those expressions that could also be used in a $filter system query option and result in a value of primitive type". With such a statement in the preamble, this phrase could then be deleted from some some sub-sections.
[17:50] Ralf Handl (SAP SE): http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggregation-ext-v4.0.html
[17:50] Ralf Handl (SAP SE): http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/cs02/odata-data-aggregation-ext-v4.0-cs02.html#_Toc435016563
[17:51] Ralf Handl (SAP SE): This specification defines the following terms:
 
- Aggregatable Property  a property for which the values can be aggregated using an aggregation method.
- Aggregation Method  a method that can be used to aggregate an aggregatable property or _expression_
- Standard Aggregation Method  one of the standard aggregation methods: sum, min, max, average, and countdistinct
- Custom Aggregation Method  a custom aggregation method that can be applied to expressions of a specified type
- Custom Aggregate  a dynamic property that can appear in an aggregate clause
- Groupable Property  a property whose values can be used to group entities or complex type instances for aggregation.
- Hierarchy  an arrangement of groupable properties whose values are represented as being above, below, or at the same level as one another.
[17:51] Ralf Handl (SAP SE): ODATA-1040 is OPEN
[17:52] Ralf Handl (SAP SE): Gerald: revise proposal to define "_expression_" in section 2.1
[17:52] Gerald Krause (SAP): New proposal: In section 2.1, add a definition of expressions: is a common _expression_ resulting in a value of primitive type
[17:54] Ralf Handl (SAP SE): George: if needed define "general _expression_" and "primitive _expression_" and use appropriately
[17:57] Gerald Krause (SAP): In section 2.1, add a definition of expressions: is a common _expression_; and of primitive _expression_ being an _expression_ resulting in a value of primitive type
 
Check all occurrencies in the text for occurrences of "_expression_" and update accordingly.
[18:03] Gerald Krause (SAP): In section 2.1, add a definition of expressions: is a common _expression_
add a definition of primitive _expression_ being an _expression_ resulting in a value of primitive type or a boolCommonExpression
 
Check all occurrencies in the text for occurrences of "_expression_" and update accordingly.
[18:07] Ralf Handl (SAP SE): Defered: Gerald and Ralf to come up with a concrete proposal
[18:08] Ralf Handl (SAP SE): iv.ODATA-1038 Clarify term "simple value"
[18:08] Ralf Handl (SAP SE): Guess: number, string, boolean
[18:09] Ralf Handl (SAP SE): Not: Geo, Stream
[18:11] Ralf Handl (SAP SE): Defered: Gerald and Ralf to come up with a concrete proposal
[18:11] Ralf Handl (SAP SE): ODATA-1038 is OPEN
[18:12] Ralf Handl (SAP SE): x.ODATA-947 Transformation for computing ratios with aggregated values
[18:12] Ralf Handl (SAP SE): Description
It is interesting to get the ratio between an individual and an aggregated value from the same input set. 
Examples:
1. Customer classification: Revenue per customer in relation to total revenue
2. Revenue trend: Revenue per year in relation to total revenue for any given customer
3. Order size: Order volume relative to average order volume
 
They cannot be expressed with combining groupby/aggregate, because the individual entity values are no longer available after these transformations have produced an aggregated value.
The ratio transformation takes a comma-separated list of one or more parameters describing a value, an aggregate _expression_, and an alias:
ratio(valueExpression to aggregateExpression as alias, )
 
A valueExpression may be an _expression_ valid in a $filter system query option on the input set that results in a simple value. The aggregateExpression is an aggregate _expression_ as defined for transformation aggregate (section 3.1). The alias introduces a dynamic property for the ratio values in the result set that are of type Edm.Decimal with unspecified precision and variable scale.
 
The transformation first determines the aggregated value for the input set by applying the aggregateExpression. Then, it calculates for every entity in the input set the ratio between the valueExpression and the aggregated value and adds the result as dynamic property to the entity that is put into the result set.
 
Applied to examples:
Re 1:
GET ~/Sales?$apply=
groupby((Customer),aggregate(Amount with sum as CustomerAmount)) 
/ratio(CustomerAmount to CustomerAmount with sum as RevenueContribution)
Re 2:
GET ~/Sales?$apply=
groupby((Customer,Year) aggregate(Amount with sum as CustomerYearAmount))
/groupby((Customer),ratio(CustomerYearAmount to CustomerYearAmount with sum as RevenueTrend)
Re 3:
GET ~/Sales?$apply=ratio(Amount to Amount with average as RelativeOrderSize)
 
In all these example, the value _expression_ is identical with the base in the aggregate _expression_, that is, they follow the pattern: ratio(X to X with M as A). If there were no other use cases, the syntax could be simplified to: ratio(X with M as A).
[18:16] Gerald Krause (SAP): GET ~/Sales?$apply=
groupby((Customer),aggregate(Amount with sum as CustomerAmount))
/ratio(CustomerAmount to CustomerAmount with sum as RevenueContribution)
[18:17] Gerald Krause (SAP): ratio(valueExpression to aggregateExpression as alias, )
[18:28] Gerald Krause (SAP): Order size: Order volume relative to average order volume
[18:28] Gerald Krause (SAP): GET ~/Sales?$apply=ratio(Amount to Amount with average as RelativeOrderSize)
[18:30] Ralf Handl (SAP SE): ODATA-947 is OPEN
[18:46] Ralf Handl (SAP SE): ratio combines aggregate and compute in a special way
[18:46] Ralf Handl (SAP SE): Maybe there's a more generic way to express that
[18:47] Ralf Handl (SAP SE): Hubert: think about similar use cases
[18:48] Ralf Handl (SAP SE): Hubert: ratio() is very useful
[18:48] Ralf Handl (SAP SE): Hubert: combine this with hierarchies
[18:50] Ralf Handl (SAP SE): Hubert: revenue contribution of offices to countries to continents
[18:51] Ralf Handl (SAP SE): Hubert: ability to refer to the input set
[18:54] Ralf Handl (SAP SE): Defer until we have more use cases and a clearer understanding
[18:55] Ralf Handl (SAP SE): xi.ODATA-946 Clarify scope for $apply
[18:57] Ralf Handl (SAP SE): https://issues.oasis-open.org/browse/ODATA-946
[18:57] Ralf Handl (SAP SE): expandOption =/ apply
[18:58] Ralf Handl (SAP SE): ODATA-946 is OPEN
[18:59] Ralf Handl (SAP SE): Adjust section 3, first sentence. Changes are enclosed with : *Aggregation behavior **on a collection of instances* is triggered
[19:00] Gerald Krause (SAP): I move to resolve ODATA-946 as proposed.
[19:00] Michael Pizzo: I second
[19:00] Hubert Heijkers (IBM): I second
[19:00] Ralf Handl (SAP SE): ODATA-946 is RESOLVED as proposed
[19:00] Ralf Handl (SAP SE): 6.Next meetings [9:50 am PT]
a.Thursday June 28, 2018 during 8-10 am PDT (17:00-19:00 CEST)
b.Thursday July 05, 2018 during 8-10 am PDT (17:00-19:00 CEST)
[19:01] Matt Borges (SAP): I will be away July 5th
[19:01] Ralf Handl (SAP SE): Hubert cannot attend July 05 and 12
[19:02] Ralf Handl (SAP SE): George expects to attend on July 05
[19:03] Ralf Handl (SAP SE): 7.AOB and wrap up [9:55 am PT]
[19:03] Ralf Handl (SAP SE): Meeting is adjourned

 

 

From: odata@lists.oasis-open.org [mailto:odata@lists.oasis-open.org] On Behalf Of Handl, Ralf
Sent: Donnerstag, 21. Juni 2018 10:42
To: odata@lists.oasis-open.org
Subject: [CAUTION] [odata] RE: Agenda for OData TC meeting on 2018-06-21

 

Now with meeting minutes in 3.a.

 

From: odata@lists.oasis-open.org [mailto:odata@lists.oasis-open.org] On Behalf Of Handl, Ralf
Sent: Mittwoch, 20. Juni 2018 11:23
To: odata@lists.oasis-open.org
Subject: [CAUTION] [odata] Agenda for OData TC meeting on 2018-06-21

 

Here [1] is a draft agenda for the OData TC (Technical Committee) meeting scheduled on Thursday June 21, 2018 during 8-10 am PDT (17:00-19:00 CEST). For additional information, such as dial-in details and chat room, refer to [2]. For TC timeline, see [3]. Feel free to suggest additions or modifications.

 

Thanks.

 

[1] Agenda

 

1.        Roll call [8:00 am PT]

    1. Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46261

 

2.        Approve agenda [8:05 am PT]

 

3.        Approve minutes from previous meeting(s) [8:10 am PT]

    1. https://www.oasis-open.org/committees/download.php/63287/odata-meeting-217_on-20180614-minutes.html

 

4.        Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT]

    1. Action items due

                                  i.    none

 

5.        Issues [8:20 am PT]

    1. Data Aggregation: NEW or OPEN

                                  i.    ODATA-1068 3.12 Transformation expand: require at least two parameters, with innermost expansion requiring a filter()

                                 ii.    ODATA-1041 Broaden definitions of transformations topcount and bottomcount

                                iii.    ODATA-1040 Clarification of term "_expression_"

                                iv.    ODATA-1038 Clarify term "simple value"

                                 v.    ODATA-977 Allow POST with $apply to invoke an action to an aggregated result

                                vi.    ODATA-972 Example 30: wrong result

                               vii.    ODATA-971 7.1: Add example for grouping by single-valued navigation property

                              viii.    ODATA-968 3.1.4: add example for from in aggregate() with multiple arguments

                                ix.    ODATA-967 Chapter 3: remove restriction for input type of bound functions

                                 x.    ODATA-947 Transformation for computing ratios with aggregated values

                                xi.    ODATA-946 Clarify scope for $apply

                               xii.    ODATA-945 Correct examples 53 and 54

                              xiii.    ODATA-944 Clarify scope of property paths in transformations

                              xiv.    ODATA-943 Correct broken link for Groupable Property

                               xv.    ODATA-909 ABNF for pathPrefix should also allow qualifiedComplexTypeName

                              xvi.    ODATA-905 Example 67: result row for USA, Sugar missing, Example 68: last total should be 7

                             xvii.    ODATA-904 Example 55: clarify groupby in combination with relationships of instance cardinality zero

                            xviii.    ODATA-839 A recursive hierarchy annotation may also contain a navigation property to the children nodes

 

    1. Vocabularies: NEW or OPEN with concrete proposal

                                  i.    ODATA-1194 Add term Core.Example to allow including annotation examples in term definitions

                                 ii.    ODATA-1192 Capabilities vocabulary: invalid DefaultValue for KeyAsSegmentSupported

                                iii.    ODATA-1176 Capabilities: add new term SelectRestrictions

                                iv.    ODATA-1167 Add way to specify which batch formats (if any) are supported by a service

                                 v.    ODATA-1064 Add ability to annotate collections to return only count and NextLink

 

    1. V4.01: NEW or OPEN

                                  i.    ODATA-1191 Make sure that all model elements are annotatable

                                 ii.    ODATA-1190 Add matchesPattern as a $filter function

                                iii.    ODATA-1189 Conformance: Nullable for collections

                                iv.    ODATA-1188 Allow using instance annotations in $select and $expand

                                 v.    ODATA-1187 No way to bind nav prop on recursively nested (contained or complex) type

                                vi.    ODATA-1183 Allow Singletons to be null

                               vii.    ODATA-1180 Cast between enumeration types and integer types

                              viii.    ODATA-1177 Core: add term SchemaLocation

                                ix.    ODATA-1171 Consider using matrix parameters for filter segments

                                 x.    ODATA-1168 Clarify the use of ETags for Avoiding Update Conflicts

                                xi.    ODATA-1165 Describe $expand and $select via prose text and examples, remove ABNF snippets

                               xii.    ODATA-1148 PATCH with nested nav props should not remove omitted resources

                              xiii.    ODATA-1143 Extend the Property metatype to allow a type that is an EntityType.

                              xiv.    ODATA-1141 Upsert: clarify upsert along nullable single-valued navigation path

                               xv.    ODATA-1135 Document use of JSON $schema

                              xvi.    ODATA-1088 Clarify effect of applying an Annotation to an element

 

    1. Vocabularies: NEW or OPEN that need more discussion

                                  i.    ODATA-1193 Automated vocabulary checks indicate some potential issues

                                 ii.    ODATA-1099 Add annotations to describe custom query options and custom headers

                                iii.    ODATA-1005 Make sure we have capabilities for all new 4.01 functionality

                                iv.    ODATA-884 Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)

 

6.        Next meetings [9:50 am PT]

    1. Thursday June 28, 2018 during 8-10 am PDT (17:00-19:00 CEST)
    2. Thursday July 05, 2018 during 8-10 am PDT (17:00-19:00 CEST)

 

7.        AOB and wrap up [9:55 am PT]

 

[2] References

 

[3] Timeline



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