►
From YouTube: IETF-JSONPATH-20220309-1000
Description
JSONPATH meeting session at IETF
2022/03/09 1000
https://datatracker.ietf.org/meeting//proceedings/
B
Okay,
so
so
stefan
sent
email
when.
B
I
sent
email
back
to
him.
Should
we
does
anybody,
have
his
number
to
text
him
or
anything
like
that
to
make
sure
he
got
it.
A
And
and
just
to
be
clear,
this
is
the
email
that
glenn
sent
yesterday
at
about
just
before
4
pm
glenn
time.
A
Okay,
yeah
I've
got
it.
I've
got
it
ready,
so
I
can
just
swap
out
and
share
it
whenever,
whenever
we're
ready
for
it,
do
we
want
to
give
it
another
minute
or
two
before
we
start.
C
D
D
A
Sounds
good
he
may
show
up
later.
E
I
was
planning
to,
but
then
austria
decided
to
liberate
all
the
the
there
is
restrictions
they
had
and
now
they
have
twice
the
the
incidence
of
germany
which
is
rising
right
now,
so
no
I'm
not
coming.
Okay,
I
need
to
to
take
out
my
registration.
You
actually
can
find
out
who
is
registered
online
and
and
yeah
who's
registered
remote.
E
So
I'm
sorry
about
that
and
and
by
the
way
austria
is
not
a
nato
country.
So
we
have
to
assume
that
russia
is
going
to
attack
it
anytime
soon.
So
maybe
we
should
not
be
traveling.
B
Yes,
I
I
I
turned
my
news
on,
you
know:
1
45
a.m
and
the
first
three
things
I
see
here,
new
variant.
Oh
so
I
turned
it
off
again.
A
Yep
one
second
and
I'll
I'll
start
driving,
I'm
gonna
I'll
do
the
the
boiler
plate
as
soon
as
I
can
operate,
my
computer
so
for
the
recording.
This
is
the
json
path
working
group
interim
meeting
for
march
2020,
no
well,
this
2022,
I
am
very
sorry
you
can
tell
I've
only
had
two
copies
this
morning.
A
It's
a
little
bit
jarring.
This
is
the
note.
Well,
I
think
we're
all
familiar
with
the
note.
Well,
I
have
to
tell
you
about
the
note.
Well,
please
note
well,
there's
only
a
handful
of
us,
so
I
think
we'll
be
okay
for
notes.
A
I
can
just
do
the
usual
of
looking
through
the
vod
later,
I'm
grabbing
what
notes
I
can
and
and
forwarding
those
to
the
list
we'll
keep
an
eye
out
on
chat
for
anybody
that
might
chime
in
blue
sheets
is
automatic
because
we're
using
meat
echo
and
then
I
don't
think
we
have
any
agenda
bashing
anything
that
you
all
want
to
bring
up.
F
A
Excellent,
so
I
guess
so
this
is
our
agenda
tim.
You
said
you
wanted
to
do
a
bit
of
a
brief
summary
of
the
current
draft
status.
B
So,
unlike
last
time,
I
did
not
go
through
the
whole
draft
and-
and
you
know,
have
opinions
about
which
parts
needed
work
and
which
parts
did
not,
but
I
have
been
tracking
it.
You
know
better
than
I
had
before,
and
you
know.
I
think
that
the
list
of
issues
we
have
before
us
probably
exceeds
I
mean
in
in
in
in
glen's,
email
and
and
so
on.
The
list
of
issues
before
us
probably
exceeds
what
we
really
need
to
do
to
to
finish
a
draft.
B
Really,
I
think
that
we
are
within,
I
would
say
one
ietf
at
you
know
really
of
of
having
a
draft
that
we
can
take
forward
and-
and
it's
not
even
that
big
a
stretch
so
with
some
work
today
and
maybe
one
more
interim
after
vienna,
I
think
we
should
really
assume
that
we
can
take
a
draft
forward
to
the
isg.
B
Right,
okay,
so
we've
got
things
labeled
tasks
which
are
actual.
It's
actually,
I
think,
very
important.
You
know
not
a
lot
of
disagreement
work
that
needs
to
be
done.
F
B
I
you
know
qualitatively,
I
I
I'll
defer
on
the
and
the
formalities,
but
we
simply
have
to
achieve
declare
consensus
that
there
is
a
draft
that
we
think
represents
the
consensus
of
the
working
group
and
we
think
there
are
no,
no,
you
know
vital
outstanding
issues.
Then
we
we
do
a
working
group
last
call.
Do
we
do
an
iatf
last
call.
F
Yep,
so
do
we
essentially
have
a
feature
freeze
before
this
submission.
A
Eventually,
what
we'll
do
is
we'll
get
to
the
point
where
we
run
out
of
things
to
include
into
the
document
we'll
go
we'll
we'll
ask.
The
chairs
will
ask
people
in
the
working
group.
If
there's
for
we'll
we'll
do
a
working
group
last
call
and
if
there's
no
objections
to
us
submitting
it,
it
will
go
through
the
rest
of
the
the
rfc
document
grinder
for
which
it'll
go
through
isg
and
several
other
reviews
where
people
will
from
various
parts.
A
It
is
kind
of
frozen,
but
there
may
be
feedback
given
by
the
various
reviewers
along
the
way.
They
may
review
the
document
and
say
this
is
ready,
but
I
need
you
to
there's
some
suggestions
on
what
to
change,
in
which
case
the
editors
will
make
those
changes
and
then
it
it'll
get
reviewed
again
and
they'll
go
okay,
yeah,
I'm
happy
with
it.
B
A
lot
of
reviews
that
happen
it
can
go
to
various
directorates.
You
know
I
see
francesca
joined
us
hi
francesca
and
when
you,
when
you
get
ready
to
do
this,
you
you
get
a
document
shepard,
which
would
normally
be
your
id,
and
then
they
decide
to
direct
need
to
review
this,
for
example,
security,
directorate
operations,
director
at
art,
heart
and
so
on.
At
some
point,
there's
an
ietf
last
call
too.
I
forget
the
exact
sequence
where
you
just
send
an
email
to
the.
E
Yes,
so
the
the
sequence
is
that
the
working
group
decides
that
the
draft
is
ready
and
submits
it
to
the
isg.
Now
the
working
group
usually
wants
to
have
consensus
on
the
document.
That's
criteria,
one,
but
the
criteria
two
is:
is
the
document
in
a
shape
where
it
will
just
die
in
in
the
review
processes
that
follow
it.
E
So
we
also
have
to
make
sure
that
that
it's
simply
good
enough
to
survive
the
next
steps,
and
the
next
step
is
an
av
review
where
the
the
responsible
area
director
looks
at
the
document
and
sends
us
some
comments,
so
we
get
to
fix
those.
Then
we
have
an
ietf
last
call
where
people
come
in
with
comments.
E
Discussions
are
things
we
we
need
to
fix
and
comments
are
things
we
are
so
we
are
suggested
to
fix
and
that
usually
takes
one
or
two
iterations
and
at
some
point
we
have
fulfilled
the
discussions
and
we
we
have
addressed
the
comments,
so
the
the
area
director
again
is
the
last
person
on
on
the
list
who,
who
ascertains
all
these
things
and
finally
presses
the
approved.
F
E
Well,
actually,
the
isg
will
will
probably
ask
us
to
make
sure
that
is
the
case.
Formally
speaking,
we
might
go
through
the
whole
thing
and
then
the
since
this
will
be
a
normative
reference.
E
The
document
will
will,
at
the
end,
get
stuck
in
the
rfc
editor
queue
because
it
cannot
be
published
without
normative
references
having
been
published.
So
that's
the
formal
thing,
but
in
in
practice
the
isg
is
not
going
to
be
happy
to
review
a
document
with
an
open,
normative
reference,
so
it
should
be
at
the
same
stage.
The
two
documents
should
be
at
the
same
state.
B
Yeah,
you
really
have
to
go
forward
together
and
I
you
know
I
certainly
would
not
be
happy
with
submitting
either
without
the
other
yeah.
Thank
you.
Actually,
that's
not
true.
I'd
be
okay
with
submitting
iregas,
but
that's
what
I
just
wanted
to
say.
Yes,
but
it
seems
unlikely
I
think,
we'll
probably
end
up
doing
both
at
the
same
time.
E
I
G
B
B
B
Okay,
so
let's
let's
dive
in
on
this
yep,
so
in
these
tasks
that
need
to
be
done.
B
B
One
is
draft
itf
jsonpath
base
and
unless
you've
been
watching
closely
you're,
probably
not
fully
up
on
this,
the
question
was:
should
we
include
regex
functionalities
in
jsonpath,
filter
expressions,
and
the
answer
was
that
no,
we
shouldn't
do
that
unless
we
define
what
we
mean
by
by
regex,
and
so
we
have
another
draft
running
in
parallel
draft
iregx.
B
I
think
it's
still
a
borman
draft
at
this
point
that
that
provides
a
small
subset
of
regexp
that
we
believe
should
be
portable
across
the
vast
majority
of
popular
implementations,
and
then
we
would
refer
to
that
normatively
from
the
jsonpath
based
draft.
So
so
so
we
expect
to
bring
forward
two
drafts
they're,
both
pretty
short.
G
B
It
okay
kirsten
there's
a
list
of
things
that
are
tasks
you're
closest
to
the
document
I
think
or
glenn,
which
ones
are
our
big
things
that
we
should
worry
about.
F
I've
put
a
link
to
the
mailing
list
archive
for
this
email
in
the
chat.
If
you
want
actual
links,
because
you
don't
think
the
screen
is
clickable.
E
E
Yeah
examples
again
examples
appendix
that's
another
thing
and
we
haven't
finished
the
security
consideration,
so
we
I
think
we
need
to
have
a
good
look
at
that,
but
I
think
that's
another
half
day
or
so.
F
Okay,
okay,
yeah,
I
mean
I'll,
be
happy
to
look
at
the
examples.
If,
if
the
suggested
approach,
the
examples
would
be
to
do
in-line
examples
in
chunks
and
then
roll
them
all
up
into
an
appendix.
If
anybody
would
like
something
greater
than
that,
then
we
might
need
more
work.
E
E
F
Yeah
and
just
to
calibrate
my
expectation,
my
mind
tends
to
gravitate
towards
towards
strange
edge
cases
because
those
are
the
most
confusing.
But,
looking
here
or
straightforward
examples
that
just
you
know,
elucidate
the
text.
E
Well,
we
had
that
discussion
in
a
different
draft.
I
forget
which
one
the
href
draft
and
we
decided
that
we
wanted
to
keep
the
main
document
clear
of
weird
edge
cases
I
mean
unless
they
they
really
are
illustrating
the
the
the
works.
Then,
of
course
you
can
put
there.
So
if,
if
you
are
describing
something
and
are
not
not
saying
what
what
an
empty
string
is
causing,
that
of
course
has
to
be
in
the
main
document.
A
E
F
B
I
tend
to
be
in
favor
of
more
examples
rather
than
less
because
in
practice,
people
will
cut
copy
and
paste
them
into
their
code,
and
if
we
provide
good
ones,
then
that
would
just
be
better
for
everybody's
life.
Yeah.
F
Okay,
I'll
got
an
example.
Then
if
you
sign
those
two
to
me.
E
B
And
so
we
do
need
a
a
security
considerations
section.
Maybe
we
could
invest
like
just
a
couple
of
minutes
here
in
discussing
what
should
go
in
there
now.
Clearly,
you
know
for
the
iregx.
B
You
know.
The
big
thing
you
have
to
worry
about
is
denial
of
service
attacks.
So
that's
something
should
be
mentioned,
I'm
having
a
little
I'm.
You
know
I've
written
a
lot
of
security,
consideration,
sections
and
I'm
sort
of
scratching
the
bottom
of
the
barrel
here
trying
to
think
of
what
should
go
in
ours.
E
Well,
basically,
there
are
the
security
considerations
of
jsonpathx
itself,
which
is
things
like
like
parser
issues,
dos
possibilities
and
so
on,
and
there
are
security
considerations
with
people
using
jsonpath
in
a
security,
relevant
context
and
creating
security
problems
by
by
having
the
wrong
expectations
about
what
jsonpath
actually
can
do
for
them,
and
the
second
part,
of
course,
is
much
harder
to
describe,
because
we
don't
know
all
the
applications
jsonpath
will
will
be
put
to.
E
So
we
can
only
give
give
a
very
rough
indication
of
what
the
security
considerations
there
might
be.
For
the
first
part,
the
security
considerations
of
jsonpath
itself.
I
think
we
should
try
to
make
sure
we
we
capture
all
of
them
and,
of
course
we
can
point
to
to
the
ira
gaps
document
for
the
regex
security
considerations.
I.
B
So
in
terms
of
information
security,
you
could
claim
that
jsonpath
does
not
introduce
any
new
vulnerabilities
and
I
think
that's
correct.
E
E
Then
you
have
a
problem,
because
there
may
be
ways
of
of
designing
your
json
to
pass
this
to
to
pass
this
negative
list
just
because
it's
it's
not
designed
as
we
catch
everything
kind
of
approach.
So
that's,
I
think
what
we
need
to
write
up
and
and
that's
pretty
much
it
and.
A
I
think
I
think,
there's
also
some
value
in
covering
information
exposure
as
a
sort
of
hand,
wavy
concept-
and
what
I
mean
by
that
is-
is
that
if
you
allow
users
to
allow
for
human
input
external
input
of
a
json
path,
an
attacker
could
craft
a
query
that
would
expose
more
data
than
what
the
implementation
had
inferred
and
by
implementation.
It
could
be
a
deployment
or
it
could
be
a
json
path,
implementation
itself,
acting
with
under
a
bug
or
something
I'm
being.
A
C
Okay,
there
there
was
a
request
to
reference
other
json
documents.
Somehow
we
didn't
discuss
that
very
deeply,
but
if
we
consider
this,
maybe
there
are
some
security
considerations
with
exactly
that
mechanism.
B
B
D
H
E
F
I'm
mute,
let
me
just
add
something
I
guess
for
any
implementation
language.
You
wouldn't
want
the
implementer
to
naively
delegate
to
the
underlying
libraries
on
the
assumption
that
the
edge
cases
are
all
covered.
You
know
they
have.
They
have
to
conform
to
the
spec.
E
B
B
F
This
is
looking
back
at
that
list.
That
was
security
items.
I
think
we've
covered
that
okay,
69
and
136.
I
was
just
warning
that
you
know
what
whoever
takes
it
on.
It's
gonna
be
a
bit
of
a
memory
test
getting
the
appropriate
level,
so
it
might
need
a
bit
of
iteration
in
the
pr
and
that's
in
the
pr.
So
that's
fine,
sorry
for
what
are
69.
F
F
Okay,
so
can
we
just
assign
these
to
various
peoples,
so
I'm
happy
to
take
136
and
69.
A
I've
already
assigned
these
to
you
glenn
I've
been
doing
that
in
the
background.
B
F
F
B
Okay,
let's
move
into
some
real
issues
here:
normalized
and
singular
paths
number
one:
five:
five.
F
Sorry
for
the
layout,
but
the
previous
one,
the
first
one
is
150,
should
list
selectors
allow
filter,
selectors
and
we've
already
covered
that
just
to
be
clear
for
anybody
that
hasn't
been
following
pr
was
merged.
Yesterday,
pl
165
was
merged.
E
C
C
C
E
F
Boolean
expression,
okay,
yeah,
okay.
I
wanted
to
do
that
once
165
had
landed
or
been
closed.
Sorry,
not
165,
164,
okay,.
E
Because
of
the
conflicts
yeah,
so
maybe
just
make
a
separate
issue
that
says:
rearrange
sections
in
3.5
and
also
I
would
I
would
love
to
have
the
the
actual
abn
f
that
says:
question
mark
as
boolean
expression
be
defined
by
by
filter
selector.
So
you
can
just
say
we
we
have
the
for
each
selector.
We
have
av
f
rule
for
the
innards
of
that
selector
and
we
have
an
abn
rule
that
adds
the
brackets
and
the
spaces
around
that.
So
we
have
list
selector
and
and
list.
E
So
what
do
you
want
to
change
kirsten,
just
factor
the
abn
f?
If
you
look
at
the
abn
f1
from
358
and
from
359
both
have
this
question
mark
as
boolean
expert,
and
I
would
just
like
to
give
that
thing
a
name
and
I
right
now
I
don't
have
an.
I
have
a
name
for
the
whole
selector,
but
I
don't
have
a
name
for
for
the
innards
of
that
selector.
We
probably
have
to
invent
a
name
for
that,
so
the
airbnf
becomes
consistent.
B
B
Capturing
notes
here:
okay,
I
believe
that
leads
to
normalization
and
normalized
paths.
Oh,
let
me
just
look
at
that
latest
draft.
H
F
E
E
E
So
we
we
can
now
look
at
jsonpath
and
see
what
is
the
set
of
adjacent
path,
queries
that
have
that
property
and
we
will
come
up
with
something
that
looks
a
lot
like
normalized
path
plus
a
few
other
cases,
but
I'm
not
sure
that
that
this
is
that
we
need
to
to
do
this
exercise.
But
maybe
we
do
to
make
sure
that
that,
in
a.
E
Expression,
you
actually
only
have
one
node
to
look
at.
B
E
Expression
where
you
have
a
relative
path
at
the
moment,
you
cannot
use
every
relative
path,
because
relative
paths
might
return
more
than
one
node
so
right
now,
relative
path
is
defined,
very
restrictive,
very
restrictively,
and
essentially
what
we
are
trying
to
to
capture
here
is
the
concept
of
the
the
the
envelope
in
which
a
relative
path
needs
to
be
to
be
useful
for
a
comparison,
and
we
call
that
singular
path.
E
Okay,
so
in
in
the
end,
we
may
not
even
have
to
add
that
concept
to
the
document,
but
I
would
be
in
favor
favor
of
adding
that
to
the
document.
So
so
people
understand
better
what
we
are
trying
to
do
here.
E
Right
now,
red
path
is,
is
the
closest
we
have
for
that.
I
forget
what
rail
path
actually
is.
F
So
my
intention,
my
approach
in
that
pr
was
to
take
the
current
relative
path.
Sorry,
the
I've
got
the
wrong
draft
now,
but
just
was
yeah
okay,
so
it
was
to
take
the
is
it
gone
yeah,
so
we've
got
path,
equals
relative
path
or
json
path,
and
relative
path
has
the
constraint
that
we've
been
talking
about.
So
it's
singular,
but
json
path
is
wide
open
and
can
be
more
plural
if
you
like.
So
I
was
trying
to
restrict
the
abn
s
so
that
only
singular
json
paths
were
allowed.
C
C
F
Yeah
yeah,
I
think
this
is
this-
is
demonstrated
in
the
discussion
in
pr
164,
which
happened
in
the
last
few
hours.
F
Someone
suggested
broadening
it
and
allowing
plural
paths
and
some
of
the
ramifications
of
that
start
to
come
out.
I
think
it's
pretty
unpleasant,
but
I
detected
the
consensus,
at
least
amongst
the
editors
that
would
go
for
singular
pass.
I
think
correct
me
if
I'm
wrong.
E
Yeah,
I
agree
with
that,
but
we
have
to
be
careful
where
we
actually
need
that
property.
So,
for
instance,
an
exist
expression
does
not
need
a
singular
path,
and
I
would
actually
even
argue
that
the
regex
expression
doesn't
need
a
singular
path.
Of
course
we
have
to
define
what
it
means
to
to
match
a
plural
path
to
a
regular
expression,
but
I
think
that
that's
pretty
obviously
a
one-off
thing,
but
yeah
we
need
to
discuss
this.
F
Okay,
that's
that's
good,
that's
progress.
How
shall
we
discuss
those?
Do
you
want
to
do
it
here
and
now
or
separately.
B
C
E
Exists
all
on
that,
so
we
are
either
looking
for
at
least
one
dot
x
that
that
is
equal
to
seven
or
we
are
saying
we
want
all
dot
x
is
equal
to
perception
and
that
becomes
pretty
hairy
in
a
comparison
expression.
F
Yeah,
I
think
I
think
the
exist
cases
is
clearer,
because
the
the
existence
test
is
against
a
set
of
nodes
or
values
which
have
been
computed
and
therefore
exist.
Whereas
the
regex
is
a
bit
more
tricky.
I
think
no,
the
same
is
true
there,
but
for
me
the
the
regex
is
a
difficult
one,
because
I
don't
know
whether
to
end
the
requirement
or
so
we've
got
two.
F
C
C
K
C
Descendant
select,
I
I
think
it's
called.
I
will
check.
E
Selector
tool:
yeah,
okay,
okay,
that's
something
you
could
do
yes,
potentially.
Looking
at
your
third
step.
E
F
C
E
C
E
B
C
C
E
F
I
would
apply
the
the
memory
test
again,
what
the
what
the
user
is
going
to
be
able
to
remember
here-
and
I
would
have
thought-
was
using
the
same
rule
for
existence.
Expressions
as
for
regex's,
as
for
comparisons,
will
be
the
easiest
rule
to
remember,
rather
than
special
casing
existence,
unless
it
gives
some
major
use
case
advantage,
which
I
don't
think
it
does.
B
And
once
again,
if
it's
part
of
the
existing
idioms
or
not
yeah,
which
I'm
pretty
sure
it's
not
actually
so
well,
I
would.
E
B
E
Yeah
so
the
the
I
think
we
we
can
phrase
the
the
issue.
As
do
we
want
to
be
able
to
freely
combine
things
here,
so
we
have
to
define
the
the
semantics
for
every
combination.
E
Do
we
find
a
way
to
restrict
things,
so
the
semantics
always
stay
simple
and
singular
paths
seem
to
be
a
way
of
doing
that
restriction.
So
we
can
get
simple
semantics
for
comparison,
but
then
we
have
to
look
at
other
things
like
like
nested
filters,
which
are
not
scaring
me
at
all,
but
which
of
course
require
implementing
something
that
you
wouldn't
be
implementing.
Otherwise,.
F
Can
I
can
I
suggest
that
carsten,
you
have
a
look
at
producing
those
examples
in
pl
164
as
a
counter
example
164
and
we'll
argue
out
there
and
get
to
a
point
where
you
approve
164
pr
164
as
a
way
of
progressing
this.
C
C
E
B
Yeah,
I
don't
have
an
opinion,
is
the
one
thing
I
would
really
you
know
ask
to
to
keep
in
mind.
Is
let's
not
extend
jsonpath?
Okay,
you
know,
let's,
let's,
let's,
let's.
B
Right,
let's
try
and
do
what
our
charter
says,
which
is
to
find
the
interoperable
subset
of
you
know
what
the
state
of
the
art
is
considered
to
be
now.
You
know
I'm
happy
to
have
the
the
the
normalized
path
that
actually
met
an
application
need
I
had
in
the
previous
life,
so
I
know
that
actually
has
a
use.
I
am
puzzled
to
be
honest
about
singular
so.
E
C
F
B
E
So
I
think
I
took
the
action
to
look
at
examples
where
nested
filters
would
be
useful,
and
I
think
that
that's
the
first
step-
and
maybe
I
can
also
find
out
whether
christian
bergman
has
done
a
test
for
those
and
from
that
we
can
decide
whether
we
need
to
to
open
up
relative
path
or
whether
we
can
survive
with
a
single,
singular
path.
Production,
okay,.
B
E
I
just
see
one
one
danger:
when
we
start
adding
attributes
like
like
singular
to
the
productions
in
our
grammar,
then
we
can
have
an
explosion
of
of
a
combinatorial
explosion
of
of
rules,
or
we
can
do
something
like
like
what
ecmascript
does,
where
they
essentially
have
hidden
a
little
bit
of
an
attribute
grammar
or
two-level
grammar
in
their
grammar
notation.
But
I
think
I
would
like
to
avoid
that
and
stick
with
abn
f,
if
possible.
C
Length
function,
we
want
to
calculate
length,
minus
two
plus
five
right,
arithmetic
and-
and
I
I
can't
see
the
demand
for
for
arithmetic
operators
in
jsonpath,
so.
C
Putting
the
index
directly
to
the
at
sign
is
very
useful,
I
think,
but
general
general
functions
so
here
comes
in
to
my
mind
extension
points,
and
I
must
confess
I
I
it's
not
clear
for
me
what
what
exactly
are
extension
points
and
how
we
can
use
them
within
the
json.
E
Path,
I
think
that
that's
a
very
important
point,
so
we
have
talked
about
ad
index,
which
is
is
a
weird
thing,
because
it
violates
our
processing
model
that
that
we
have
a
particular
node
we
are
looking
at
and
now
we
are
looking
at
the
parent
relationship
of
that
node
or
if
we
are
talking
talking
about
member
value,
we
are
talking
about
looking
at
the
member
name.
So
that's
one
issue.
E
We
can
discuss
this,
but
I
don't
want
to
discuss
this
now,
but
it's
another
example
besides
length
where
it
would
be
nice
to
have
a
way
to
put
names
into
the
jspath
query.
So
we
have
that
name
as
the
place
where
we
can
put
in
additional
operations
without
having
to
to
change
the
grammar
each
time
we
do
that.
E
So,
if
you
ask
me,
I
would
do
regular
expressions
by
using
something
that's
called
matches
and
not
by
equals
student,
but
that's
not
existing
practice.
So
so,
let's,
let's
ignore
that,
but
I
think
that
that's
just
another
example
of
how
we
could
be
using
a
name
as
as
an
extension
point
in
in
the
grammar.
B
I,
if
I
can
summarize
I
I
think
what
I'm
hearing
is
that,
whereas
nobody
has
a
burning
example
of
a
function
that
they
want
to
put
in
right
now
that
it's
a
very,
very
natural
and
idiomatic
extension
mechanism
for
things
that
might
be
put
in
later.
So
there
might
be
a
benefit
to
putting
it
into
the
grammar
now,
which
you
know,
give
implementers
and
people
with
bright
ideas.
H
A
signal
you
know
there's
probably,
but
you
also
need
to.
E
So
length
is
the
one
example
where
I
think
it's
pretty
obvious
that
that
we
could
do
that.
So
something
like
like
at
length.
E
I
I
agree
with
the
stefan's
assertion
that
it's
not
that
useful
without
arithmetic,
but
I
think
being
able
to
say
I
I
want
to
have
entries
that
have
at
least
two
elements.
I
think
that
that's
a
pretty
normal
thing.
A
E
To
do
in
a
query,
so
I
I
certainly
can
come
up
with
an
example
of
length
that
doesn't
need
arithmetic.
B
I
just
don't
think
that's,
there's
a
famous
essay
but
you're
not
going
to
need
it
yagni,
which
which
talk
talks
about
this
at
great
lengths,
but
that.
H
E
E
So
you
you
don't
put
something
in,
but
you
put
in
a
way
that
the
unplanned
can
actually
attach
to
your
protocol
and
the
protocol
can
grow
because
otherwise
people
will
do
weird
things
I
mean
jason
doesn't
have
comments,
so
people
are
adding
members
that
are
essentially
comments
and
which
maybe
is
a
feature
not
a
bug.
E
We
can
discuss
that,
but
I
think
we
we
know
that
there
will
be
a
need
for
extension,
points
that
that's
absolutely
obvious,
and
the
question
is:
can
we
put
something
in
and
maybe
even
solve
this
this
pesky
length
thing
while
we're
at
it
and
also
follow
the
the
user.lucid
guideline.
C
There
are
some
a
few,
a
few
implementations
that
allow
functions
at
the
end
of
a
query,
but
this,
from
my
point
of
view,
is
just
some
kind
of
post
processing
with
with
the
results.
This
is
not
a
json
path
thing,
that's
any
other
application
that
will
get
a
list
of
normalized
path
can
do
that
separately,
but.
C
I
would
like
to
do
a
regular
expression
analysis
with
names
of
with
with
indexes,
so
there
is
no
way
in
chasing
paths
to
query
the
name
of
a
member
or
the
index
of
an
array
element.
C
Index
of
the
current
element,
I
think
it's
a
demand
that
is
rising
arising
very
often,
I
think
so
it's
it
does
not
qualify
for
a
function.
Why?
Not?
Because
with
each
func
function,
you
need
to
specify
what
kind
of
parameters
does
this
function
accept,
so
index
function
of
the
current
element?
But
if
we
allow
this,
we
we
can
also.
E
So
you
would
apply
the
the
index
operator
when
you
are
on
on
a
particular
node,
and
the
index
operator
looks
into
the
vicinity
of
that
node
to
find
out
what
what
the
index
of
of
that
node
was
so
you're
kind
of
ascending
through
the
tree
again,
of
course,
another
way
of
modeling.
This
would
be
that
whenever
you
have
a
node,
you
keep
some
some
context
for
that
node
as
an
attribute
of
that
node.
So
you
know
what
the
index
was.
You
use
to
get
there.
E
E
But
I
was
not
trying
not
to
do
the
the
index
thing
at
the
moment,
but
stick
with
length
as
an
example
for
something
where
we
could
use
this
extension
point.
Obviously
I
have
a
I'm
having
a
hard
time
to
write
an
example,
because
we
don't
have
a
syntax
for
that
so
percent
hash.
Mark
ampersand
is
my
proposed
syntax.
For
the
moment.
I
know
we
will
change
that,
and
so
this
is
an
example
where
we
are
looking
for
all
perpetrators.
E
That
already
have
more
than
two
convictions,
and
I
think
that
that's
a
pretty
normal
query
you
would
put
in
somewhere
and
yeah
from
you.
You
you
have
this
path.
Add
that
conviction
and
this
path
is
not
singular,
so
you
would
look
at
the
the
size
of
that
node
set
and
if
that
size
is,
is
greater
than
2,
then
this
comparison
would
return.
True.
F
F
B
About
that
I
mean
you
wouldn't
rule
out
the
former,
but
I
would
think
that
what
would
happen
is
that
somebody
who
wanted
to
bring
in
you
know
predicates
based
on
ml
models
and
stuff,
like
that,
you
know,
that's
where
you
would
put
it.
It
provides.
F
Yeah
but
one
point
making
is:
how
strict
are
we
in
the
syntax
checking
essentially.
E
It
should
be
clear
that
there
is
an
extension
point
in
use
and
which
extension
point
is
in
use,
but
your
question
actually
immediately
makes
me
point
to
rfc
6648.
E
I
think
everybody
must
have
read
that
document,
because
it
summarizes
20
years
of
experience
with
a
particular
way
of
using
extension
points
that
didn't
work
out
very
well
at
all.
So
we
have
to
be
careful
about
that
namespace,
but
yeah.
Stefan,
that's
just
one
one
character
we
could
use
for
for
the
extension
point.
C
So
this
is
also
we
can
choose
one
of
those
characters
you
probably
are
proposing,
and
this
would
characterizing
then
an
extent
extension
point
which
not
necessarily
would
be
a
function,
but
maybe
it's
one.
E
C
E
G
C
E
The
the
fact
that
the
extension
is
being
used
is
rather
obvious
from
a
simple
part
of
the
query,
so
you
can
look
at
a
query
and
extract
the
set
of
extension
names
that
have
been
used
in
the
query.
I
think
that's
one
important
property,
because
many
extension
points
don't
have
that
property
and
that
that
that
means
you.
E
You
have
to
have
metadata
about
the
thing
to
know
what
extensions
are
being
used
and-
and
here
we
have
a
very
clear
path
from
the
query,
to
the
setup-
extensions
that
are
being
used
so
that
that's
a
good
thing.
The
the
next
question
is
yeah.
How
interesting.
F
Go
ahead,
but
what,
if
two
implementations
clash
on
an
extension
point,
so
they
both
choose
the
same
function.
Name
different
semantics!
Don't
do
that.
E
So
that's
a
problem
for
which
I'm
not
aware
of
any
easy
answers.
So
I
think
we
we
have
to
choose
the
the
thing
that
has
the
least
pain
here,
but
any
kind
of
extension
mechanism
is
going
to
have
that
problem.
B
B
Yeah,
I
you
know
just
listening
to
this
discussion
is
not
making
me
happy
about
this
idea.
You
know
I
I
you
know.
I
like
the
idea
of
having
length,
I
like
the
idea
of
having
index
because
that's
sort
of
a
big
hole
in
json
path
at
the
moment,
but
inventing
a
general
purpose
function,
notation
with
a
new
syntax
character
and
so
on.
B
And
jason
path
is
pretty
popular.
You
know
without
that
right,
so
I'm
not
gonna
lie
down
on
the
road.
If
you
guys,
you
know
I'll
get
excited
about
this.
E
B
F
E
E
So
if
we
agree
on
the
hashmark
syntax,
then
we
can
just
look
for
the
hashmarks
and
then
we
have
a
list
of
the
extensions
that
need
to
be
supported
to
to
run
this
query.
We
then
also
have
to
to
curate
that
namespace.
So
that's
the
hard
part
of
the
problem,
but
the
easy
part
is
things
become
easy
if
you
at
least
have
a
common
syntax
and
not
everybody
who
wants
to
extend
things
invents
their
own
syntax.
For
that.
F
B
Yeah
the
reason
I'm
I'm
having
trouble
warming
up
to
this
is,
you
know.
Json
path
is
out
there.
Lots
of
people
use
it,
it
works,
but
the
reason
this
rfc
exists
is
to
define
the
interoperable
subset
so
that
you
know,
if
you
use
this,
then
if
somebody
breaks
on
it,
it's
their
problem,
not
yours,
you
know
to
oversimplify
and
that's
what's
motivating,
at
least
in
my
mind
this
work.
A
I
I
see
it
from
the
alternative
approach,
whereas
if
we
provide
a
commonality
for
extensions,
it
means
that
future
implementations
can
ignore
extensions
in
a
consistent
way
and
and
implementers
can
decide
we're
not
implementing
these.
These
various
extensions
before
for
our
particular
deep,
whatever,
and
so,
where
there's
a
high
degree
of
future
proofiness
against
that.
B
E
B
You
end
up
with
something
that
is
entirely
non-interoperable.
I
hear
what
you're
saying
I'm
going
to
shut
up
now.
Yeah.
A
This
doesn't
eliminate
the
problem,
the
the
the
kind
of
problem
that
you're
describing
with
sql,
but
it
at
least
provides
a
sinkhole
for
people
willing
to
extend
it
and
for
implementations
willing
to
implement
those
extensions.
Sql,
never
provided
that
in
expect
it
was
a
bit
too
rigid
and
then
people
went
off
piste.
B
E
Yes,
it's
not
in
there
right
now,
so
we
we
have
to
write
the
syntax.
We
have
to
come
up
with
our
policy
for
curating
that
namespace
and
I'm
arguing
that
we
need
to
put
in
at
least
one
or
two
mechanisms
that
actually
use
the
extension
point.
So
people
are
motivated
to
implement
it.
A
There
will
also
be
a
bit
of
work
around
ayana
considerations
for
a
new
registry
right,
carsten
yeah.
That's
the
policy
part.
B
C
I
think
if
we
discuss
about
functions
and
and
and
index
or
name
key
access
by
several
approaches,
I
think
a
general
approach.
E
B
K
E
C
A
A
There's
definitely
some
language
you'll
have
to
clear
up
around
ensuring
that
it
returns,
something
that
is
valid
for
where
its
position
is.
B
Object
and
array
indices
finding
this
should
come
up.
So
I
guess
the
fair
summary
of
the
question
is
that
it's
a
it's
a
thing
that
you
can't
do
now
and
people
get
are
surprised
when
they
discover
they
can't
do
it.
On
the
other
hand,
you
know
okay,
people
we've
survived
so
far
without
it.
D
B
E
E
B
B
A
E
To
me:
well,
someone
is
pointing
to
another
document
and
says
we
should
relate
ourselves
to
that
and
my
my
take
on
this
would
be
if
it
is
likely
that
somebody
will
come
to
this
document
with
the
other
document
in
their
mind
and
try
to
find
out
how
this
is
the
same
or
different
from
that
document.
E
Then
this
is
useful.
It
is
useful
to
have
text
during
the
relationship
like
we
have
our
appendix
a
for
xboth,
assuming
that
people
who
are
still
in
the
xml
to
json
migration,
we'll
know
experts
and
we'll
try
to
find
out
what's
going
on
with
jason
pass,
that's
useful
so
that
that's,
I
think,
the
the
position
on
this.
I
wasn't
even
aware
about
this
jason
path,
expression,
but
I'm
sure
that
there
is
a
community
out
there.
E
E
E
B
E
E
This
payroll
are
argument,
but
I
think
it's
not
a
strong
argument
anyway,
because
the
whole
thing
is
about
writing
a
paragraph
making
it
simpler
for
people
already
coming
there
to
to
understand
what
jsonpath
is
about,
and
so
the
really
question
is:
can
isg
vet
that
paragraph
and
who's
going
to
write?
The
paragraph
I
mean
I,
I
don't
really
yeah
somebody
who
knows
your
json
path.
So,
let's
find
that
person.
Okay,.
B
A
F
As
it
goes
through
its
finalization,
because
they'd
also
have
to
check
that
the
statements
made
even
if
they're
non-normative
are
true.
A
No
usually
glenn
for
restricted
documents,
one's
either
behind
paywalls,
or
I
know
that
there's
another
there's
a
specification
in
another
part
of
the
ietf,
where
it's
classified
or
top
secret
or
something
one
of
the
ref
normative
references.
Is
that
there's
usually
an
arrangement
made
with
a
small
subset
of
the
iesg
or
co
of
people
qualified
or
they
or
in
the
case
of
iso.
They
usually
provide
a
draft
version
to
a
handful
of
people
at
an
ad
hoc
basis.
C
I
think
we
we
should
not
reference
the
implementations
of
json
paths,
despite
the
fact
that
they
call
themselves
de
facto
standard
or
something
like
that,
so
we
can
discuss
other
related
standards,
but
but
not
implementations.
I
think.
E
Syntax,
it's
it's
not
the
formal
standard,
but
it's
worth
pointing
to
that.
So
we
have
a
reference
to
that,
but
otherwise
yeah
I
agree.
Implementations
are
not
that
interesting.
C
As
long
as
the
standard
is
based
on
an
existing
implementation,
this
is
okay,
but
jsonpath
is
not
built
on
any
implementation.
I'm
aware
of.
B
Okay,
okay,
I
think
I
think
we
know
we're
doing
here.
Let's
move
along
output
of
normalized
paths.
What
is
that?
I
don't
even
know
what
that
means.
F
This
means
that
an
implementation,
currently
an
implementation,
is
allowed
to
return
a
node
set
or
a
collection
of
paths,
normalized
paths
to
those
nodes
or
both,
but
it's
entirely
optional.
I
think
the
request
here
is
to
make
the
output
of
normalized
paths
mandatory
for
every
every
implementation.
C
Where
the
output
as
from
queries
as
normalized
path,
is
also
the
input
for
new
queries,
so
it
in
this
context,
the.
C
There
was
a
demand
to
put
the
abnf
of
these
normalized
paths
to
the
other
selectors,
but
I
agree:
that's
not
necessary
it.
We
we
can
leave
it
where
it
is.
As.
E
D
B
C
B
Okay
equality,
comparisons
of
structured
values:
where
did
we
get
to
on
that.
A
A
C
C
E
A
Just
I
was
just
more
making
a
point
of
commenting
on
that
pull
request,
elaborating
why
that's
all.
C
E
B
And
is
that
still
issue?
Well,
let
me
make
sure
I
get
this
one
on
my
screen.
Is
there
the
link
there
one
four
five?
That's
the
pull
request.
F
Yep
yeah,
okay
I'll
leave
it
open
in
the
tab.
We
just
probably
closed
this
one
off
so
we're
if
we
have
an
expression
like.
Let
me
put
this
in
the
chat
question
mark
at
dot:
foo
equals
equals
dollar
bar
and
those
select
structured
types
then
we're
just
going
to
say
false,
even
if
they
happen
to
be
from
a
human
point
of
view,
equal.
K
E
Today,
yeah,
what
makes
me
uncomfortable
of
course,
is
that
when
we
do
our
json
path
category
at
some
point
later
on,
then
we
may
want
that
expression
to
have
a
different
meaning,
and
that's
always
bad.
If
extending
something
means
that
existing
things
get
a
different
meaning,
and
there
there's
no
way
to
recognize
this
as
a
syntax
error
or
something
because
we
don't
know
what
is
going
to
hide
behind
the
the
at
dot,
foo
and
dollar
dot
bar.
B
You
know
normalization
issues
come
up
and
anyway
I'll
write
something
if
they
end
up.
If
a
howling
mob
comes
screaming
at
us,
we
can
take
it
up
again,
but
for
the
moment
we
are
failing
to
achieve
consensus.
F
Yeah,
maybe
just
acknowledge
this
anomaly
that
we
introduce
into
the
spec
by
preventing
this.
E
C
Okay,
I
I
yes
I
I
see
this
is
what
you
mean
with
with
syntax
okay,
we
need
the
abn
f
syntax
for
objects
and
for
for
for
erasers,
okay.
So
for
now
we
we
skip
that.
So
we
also.
F
E
E
B
I
E
That's
the
the
cop
out
that
people
have
invented
because
you
you
can't
get
normalization
right.
It
means
you
define
a
comparison
operator
that
essentially
is
defined
in
a
similar
way.
You
would
define
a
comparison
operator
if
you
had
normalization,
but
you
don't
require
the
normalization
to
actually
take
place.
Yeah.
B
B
A
So
I
think
we
can
move
on
to
what
we're
planning
on
doing
for
our
next
meeting.
Yes,
when
should
we
put
one
in.
A
So
ietf
is
in
two
weeks
time
and
we
don't
have
a
schedule.
We
don't
have
a
session
for
it,
which
is
why
we're
today,
I
would
propose
that
we
do
something
in
late
april
or
early
may.
B
A
A
It
might
be
a
bit
tricky
for
me
most
public
holidays
here
or
around
that
time,
but
we'll
make
something
work.