OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

coel message

[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": {"Tag": N "Value":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":{"Tag": N, "Value": N}},
"Str":{"Tag": N, "Value": N}},
"Flt":{"Tag": N, "Value": 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": {"Tag": N "Value":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]