Re: [Asdf] Extension point mechanism thoughts

Michael Koster <michaeljohnkoster@gmail.com> Wed, 30 March 2022 16:20 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 D2B423A11E7 for <asdf@ietfa.amsl.com>; Wed, 30 Mar 2022 09:20:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 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, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham 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 PJPTP6OoSvpl for <asdf@ietfa.amsl.com>; Wed, 30 Mar 2022 09:20:57 -0700 (PDT)
Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) (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 8D0C83A11ED for <asdf@ietf.org>; Wed, 30 Mar 2022 09:20:57 -0700 (PDT)
Received: by mail-pf1-x430.google.com with SMTP id z16so19166867pfh.3 for <asdf@ietf.org>; Wed, 30 Mar 2022 09:20:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:content-transfer-encoding:mime-version:subject:date:references :to:in-reply-to:message-id; bh=Hm536+VUiIdJQKjohWeH2rEQgYiTuQVwxfOqvsnKCrc=; b=HnkskFLuCE4uw96NymndNnUchaHsgPBBAuoC+ZMie6JcZ/J1cDw5oYzwKUAizvcqbf oa8igNZRmPHv9lThWoLWZg3fyXUoQdRqrvAYNNwMgKweeRDVhYd2YF/xA7JAYvxj8IAD 5cFtqJSMDjPRHfL12V7v2NyusMFwz6ckDweatCpnUFITknG39YTMfbrTQDx2qiAi7ZDd eCUcN630sZql+DO2Ha3Rl0kbjrH9ysOYbvoH1iC7wlYmtXBB1sfiUeV8EGJiP+A5e+k/ 0VkhXEdkpQt8K5W4hFTcPL4PUMpASI+bxMfd3XVm35Qq2vUZdv2TNRk8pzLe4qwIR0mv WMow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:date:references:to:in-reply-to:message-id; bh=Hm536+VUiIdJQKjohWeH2rEQgYiTuQVwxfOqvsnKCrc=; b=3elHWUqgTfn1o+Bfc9lBYhm70oARWT0xn2o4V9UCHrYNatQZr+wzz6t2j0D0r1Ibij Qy3z15rEK6jAy1PPvwXuNlcL+dDBVyUDX9ieBYteNN8qCXXwHsTUmT0k6DH4Ca/941Ri iRwBUHYxtbY+/rkl1vuw1XmDpmTGpS9i3uFyhpGN+KraWYalgd45vKo2ja4nMzpb05B9 83wWiaO5jOhJKa5j3lYEpgHc1hJg5e6g+s44ONZ8z44D1xXH4TRhJu3jr4kFJhXqM5QG dXX/cf88X8WFCM0fTr5YYtay0fKgj6HG353iFK8XrbsW8rcgdHNu8VRbepjCGc09btnf NpVA==
X-Gm-Message-State: AOAM530CWTVO6Njt8iy12DyT7IyFUEzeS015UE13lkEWnBJPqhuiDJqm QWwPLB4Nvbfb3M7GzIMo+C2NZi19t40=
X-Google-Smtp-Source: ABdhPJxFOXEYZwU+smriyh4y5hg6FYJyNv080no5z3BzfyubXFnJs+GBqt+3FW1l5xxwrqqeXtNfsg==
X-Received: by 2002:a63:7d02:0:b0:398:9594:63f4 with SMTP id y2-20020a637d02000000b00398959463f4mr5829803pgc.375.1648657256009; Wed, 30 Mar 2022 09:20:56 -0700 (PDT)
Received: from [172.16.0.16] (c-73-170-109-142.hsd1.ca.comcast.net. [73.170.109.142]) by smtp.gmail.com with ESMTPSA id d5-20020a17090acd0500b001b9c05b075dsm6472311pju.44.2022.03.30.09.20.54 for <asdf@ietf.org> (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 30 Mar 2022 09:20:55 -0700 (PDT)
From: Michael Koster <michaeljohnkoster@gmail.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.21\))
Date: Wed, 30 Mar 2022 09:20:53 -0700
References: <F785FFBC-E751-426E-96CC-1601309E759E@gmail.com> <B51007CA-33B6-454D-8477-2DB8DB80EBBD@gmail.com> <A4AE4355-1260-4411-9087-13D68A150474@gmail.com> <0B698FC7-D2C7-4604-A4FA-821153578AD1@gmail.com> <57512999-995C-4C7A-9087-093C2F403DE4@gmail.com> <1A79BCAB-12C3-4ADA-A025-2AB96BBA2E13@gmail.com> <A7E6F628-3254-4052-AC8A-24AC2C484C00@gmail.com>
To: asdf@ietf.org
In-Reply-To: <A7E6F628-3254-4052-AC8A-24AC2C484C00@gmail.com>
Message-Id: <23E4C03D-CCEC-401D-B232-599B0C62A671@gmail.com>
X-Mailer: Apple Mail (2.3654.60.0.2.21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/asdf/Cs_fqQDIk3iKzeHYGOdtA6n_iwo>
Subject: Re: [Asdf] Extension point mechanism thoughts
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: Wed, 30 Mar 2022 16:20:59 -0000

I guess the RFC7386 format merge-patch object would look like (valid JSON this time):

{
 "definitions": {
    "thingqualities": {
      "properties": {
        "meta": { 
          "type": "object", "additionalProperties": { "$ref": "#/definitions/dataqualities" } 
        }
      }
    },
    "objectqualities": {
      "properties": {
        "meta": { 
          "type": "object", "additionalProperties": { "$ref": "#/definitions/dataqualities" } 
        }
      }
    }, 
    "propertyqualities": {
      "properties": {
        "meta": { 
          "type": "object", "additionalProperties": { "$ref": "#/definitions/dataqualities" } 
        }
      }
    }, 
    "actionqualities": {
      "properties": {
        "meta": { 
          "type": "object", "additionalProperties": { "$ref": "#/definitions/dataqualities" } 
        }
      }
    }, 
    "eventqualities": {
      "properties": {
        "meta": { 
          "type": "object", "additionalProperties": { "$ref": "#/definitions/dataqualities" } 
        } 
      }
    }
  }
}

> On Mar 30, 2022, at 9:05 AM, Michael Koster <michaeljohnkoster@gmail.com> wrote:
> 
> one more try; we're defining a new "meta" property in the class schemas that allows named definitions using dataqualities constraints:
> 
> [
>   "#/definitions/thingqualities/properties": { 
>     "meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" } 
>   },
>   "#/definitions/objectqualities/properties": { 
>     "meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" } 
>   },
>   "#/definitions/propertyqualities/properties": { 
>     "meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" } 
>   },
>   "#/definitions/actionqualities/properties": { 
>     "meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" } 
>   },
>   "#/definitions/eventqualities/properties": { 
>     "meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" } 
>   },
> ]
> 
>> On Mar 30, 2022, at 8:57 AM, Michael Koster <michaeljohnkoster@gmail.com> wrote:
>> 
>> [
>>   "#/definitions/thingqualities/properties/meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" },
>>   "#/definitions/objectqualities/properties/meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" },
>>   "#/definitions/propertyqualities/properties/meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" },
>>   "#/definitions/actionqualities/properties/meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" }
>>   "#/definitions/eventqualities/properties/meta": { "type": "object", "additionalProperties": "$ref": "#/definitions/dataqualities" }
>> ]
>