Re: [core] Link target attributes in CoRAL (was: Review of CoRAL)

Klaus Hartke <hartke@projectcool.de> Tue, 06 November 2018 08:06 UTC

Return-Path: <hartke@projectcool.de>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0BE9A12D7EA for <core@ietfa.amsl.com>; Tue, 6 Nov 2018 00:06:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_FAIL=0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
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 pf0wxC01I3P9 for <core@ietfa.amsl.com>; Tue, 6 Nov 2018 00:06:50 -0800 (PST)
Received: from wp382.webpack.hosteurope.de (wp382.webpack.hosteurope.de [IPv6:2a01:488:42:1000:50ed:8597::]) (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 64C9E128A5C for <core@ietf.org>; Tue, 6 Nov 2018 00:06:50 -0800 (PST)
Received: from mail-qt1-f169.google.com ([209.85.160.169]); authenticated by wp382.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) id 1gJwNs-00085h-4M; Tue, 06 Nov 2018 09:06:48 +0100
Received: by mail-qt1-f169.google.com with SMTP id b22-v6so1621435qtr.11 for <core@ietf.org>; Tue, 06 Nov 2018 00:06:48 -0800 (PST)
X-Gm-Message-State: AGRZ1gJnIY2nrxdLjJ57gDuZ117/Ew8ovehFvKrENzWnTyH3MQJWkTq7 2EmyHlNO5v7uSSDzUK2w7drl59j2+OAMtxL93d0=
X-Google-Smtp-Source: AJdET5cr3Gw8Y/AYkHoGs93/wkTV1yNvYtqlPCE2V1+OeQf85HvYu0xNx28KsAklMT/lS2EJzdLDkQnc3aDjvnZomC4=
X-Received: by 2002:ac8:2ea5:: with SMTP id h34-v6mr24236567qta.18.1541491607139; Tue, 06 Nov 2018 00:06:47 -0800 (PST)
MIME-Version: 1.0
References: <CAAzbHvYk9dUvGmYsX1U=0qcU7330bYO6YjGAa51gFKMGGoy-Dg@mail.gmail.com> <20181105123604.GA9680@hephaistos.amsuess.com>
In-Reply-To: <20181105123604.GA9680@hephaistos.amsuess.com>
From: Klaus Hartke <hartke@projectcool.de>
Date: Tue, 6 Nov 2018 09:06:11 +0100
X-Gmail-Original-Message-ID: <CAAzbHvZ=4GaPH6FXj4ZuOzMLrQbWUo-Oc6CUmiA4O2b3PhK-rA@mail.gmail.com>
Message-ID: <CAAzbHvZ=4GaPH6FXj4ZuOzMLrQbWUo-Oc6CUmiA4O2b3PhK-rA@mail.gmail.com>
To: =?UTF-8?Q?Christian_M=2E_Ams=C3=BCss?= <christian@amsuess.com>
Cc: "core@ietf.org WG" <core@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-bounce-key: webpack.hosteurope.de; hartke@projectcool.de; 1541491610; 8f2a4ec6;
X-HE-SMSGID: 1gJwNs-00085h-4M
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/wMiIM7ZDeb4KKkmMUqn6v62-sk0>
Subject: Re: [core] Link target attributes in CoRAL (was: Review of CoRAL)
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Nov 2018 08:06:53 -0000

Christian Amsüss wrote:
> Non-target link attributes are something I'd discourage in general;
> would you, when someone does define new non-target attributes, encourage
> them to specify how they'd be expressed in CoRAL?

I think I don't care enough about Link Format that I'd encourage
maintaining any kind of mapping. The draft currently describes a
generic mapping that works for any target attribute but makes no
attempt to work for any non-target attribute. If I could get rid of
the mapping, I would do it.

> > Since in CoRAL it's possible to make statements about link targets
> > (here: the literal "Überschrift"), something like this would look
> > natural to me:
> >
> >       #using iana = <http://www.iana.org/assignments/relation/>
> >       #using attr = <http://TBD2/>
> >
> >       iana:terms-of-service </tos> {
> >          attr:title "Nutzungsbedingungen" { attr:hreflang "de" }
> >          attr:title "Terms of use"        { attr:hreflang "en" }
> >       }
> >
> >    <=>
> >
> >       </tos>; rel=terms-of-service;
> >          title*=UTF-8'de'Nutzungsbedingungen;
> >          title*=UTF-8'en'Terms%20of%20use
>
> That's kind of neat and kind of scary.

Good point. I'm open to other ideas. But I think I don't want make
processing much more complex to accommodate language-tagged strings,
since it's unlikely that a constrained device will serve links
annotated with titles in 20 languages.

> > If there's a guarantee that there won't be any new link target
> > attributes in the future (for RFC 6690 link serializations), then we
> > could skip the whole mapping topic and just define a new, more natural
> > set of link relation types:
>
> I don't think we need a guarantee for that. We can, as they pop up, for
> some funny-string-valued attributes define equivalent more semantic
> attributes, each with their own mapping. So a general CoRAL processor
> you could encounter both `attr: rt="x y"` or `split-attr:rt rt:x,
> split-attr rt:y` and needs to know of the equivalence.

This is exactly what I'd like to avoid.

IMO we should decide on either a generic mapping that can round-trip
any attributes or a new set of relations, but not both:
Implementations could never rely on that the other kind doesn't appear
and therefore would have to support both, which doesn't help with
keeping developers happy and implementation sizes small.

Klaus