[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (COEL-130) A more optimal representation of an Atom in JSON
[ https://issues.oasis-open.org/browse/COEL-130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul Bruton updated COEL-130: ----------------------------- Description: A JSON Schema is a useful mechanism for specifying and verifying the structure of an Atom. A Schema can specify which elements are 'required', but specifying interdependency or mutual-exclusion (e.g. ContextTag IFF ContextValue; DeviceID XOR ConsumerID) is not straightforward. Some small changes to the structure of the Atom would make development of a schema easier - and as a consequence lighten the burden of validation in Atom processors. Suggestions include: 1 Implement WHAT as an array of integers rather than four discrete elements. No need for complicated 'SubClass' is required if 'Element' is present. 2 Implement Extension like the following: { "Int":{"IntTag": N, "IntValue": N}}, "Str":{"StrTag": N, "StrValue": N}}, "Flt":{"FltTag": N, "FltValue": N}} } ...so that we can make the elements Int, Str, Flt 'optional', but within them make the Tag and Value elements 'mandatory' 3. Implement Context as { "Weather": N ### Optional "Ext": {"ContextTag": N "ContextValue":V} ### Optional Ext with mandatory Tag/Value } was: A JSON Schema is a useful mechanism for specifying and verifying the structure of an Atom. A Schema can specify which elements are 'required', but specifying interdependency or mutual-exclusion (e.g. ContextTag IFF ContextValue; DeviceID XOR ConsumerID) is not straightforward. Some small changes to the structure of the Atom would make development of a schema easier - and as a consequence lighten the burden of validation in Atom processors. Suggestions include: 1 Implement WHAT as an array of integers rather than four discrete elements. No need for complicated 'SubClass' is required if 'Element' is present. 2 Implement Extension like the following: { "Int":{"IntTag": N, "IntValue": N}}, "Str":{"StrTag": N, "StrValue": N}}, "Flt":{"FltTag": N, "FltValue": N}} } ...so that we can make the elements Int, Str, Flt 'optional', but within them make the Tag and Value elements 'mandatory' 3. Implement Context as { "Weather": N ### Optional "Ext": {"Tag": N "Value":V} ### Optional Ext with mandatory Tag/Value } > A more optimal representation of an Atom in JSON > ------------------------------------------------ > > Key: COEL-130 > URL: https://issues.oasis-open.org/browse/COEL-130 > Project: OASIS Classification of Everyday Living (COEL) TC > Issue Type: Task > Reporter: Paul Bruton > > A JSON Schema is a useful mechanism for specifying and verifying the structure of an Atom. A Schema can specify which elements are 'required', but specifying interdependency or mutual-exclusion (e.g. ContextTag IFF ContextValue; DeviceID XOR ConsumerID) is not straightforward. Some small changes to the structure of the Atom would make development of a schema easier - and as a consequence lighten the burden of validation in Atom processors. > Suggestions include: > 1 Implement WHAT as an array of integers rather than four discrete elements. No need for complicated 'SubClass' is required if 'Element' is present. > 2 Implement Extension like the following: > { > "Int":{"IntTag": N, "IntValue": N}}, > "Str":{"StrTag": N, "StrValue": N}}, > "Flt":{"FltTag": N, "FltValue": N}} > } > ...so that we can make the elements Int, Str, Flt 'optional', but within them make the Tag and Value elements 'mandatory' > 3. Implement Context as > { > "Weather": N ### Optional > "Ext": {"ContextTag": N "ContextValue":V} ### Optional Ext with mandatory Tag/Value > } -- This message was sent by Atlassian JIRA (v6.2.2#6258)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]