Re: [dispatch] draft-goessner-dispatch-jsonpath-00.txt

Brian Rosen <br@brianrosen.net> Wed, 15 July 2020 12:37 UTC

Return-Path: <br@brianrosen.net>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AD3C63A0779 for <dispatch@ietfa.amsl.com>; Wed, 15 Jul 2020 05:37:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.888
X-Spam-Level:
X-Spam-Status: No, score=-1.888 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=brianrosen-net.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dPI3wvzXFj0i for <dispatch@ietfa.amsl.com>; Wed, 15 Jul 2020 05:37:49 -0700 (PDT)
Received: from mail-il1-x131.google.com (mail-il1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 59C5A3A0778 for <dispatch@ietf.org>; Wed, 15 Jul 2020 05:37:49 -0700 (PDT)
Received: by mail-il1-x131.google.com with SMTP id t27so1785086ill.9 for <dispatch@ietf.org>; Wed, 15 Jul 2020 05:37:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brianrosen-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=6e7BpCJeR8y4AzW4pxI3Bamq4vRsyvJmKuCrQMA5mtw=; b=nfeIInfovf0ZQXN5DK8XkbNNBqyN8TxzUGCvxEuRPS4Cl4sBKSpW+Miya+tUy/kRw3 Z8Kvv6bX8Z1UZrsOy1atQMkXwZrQ3qIEuTpq1ttfXY5mUyEqAQg9bNw87vaRsRtaA4zz Fosp2zHGFLFY0FytgZL+ftbQM0RUWMc0JkGdJG9RrK9O07Cb4lvAMEmsqELxwo1dJQCZ H4jHsAJ/NF6nVxx6/QfBRQlyq4Rx/2QCZuZILcMQhss9KQiG0Sz6E9DLBgdnsvinWcje lph+kucULRSkBIqq7vbl0afXHKPJTLgB7RQtkIOAUWF6CPISs94fA1WXHKA3bI2UgAkX xx0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=6e7BpCJeR8y4AzW4pxI3Bamq4vRsyvJmKuCrQMA5mtw=; b=si1wTwDu5N37yz/pnsT0xPYvN4ZbyRHmbzuJ3kmufQ+wSSsvoXfvmcDpT9KaAUti5A fniNXOz0ulW83idtgCQBKXO2ivRW89z6UHV8P4GxtMA49PHqz4ACynFzp2RFcCWHtNxK RJS0jMn1tIPX/uWgKuhKuHnXWJALs1Obsd0btHIb5sUxGnPDJo4VMMCiJzq3+ACjTPZI NeLUn/t+KvmIUr4+pbBkF9xkU0EaB81iiiQZcg7jCxcG918keqeifLyE/xZeaZQESc6N 0FW0cB7MS2Q+NAJRpPlhMiw63esEcpycpIClLmK7/vVCLYNjNxyWSnVWMqF19gFphvml d4HQ==
X-Gm-Message-State: AOAM532HsfrV05aEvSvZ+mBeo7d0e5ZvRwJbHT0xr8T2XFKVuG9w540J 281fKFNXCgQXGOdSDzErrhd8y5iwfmE=
X-Google-Smtp-Source: ABdhPJytf2/EQys64MMoypn1Xypwg036AJ3lFVLKDmBMoKxYRQYyAwU9EA6a1t7CtR4MWTkDR1LclQ==
X-Received: by 2002:a92:aad6:: with SMTP id p83mr8958300ill.65.1594816668537; Wed, 15 Jul 2020 05:37:48 -0700 (PDT)
Received: from brians-mbp-2871.lan (dynamic-acs-24-154-119-158.zoominternet.net. [24.154.119.158]) by smtp.gmail.com with ESMTPSA id 5sm1087569ion.7.2020.07.15.05.37.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Jul 2020 05:37:40 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\))
From: Brian Rosen <br@brianrosen.net>
In-Reply-To: <d2ab505d-bc99-482d-a8e5-694f67ce932b@www.fastmail.com>
Date: Wed, 15 Jul 2020 08:37:39 -0400
Cc: dispatch@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <1C9B201D-7DB6-4A8D-8750-475981DB5863@brianrosen.net>
References: <159467093010.19477.7181341398452455173@ietfa.amsl.com> <77B617C1-2148-4AE6-8428-DAD43D01FBC5@tzi.org> <d2ab505d-bc99-482d-a8e5-694f67ce932b@www.fastmail.com>
To: Martin Thomson <mt@lowentropy.net>
X-Mailer: Apple Mail (2.3608.80.23.2.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/x1bVs5oEwOvPiO-joVAwCxlpmtw>
Subject: Re: [dispatch] draft-goessner-dispatch-jsonpath-00.txt
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Jul 2020 12:37:52 -0000

I haven’t seen json pointer in the wild, pretty much ever.  I’ve seen A LOT of jsonpath.  
But I’m not exactly doing mainstream interfaces.

Brian

> On Jul 15, 2020, at 5:40 AM, Martin Thomson <mt@lowentropy.net> wrote:
> 
> I see three major differences here from JSON pointer:
> 
> 1. this selects multiple values in the same way that XPath does, so this includes // and * and other such things
> 2. predicates (the execution of script is a major concern and really begs for a security model), which is largely a consequence of having multiple values but not strictly
> 3. syntax
> 
> Of these, the syntax difference seems gratuitous.  JSON pointer isn't exactly awesome~1but it has fewer variants and it isn't inclined toward implementation by eval(), which is an anti-feature.
> 
> Personally, I would much rather see a new JSON pointer developed, which would be evolutionary rather than revolutionary; more version 2 than competition.  It would be relatively simple to add multi-value and relative evaluation to JSON pointer if those are the key use cases.  That said, I don't have a lot of insight into what the implementation landscape is.  If JSON pointer is moribund, then we might want to acknowledge that.  My sense is that it has some relatively wide support, including modifications for relative references (https://json-schema.org/draft/2019-09/relative-json-pointer.html).
> 
> Predicates are where this gets tricky, but I would suggest that you need to decide the question of whether they are included from the outset.  Personally, these seem like they could be a big risk and I would defer their addition if not cut them out, but I don't know what sort of use cases are driving this.
> 
> This seems big enough to be a working group (particularly if you put the predicate stuff in scope).
> 
> 
> On Tue, Jul 14, 2020, at 15:14, Carsten Bormann wrote:
>> (Reply-To set to dispatch@ietf.org)
>> 
>> I would like to initiate discussion for draft-goessner-dispatch-jsonpath:
>> 
>> https://www.ietf.org/id/draft-goessner-dispatch-jsonpath-00.html
>> 
>> It says:
>> 
>>> This document picks up the popular JSONPath specification dated
>>> 2007-02-21 and provides a more normative definition for it.
>>> It is intended as a submission to the IETF DISPATCH WG, in order to
>>> find the right way to complete standardization of this specification.
>>> In its current state, it is a strawman document showing what needs to
>>> be covered.
>> 
>> (For some reason the abstract landed in the Contributing note; typical 
>> Internet-Draft deadline day botch.)
>> 
>> This is a widely implemented specification that has been around for 
>> more than a decade; now may be a good opportunity to finally go ahead 
>> and turn it into a proper Internet standards document.  The immediate 
>> cause for writing this up now is that some IoT discovery work (some of 
>> which happens in W3C) can make good use of JSONPath.  Clearly, we 
>> already have JSON Pointer (RFC 6901) for a more limited set of 
>> applications; the specification would do good in defining how these two 
>> fit together.
>> 
>> There is no active WG that immediately fits this work.
>> 
>> Eventually CDDL may pick JSONPath up in the form of a predicate 
>> operator; this might make the CBOR WG the right group (which probably 
>> would then go ahead and write up another specification that makes 
>> JSONPath useful for querying CBOR instances that go beyond the JSON 
>> generic data model).
>> 
>> Reopening the JSON WG may be another approach, as may be creating a 
>> short-lived targeted WG.
>> 
>> Please discuss!
>> 
>> Grüße, Carsten
>> 
>> 
>> 
>>> Begin forwarded message:
>>> 
>>> From: internet-drafts@ietf.org
>>> Subject: New Version Notification for draft-goessner-dispatch-jsonpath-00.txt
>>> Date: 2020-07-13 at 22:08:50 CEST
>>> To: "Stefan Gössner" <stefan.goessner@fh-dortmund.de>, "Stefan Gossner" <stefan.goessner@fh-dortmund.de>, "Carsten Bormann" <cabo@tzi.org>
>>> 
>>> 
>>> A new version of I-D, draft-goessner-dispatch-jsonpath-00.txt
>>> has been successfully submitted by Carsten Bormann and posted to the
>>> IETF repository.
>>> 
>>> Name:		draft-goessner-dispatch-jsonpath
>>> Revision:	00
>>> Title:		JSONPath -- XPath for JSON
>>> Document date:	2020-07-12
>>> Group:		Individual Submission
>>> Pages:		14
>>> URL:            https://www.ietf.org/internet-drafts/draft-goessner-dispatch-jsonpath-00.txt
>>> Status:         https://datatracker.ietf.org/doc/draft-goessner-dispatch-jsonpath/
>>> Htmlized:       https://tools.ietf.org/html/draft-goessner-dispatch-jsonpath-00
>>> Htmlized:       https://datatracker.ietf.org/doc/html/draft-goessner-dispatch-jsonpath
>>> 
>>> 
>>> Abstract:
>>>  insert abstract here
>>> 
>>> 
>>> 
>>> 
>>> Please note that it may take a couple of minutes from the time of submission
>>> until the htmlized version and diff are available at tools.ietf.org.
>>> 
>>> The IETF Secretariat
>>> 
>>> 
>> 
>> _______________________________________________
>> dispatch mailing list
>> dispatch@ietf.org
>> https://www.ietf.org/mailman/listinfo/dispatch
>> 
> 
> _______________________________________________
> dispatch mailing list
> dispatch@ietf.org
> https://www.ietf.org/mailman/listinfo/dispatch