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)

Reply via email to