I think I got ahead of things with this one. Doing this will create a bunch
of inconsistencies among versions which just seem weird. I think this
change is now more like:

1. Get out GraphSON 3.0+untyped to consistently have an untyped option
across versions. It will basically match the other untyped versions.
2. Reserve the listed changes for GraphSON 4.0/GraphBinary 2.0. We could
probably use that opportunity to get rid of the JVM types. I'll create a
few JIRAs and leave it at that for now.



On Wed, Jul 12, 2023 at 12:44 PM Stephen Mallette <spmalle...@gmail.com>
wrote:

> As a final thing in the serialization work I picked up, I think we need
> untyped GraphSON 3.0 to go along with 1.0 and 2.0 so basically:
>
> application/vnd.gremlin-v3.0+json;types=false
>
> I think it follows 1.0 untyped more closely than 2.0 untyped because 1.0
> was much easier to consume. The basic premise here will be to follow 1.0
> format:
>
> https://tinkerpop.apache.org/docs/3.6.4/dev/io/#graphson-1d0
>
> with a few changes/additions:
>
> 1. allow for multi-label on vertices as more graphs are allowing that
> these days.
> 2. use our "~" prefix for any structural/reserved keys like T.label or
> T.id for example
> 3. possibly get the Tree right (though we dont even have that for typed
> GraphSON 3.0 - maybe something like:
>
> {
>   "node": {},
>   "children": [{
>           "node": {},
>           "children": []
>   },
>   {
>            "node": {},
>            "children": []
>   },
>   {
>            "node": {},
>            "children": [{
>                    "node": {},
>                    "children": []
>             }]
>   }]
> }
>
> please let me know if there's anything else to include.
>
>
>
>

Reply via email to