Marko A. Rodriguez created TINKERPOP-1427:
---------------------------------------------
Summary: GraphSON 2.0 needs collection types and consistent number
typing.
Key: TINKERPOP-1427
URL: https://issues.apache.org/jira/browse/TINKERPOP-1427
Project: TinkerPop
Issue Type: Improvement
Components: io
Affects Versions: 3.2.1
Reporter: Marko A. Rodriguez
Before 3.3.0, we need to get the story around collections straight. Currently
we are relying on JSON collections to represent our collections, but this isn't
always sound -- e.g. JSON maps can only have string keys.
Thus, we need:
{code}
g:Map
g:List
g:Set
{code}
Note that all of these would just be JSON lists:
{code}
{@type:"g:Map", @value:[key1,value1,key2,value2,key3,value3,...]}
{@type:"g:List", @value:[value1, value2, value3,...]}
{@type:"g:Set", @value:[value1, value2, value3,...]}
{code}
---
Next, these data structures are exactly what play into {{aggregateTo}} in
sideEffects for {{RemoteConnection}}. Thus, we should use these types and, as
well, get rid of {{none}} as the aggregate would be a real type like
{{g:Int32}}.
Also, I think we should abandon this hybrid physical machine naming convention
and programming language type convention.
{code}
g:Int32 -> g:Integer
g:Int64 -> g:Long
g:Double -> g:Double (no change)
g:Float -> g:Float (no change)
{code}
If we want to be consistent either do the above or do the below, though I think
the above is cleaner.
{code}
g:Int32 -> g:Int32
g:Int64 -> g:Int64
g:Float -> g:Float32
g:Double -> g:Float64
{code}
Again, using programming lexicon vs. physical machine lexicon is best and thus,
just gut "int32" and "int64."
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)