Re: [httpapi] Linkset feedback

Mark Nottingham <mnot@mnot.net> Thu, 07 October 2021 01:02 UTC

Return-Path: <mnot@mnot.net>
X-Original-To: httpapi@ietfa.amsl.com
Delivered-To: httpapi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 60E773A0D7B for <httpapi@ietfa.amsl.com>; Wed, 6 Oct 2021 18:02:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b=U1jtJaL6; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=CQpNfRwz
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 th5hPeIGDxDd for <httpapi@ietfa.amsl.com>; Wed, 6 Oct 2021 18:02:00 -0700 (PDT)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A88403A0D79 for <httpapi@ietf.org>; Wed, 6 Oct 2021 18:02:00 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id C65825C0213; Wed, 6 Oct 2021 21:01:59 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Wed, 06 Oct 2021 21:01:59 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm3; bh=W yRANLYETGYZFZ6agME4dnZJqdhNAO4p0epoxn9805E=; b=U1jtJaL63odfrB0zC 4WZR2gnK40CSURcCLGZarURzjZUV89UvlOoyXLs54inJ7Z1YgG2zXN/g0g2Mii3Z GEk9pzDjfuUF7vSYrsEHFOsio1gpMXqzGHeW2Vf326VEd71RRn6QA5wQDQj7E6T4 kGDZfKhgQLQeExvzMgZDP0B8rJw3zBNkpDCArJtD8cxiN52U7llyj17771vJf5nP y9vvlD7fR8Ao2ISUtZJSQFnCEjtJ4RwJjzxS/rpRRqRyUErJE0L+YAcuJeV1FZFZ jY7KIU4eHJkV0GXD0RNJv6Z8WwfxRLGOKpDVP79uD/56111eYuwdrIx0ij9rI542 dOwbA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=WyRANLYETGYZFZ6agME4dnZJqdhNAO4p0epoxn980 5E=; b=CQpNfRwzDhMUvnmngtcY11VKR3/3CMtu/uuxJyTavU5YfXBfMUz68gl7E 4rnvC14/QqQEBlPj4tDWpP2Y5I2tU5rW9UymHdiGY+PN/kNFn13RuT94VVzCMr1G iAyQeYw09hSQDLFsLxF2OeZeXUbW1J1eETK0NMnIG2H8o4k4/8QbpAiqSlC37bsV BAXrk4OnNE5QE7RHGv+Y6276KbFYoo8oJVlHZJim9eOsuYjkfuzZ8z56X+bXzJAQ /+2sJYyQcNmsYIKvsJU2C27CiVWcHTIaPkAQ3g1POsVnavijV+aivGmVt7hX71yO KNbNlAI5qbQ+1BeTufio/RYgbcomw==
X-ME-Sender: <xms:BkdeYQJG7QltwpP1lzdwWDseAqxyibBgpPvWK5rQ7zH0HNL3UYNipw> <xme:BkdeYQK3uvSXz5zSRXHp5-OVv_PAgGo9By10tOaATM-Itpea0eYJFPKdm0SqfWht6 z4D8AqDDUtoT0mo-w>
X-ME-Received: <xmr:BkdeYQsQJF3hWptx8rBb2gm3YQLUgHO0SX5E9QTJhmcPq21KiUFWwTi_5MK8KNCm2e6vsBBpPbyWBSaV6rbzHQEa_BTIxFSs7aCXMoLwLeI1BJwzsQso7ZWx>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudeljedgfeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptggguffhjgffgffkfhfvofesthhqmhdthhdtvdenucfhrhhomhepofgrrhhk ucfpohhtthhinhhghhgrmhcuoehmnhhothesmhhnohhtrdhnvghtqeenucggtffrrghtth gvrhhnpeefvdelleevfeeghfefieekfefgieelieeijeffudfgfeejvdfhveelieeljeef tdenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhivghtfhdrohhrghdphhhtthhphh gvrgguvghrfhhivghlugdrihhtpdhirghnrgdrohhrghdpmhhnohhtrdhnvghtpdhhvhgu shhomhhprdhinhhfohdpohhrtghiugdrohhrghenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpehmnhhothesmhhnohhtrdhnvght
X-ME-Proxy: <xmx:BkdeYdYizKfM77zqrP5wEM5Pu94P9pADagT-QJhjXmXkD-r4RVEg8w> <xmx:BkdeYXbdwsZLekyNeRqBhN5LyrBLXm4LiTfBA_0bvG7Qr-dV_5i3Fg> <xmx:BkdeYZDrnrF5d0JqdPWT-VgqIoLg6SABoA6aFaUpYrWayKpGVFI3pg> <xmx:B0deYSz8x2LdJvCx7n7i94zIDOEdDl75oWXS6rIvx2VxNHGcOrHvkw>
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 6 Oct 2021 21:01:57 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CAOywMHe=SrTB1cVxw5bupJTTRkSSboF-WaBdNeOwqO1f2r6CMQ@mail.gmail.com>
Date: Thu, 07 Oct 2021 12:01:54 +1100
Cc: HTTP APIs Working Group <httpapi@ietf.org>, Herbert Van de Sompel <herbert.van.de.sompel@dans.knaw.nl>, Erik Wilde <erik.wilde@dret.net>
Content-Transfer-Encoding: quoted-printable
Message-Id: <54044504-8E34-41A4-9120-B77FFC09FBCB@mnot.net>
References: <A399513B-A783-41D6-94C9-E65D2C34F498@mnot.net> <CAOywMHe=SrTB1cVxw5bupJTTRkSSboF-WaBdNeOwqO1f2r6CMQ@mail.gmail.com>
To: Herbert Van de Sompel <hvdsomp@gmail.com>
X-Mailer: Apple Mail (2.3654.120.0.1.13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/httpapi/k-JeOwLZePWuG3vsoRG7lAE9wJY>
Subject: Re: [httpapi] Linkset feedback
X-BeenThere: httpapi@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Building Blocks for HTTP APIs <httpapi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/httpapi>, <mailto:httpapi-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/httpapi/>
List-Post: <mailto:httpapi@ietf.org>
List-Help: <mailto:httpapi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/httpapi>, <mailto:httpapi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Oct 2021 01:02:08 -0000

See also
  https://github.com/protocol-registries/link-relations/issues/25

As I mention there, IANA is (AIUI) considering exposing a JSON format for *all* registries. If JSON-LD / Linked Web folks want to give them input, we should arrange a way to do that. Chairs, maybe we should ask our AD to facilitate that coordination?

Cheers,


> On 7 Oct 2021, at 1:42 am, Herbert Van de Sompel <hvdsomp@gmail.com> wrote:
> 
> On Wed, Jul 28, 2021 at 9:27 PM Mark Nottingham <mnot@mnot.net> wrote:
> I went through the link set draft; apologies for the delay. Feedback below; most of it is editorial.
> 
> 
> Mark, we dealt with your feedback and published a new version of the I-D at https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html . Below, I provide pointers to sections affected by handling it.
> 
> One - IMO - significant issue remains to be addressed, not by the Link Set specification, but in general, i.e. it not being possible to express IANA-registered link relation types as HTTP URIs. Several people, including myself, expressed their frustration with that regard in the context of the discussion https://github.com/ietf-wg-httpapi/linkset/issues/45. Some digging around revealed that this issue was also discussed in https://github.com/mnot/I-D/issues/140; both you and my Link Set co-author Erik were involved in that discussion. I was wondering whether this might be something that could be picked up by the HTTPAPI working group. After all, the capability to express IANA-registered link relation types would generally increase interoperability between semantic and non-semantic applications.
> 
> Greetings
> 
> Herbert
>  
> 
> * Abstract- - '...sets of links as stand-alone resources.' This doesn't agree with the HTTP definition of 'resource'; recommend dropping this phrase.
> 
> 
> Addressed by using "documents" instead of "resources".
> 
> * 1. Introduction (and elsewhere) -- it would be nice if this clearly said it was defining a _serialiation_ of links, to leverage the terminology established in 8288.
> * 1. Introduction -- it might be good to mention the nature of the two seralisations defined; the reader doesn't find that out until section 3 right now, where it's discussed obliquely.
> 
> 
> See https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-introduction
>  
> * 3. Scenarios -- usually sections like this are called something like "Use Cases"
> 
> 
> Section renamed "Uses Cases and Motivation", see https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-use-cases-and-motivation
>  
> * 3. Scenarios -- it feels like this section could be tightened up; it's fairly long for the amount of content here
> 
> 
> We have not changed the content of the section because of lack of inspiration.
>  
> * 4. Document Formats for Sets of Links -- 'In both serializations for link sets defined here, inverse links SHOULD be represented as direct links using the "rel" construct and by switching the position of the resources involved in the link.' -- is this always true? I.e., for every link relation, is it the case that the inverse relation's semantics in total are expressed by merely reversing the subject and object? Also, this doesn't feel like a SHOULD (which is for interoperability).
> 
> Changed "SHOULD" to "may", see https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-document-formats-for-sets-o
>  
> 
> * 4.1. HTTP Link Document Format: application/linkset -- it would be good if this said something explicitly about whether newlines are allowed, and gave an example. 
> 
> 
> Wording added to allow newlines, see https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-http-link-document-format-a
>  
> * 4.2.1 Set of Links -- '... the "link context object" (see Section 4.2.2) - MUST be used to represent links' -- this is an awkward MUST; usually this is just stated ('is'). (this applies to several other requirements below; generally, requirements are used to specify what behaviours are necessary for interoperability, not to merely define protocol elements).
> 
> 
> This "MUST be" and some similar ones were replaced by "is", see https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-set-of-links
>  
> * 4.2.1 Set of Links -- '... MUST have "linkset" as its sole member' -- does this imply that if there is any other member present, a receiving implementation is required to error?
> 
> 
> Discussed in https://github.com/ietf-wg-httpapi/linkset/issues/41:
> 
> * In order for a document to have the application/linkset+json media type, it indeed must only have "linkset" as its sole member. A JSON document can have a "linkset" member (as defined in the spec) as well as other members, but then it's not an application/linkset+json document.
> 
> * As a result of the discussion changed the JSON Extensibility section to allow but not encourage "foreign" members of the "linkset" member, see https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-json-extensibility
>  
> * 4.2.2 Link Context Object -- 'SHOULD NOT be a relative reference' -- what are the consequences of violating this SHOULD NOT?
> 
> 
> Motivation for not using relative references is explicit in:
> 
> * 4th paragraph of https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-http-link-document-format-a
> 
> * 3rd paragraph of https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-json-document-format-applic
>  
> * 4.2.4.1. Target Attributes Defined by Web Linking -- this refers to 3.4.1 of 8288, which defines a *different* serialisation of web links - the Link HTTP header field. It should refer to section 2 of 8288, which defines the abstract model of web linking, since this is a new serialisation. As such, this section isn't really necessary; all target attributes are just target attributes in the abstract model. 
> 
> Changed reference, see https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-link-target-attributes
>  
> * 4.2.4.2. Internationalised Target Attributes -- as per above, this section is not necessary. Internationalisation of those values is a specific feature to enable non-ascii titles in the Link header serialisation; it's not necessary in a JSON serialisation. 
> * 4.2.4.3. Extension Target Attributes -- this section should be folded into 4.2.4.
> 
> 
> We did not change/remove these sections because they are considered valuable for implementers, see https://github.com/ietf-wg-httpapi/linkset/issues/43
>  
> * 5. The "profile" attribute for media types to Represent Sets of Links -- It'd be really helpful to have an example here. Also, they're media type _parameters_, not attributes.
> 
> 
> * Changed "attribute" to "parameter", see https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-the-profile-paramter-for-me
> 
> * Introduced "profile" attribute for "linkset" links, see last paragraph of https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-the-linkset-relation-type-f
> 
> * Introduced new "Link Set Profiles" examples section, see https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-link-set-profiles . Thanks to Phil Archer for help with this.
>  
> * Appendix A - Has the 'http://www.iana.org/assignments/relation/' URI been discussed? I note that it isn't HTTPS, and it currently redirects to another URI. Did you consider a 'urn:ietf:params' URI?
> 
> 
> Appendix A was revised to use an example that does not use IANA-registered link relation types in order to avoid the problem that IANA-registered link relation types can not be expressed as HTTP URIs, see my note at the start of this mail. See https://www.ietf.org/archive/id/draft-ietf-httpapi-linkset-04.html#name-json-ld-context . Thanks to Phil Archer for help with this.
> 
>  
> Cheers,
> 
> --
> Mark Nottingham   https://www.mnot.net/
> 
> -- 
> httpapi mailing list
> httpapi@ietf.org
> https://www.ietf.org/mailman/listinfo/httpapi
> 
> 
> -- 
> ==================
> Herbert Van de Sompel
> https://hvdsomp.info
> https://orcid.org/0000-0002-0715-6126

--
Mark Nottingham   https://www.mnot.net/