Re: [Asdf] Composing sdfThings
Michael Koster <michaeljohnkoster@gmail.com> Tue, 13 April 2021 16:09 UTC
Return-Path: <michaeljohnkoster@gmail.com>
X-Original-To: asdf@ietfa.amsl.com
Delivered-To: asdf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id 907DA3A1D22
for <asdf@ietfa.amsl.com>; Tue, 13 Apr 2021 09:09:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001,
HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
header.d=gmail.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 rqmf10CeCa9r for <asdf@ietfa.amsl.com>;
Tue, 13 Apr 2021 09:09:34 -0700 (PDT)
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
[IPv6:2607:f8b0:4864:20::636])
(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 79A3F3A1D2D
for <asdf@ietf.org>; Tue, 13 Apr 2021 09:09:34 -0700 (PDT)
Received: by mail-pl1-x636.google.com with SMTP id d8so8473250plh.11
for <asdf@ietf.org>; Tue, 13 Apr 2021 09:09:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=from:message-id:mime-version:subject:date:in-reply-to:cc:to
:references; bh=xwkYp6ZqX1WWooKIztEAEJWTR5GdaTjN4qNypBnMp10=;
b=QpTD3jagtcmOuyzGtnOQ+UVy0J8CGnXKmragFRiCEal/x/cht75KSGp57e1Re8FjX2
TXjUpBZ/4q5+ByB6LyjDcPsUDVYHJ75aJ8KoSY5uOecesgHen5vxvqI//NBmf+lZfvF/
/zTgljLftLMN+Bsdck0YdQYHvDHsN/RkdkvYkbjyGjtOaGsmyNzIl1lAW3scpeWQgzRj
LhwY/TP7qIkX5GRVQt/O56HOntQSI5ehq3CP4FnBONGj52XQxROXImk3L5ezJgRyL4Q3
RVfuCyCrSZLCb5aGkTtOvPk7iBdiH05rmtfPTBC2WHaaww/3DVzSIzMIb8r17/nF7taT
BVYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:message-id:mime-version:subject:date
:in-reply-to:cc:to:references;
bh=xwkYp6ZqX1WWooKIztEAEJWTR5GdaTjN4qNypBnMp10=;
b=l/TkcpXNaXnwPqGekzY6EM1wvu1+rncNup+M1KOhWx+JXlqmaDUPvRUVgfdGOFujks
KdQosv2NP5WOrJogi+JqodR4qn7CLpkVbb5kC8vzUWFnmq1BJotP1aXKq2xp93NPqC1s
8tueNVLHgsORFfddFKN2PG1xkhtd+BcGzdl2N0QIDryTfzCS9hvzRSrgfuLz8zDtCJdj
KCwpywQS+CeLf+3Mj01Oyi8CWUO0wPTf/l17FR17N/4Fh205Ht+X1ursq8dwLxoYpzuu
yYrzR7ZptlvloEwXTGyGnR8l9x9rAps6SFCYicYckLJome8v7HXFSOZDBSVsQujNYozB
pqGA==
X-Gm-Message-State: AOAM531rh0a7jYrvEUyNyoCn3Za0BkMIOlphL6UhlILfyWo3mAUqNRvi
cwq8x5Pai8JeR9/AAjS+8KTBlJ13asE=
X-Google-Smtp-Source: ABdhPJx+QA/+iZ3MQcJNWfIE5S5Q9XMng5eh1kjl/JvjEjYEr6p7i7cZ6GywJt3nFeb29jtWYHi0gA==
X-Received: by 2002:a17:90b:400a:: with SMTP id
ie10mr777693pjb.210.1618330173183;
Tue, 13 Apr 2021 09:09:33 -0700 (PDT)
Received: from [172.16.0.8] (c-71-202-145-92.hsd1.ca.comcast.net.
[71.202.145.92])
by smtp.gmail.com with ESMTPSA id x22sm12635057pfa.24.2021.04.13.09.09.31
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Tue, 13 Apr 2021 09:09:32 -0700 (PDT)
From: Michael Koster <michaeljohnkoster@gmail.com>
Message-Id: <FF4E60C9-ADE8-44B6-AD72-1E4CAAD32D14@gmail.com>
Content-Type: multipart/alternative;
boundary="Apple-Mail=_F8DB0E46-023C-4165-8408-68B951FBAE43"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.21\))
Date: Tue, 13 Apr 2021 09:09:30 -0700
In-Reply-To: <HE1PR07MB32269680CB56CC9BDEA1DADD857C9@HE1PR07MB3226.eurprd07.prod.outlook.com>
Cc: "asdf@ietf.org" <asdf@ietf.org>,
Carsten Bormann <cabo@tzi.org>
To: =?utf-8?Q?Ari_Ker=C3=A4nen?= <ari.keranen=40ericsson.com@dmarc.ietf.org>
References: <5E1F89D1-0E77-4DE2-B302-12F4AB248EA7@tzi.org>
<HE1PR07MB32269680CB56CC9BDEA1DADD857C9@HE1PR07MB3226.eurprd07.prod.outlook.com>
X-Mailer: Apple Mail (2.3654.60.0.2.21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/asdf/M7jWwykdWJYid2K5iUMmNKcevxc>
Subject: Re: [Asdf] Composing sdfThings
X-BeenThere: asdf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A Semantic Description Format \(SDF\) for Things and their
Interactions and Data" <asdf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/asdf>,
<mailto:asdf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/asdf/>
List-Post: <mailto:asdf@ietf.org>
List-Help: <mailto:asdf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/asdf>,
<mailto:asdf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2021 16:09:39 -0000
Here is the updated outlet strip example, including suggestions from Carsten to add some common functions. https://github.com/one-data-model/exploratory/blob/master/sdfThing/sdfthing-outletstrip.sdf.json <https://github.com/one-data-model/exploratory/blob/master/sdfThing/sdfthing-outletstrip.sdf.json> To specify a fixed number of instances, I set minItems and maxItems to the same value. Best regards, Michael > On Mar 31, 2021, at 11:44 AM, Ari Keränen <ari.keranen=40ericsson.com@dmarc.ietf.org> wrote: > > Here's another strawman, based on Carsten's example, of a potential design with array of sdfObjects: > https://github.com/one-data-model/exploratory/blob/master/sdfThing/fridgemultifreezer.sdf.json > > It uses new "minItems" and "maxItems" qualities (similar to JSO min/maxItems for array type) to define how many freezer Objects can there be in the Thing. > > This seems like a reasonable design, but there are still open questions like how to address those objects. One option is to use JSON pointer array syntax, e.g., a pointer to the 7th freezer object could look like: > #/sdfThing/FridgeMulti-freezer/sdfObject/freezer/6 > > However, given the definition is not an actual array (it's JSON object with two new qualities), something like additional processing steps on the model would need to be applied before the JSON pointers can be used as such. > > Another question is whether we should have minItems quality or should we use only sdfRequired also here. Unless we want to invent new wildcard syntax for sdfRequired, seems that sdfRequired would need to have separate pointer for each required instance. That could result in excessively large sdfRequired blocks so minItems seems like a reasonable shorthand for that. > > > Cheers, > Ari > > On 29.3.2021, 19.13, "ASDF" <asdf-bounces@ietf.org> wrote: >> >> After today’s OneDM discussion, I put together a quick strawman that shows how to put together a fridge-freezer out of two refrigeration components. >> >> https://github.com/one-data-model/exploratory/blob/master/sdfThing/fridgefreezer.sdf.json >> >> This demonstrate static named composition. >> It does not show how to do Ari’s use case of numbered composition (an array of sdfThings or sdfObjects in an sdfThing). >> It also doesn’t demonstrate dynamic composition. >> >> Grüße, Carsten >> > > -- > ASDF mailing list > ASDF@ietf.org > https://www.ietf.org/mailman/listinfo/asdf
- [Asdf] Composing sdfThings Carsten Bormann
- Re: [Asdf] Composing sdfThings Ari Keränen
- Re: [Asdf] Composing sdfThings Carsten Bormann
- Re: [Asdf] Composing sdfThings Michael Koster
- Re: [Asdf] Composing sdfThings Michael Koster
- Re: [Asdf] Composing sdfThings Michael Koster