Subject: [Jsonpath] Object member names in JSONPath queries ...

From: Daniel P <[email-masked]>
Date: Sun, 14 Nov 2021 15:44:42 -0500

> From: Daniel P <[email-masked]>

> > From: "Stefan Gössner" <[email-masked]>
>
> > Please can someone enlighten a dump mechanical engineer, what 'projection' means in this context.
> >
> Regarding the meaning of projection, consider a selector, e.g. '.*',
> that returns a list of N nodes, node1, ... nodeN. Any subsequent
> selector will be evaluated against each individual node in the list.
> So the evaluation of '.*child-selector' will be child-selector(node1),
> ... child-selector(nodeN). This is referred to as a projection, the
> selector child-selector is projected onto each node produced by '.*'.
>
Just a follow up, having read the recently distributed minutes on
datatracker, I gather this is the context:

"Darrel: JMESPath is focused on projections, and JSONPath should focus on
selection"

Projections in JMESPath are described here
https://jmespath.org/tutorial.html#projections and here
https://jmespath.org/specification.html#wildcard-expressions.

I think _all_ JSONPath selectors may be regarded as having projection
semantics in this sense. JMESPath, on the other hand, supports
expressions that do _not_ have projection semantics, such as the Pipe
Expression, described here,
https://jmespath.org/tutorial.html#pipe-expressions.

Daniel