[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (ODATA-933) Allow using instance annotations in $filter
[ https://issues.oasis-open.org/browse/ODATA-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=64479#comment-64479 ]
Michael Pizzo edited comment on ODATA-933 at 11/22/16 11:01 PM:
----------------------------------------------------------------
see applied notes
was (Author: mikep):
Note that the distinction between when an annotation is prefixed with a property-name versus nested within a structure is specific to the JSON format. I would not expect those (rather odd) semantics to be reflected in the (generic) URL stynax.
If we say that the annotation must always be prefixed, that would give us:
1) Annotation on a primitive property:
People?$filter=Age@numericValueException eq 'NaN
2) Annotation on a complex property:
People?$filter=Address@Model.AddressType eq 'Residential'
3) Annotation on the resource
[email protected] eq true
However, this brings up a bit of an ambiguity with parameter aliases in the last example assuming we omit the namespace prefix for default namespaces (which I think we'll be asked to do).
To address this, I added the following:
Services MAY additionally support the use of the unqualified term name by defining one or more default namespaces through the DefaultNamespace annotation term defined in [OData-VocCore] For more information on default namespaces, see Default Namespaces in [OData-Protocol]. If a query option is specified as a parameter alias whose name matches an unqualified term name, then the value of the parameter alias is used in any expression where the unqualified name is not prefixed with a path.
> Allow using instance annotations in $filter
> -------------------------------------------
>
> Key: ODATA-933
> URL: https://issues.oasis-open.org/browse/ODATA-933
> Project: OASIS Open Data Protocol (OData) TC
> Issue Type: Bug
> Components: OData URL Conventions
> Affects Versions: V4.0_ERRATA02
> Environment: New Query Capabilities
> Reporter: Ralf Handl
> Fix For: V4.01_WD01
>
>
> Instance annotations are rather similar to dynamic properties with a pre-known expressive name, i.e. the client can deduce from the name what type the dynamic property has.
> For example: People?$filter=Age@numericValueException eq 'NaN'
> would retrieve all people for which age is not a number.
> If ODATA-735 gets accepted, clients can know up-front which instance annotations to expect, and can use them in filter conditions.
> Open a separate issue (ODATA-97) to consider use in $select,/$expand.
--
This message was sent by Atlassian JIRA
(v6.2.2#6258)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]