[ 
https://issues.apache.org/jira/browse/TINKERPOP-1274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15428652#comment-15428652
 ] 

ASF GitHub Bot commented on TINKERPOP-1274:
-------------------------------------------

Github user okram commented on the issue:

    https://github.com/apache/tinkerpop/pull/386
  
    First off. Thank you for doing this. Here are some notes.
    
    1. The term is "namespace" not "domain." In case that terminology is used 
in the documentation and not just in the PR notes.
    
    2. Why do we have `@class` and `@type`. Seems we should just pick one. And 
if the answer is cause `@class` is for Java object mapping infrastructure, that 
isn't good and we will also use GraphSON to create `Vertex` objects in Python 
and it might use UUID for its ID as well. Thus, `@class=UUID` is perhaps 
`@type=UUID`. That is, if an object is "typed" its `@type` and the resolver 
(for that language) will have to map the correct class.
    
    3. I read your notes, but its still not clear to me. Why do we have 
`@value`? I think we only need `@type` (or `@class`) and then the rest of the 
JSON object data is up to the type serializer/deserializer. For instance, in 
`Bytecode` (TINKEROP-1278) we have `@type=Lambda` and then `value`, `language`, 
`arguments`. That is, there are 3 "values" we need to make the object and thus 
`@value` shouldn't be special with a `@`. Plus, we save a char.
    
    4. I think we can save some bytes and still be readable if we make our 
namespace `g` instead of `gremlin`. Moreover, we should be consistent in our 
naming convention and either use some standard JSON naming or default to Java 
naming -- e.g. `g:vertexProperty`. Or better yet, if its NOT namespaced, its 
assumed to be "Gremlin". That is, TinkerPop owns `vertex`, `vertexProperty`, 
`edge`. You want to do something else -- its `myapp:vertex`. This also means we 
own `uuid`, `int64`, etc. etc.
    
    Thanks again for the extensive work.


> GraphSON Version 2.0
> --------------------
>
>                 Key: TINKERPOP-1274
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1274
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: io
>    Affects Versions: 3.1.2-incubating
>            Reporter: stephen mallette
>            Priority: Minor
>             Fix For: 3.2.2
>
>
> Develop a revised version of GraphSON that provides better support for 
> non-JVM languages that consume it. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to