[
https://issues.apache.org/jira/browse/TINKERPOP-1036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15072974#comment-15072974
]
ASF GitHub Bot commented on TINKERPOP-1036:
-------------------------------------------
Github user okram commented on the pull request:
https://github.com/apache/incubator-tinkerpop/pull/175#issuecomment-167622062
From what I can tell from the code in this PR, there is nothing "too crazy"
here save that you assume incoming edges and not outgoing edges, where outgoing
edges are the typical "lowest common denominator" for a format. That is, most
people, if they don't have the full "star graph" will have at least outgoing
edges for each vertex (NOT incoming edges). I don't know why you require
incoming edges, but okay... I assume you have your reasons. If you can make it
work without that assumption, that would be best (I suppose).
Next, I don't know how `StarGraph` plays into this. Is `StarGraph` failing
with self-loops? `StarGraph` is serialized via `Gryo` (see `VertexWritable` as
well). If GryoReader/Writer is happy, then I suspect things will work with all
the Hadoop/Spark/etc. work. However, it would be best if we had some self-loop
tests. What sucks is we don't have a `GraphLoader.SELF_LOOPS` style toy dataset
and with `HadoopGraph`, you can't mutate the graph.............................
> Support self-looping edges in IO
> --------------------------------
>
> Key: TINKERPOP-1036
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1036
> Project: TinkerPop
> Issue Type: Bug
> Components: io
> Affects Versions: 3.1.0-incubating
> Reporter: stephen mallette
> Assignee: stephen mallette
> Fix For: 3.1.1-incubating
>
>
> Seems like GraphSON is having trouble with self-loops. Not sure about other
> IO at this time.
> {code}
> gremlin> a = TinkerGraph.open()
> ==>tinkergraph[vertices:0 edges:0]
> gremlin> v1 = a.addVertex()
> ==>v[0]
> gremlin> v2 = a.addVertex()
> ==>v[1]
> gremlin> control = v1.addEdge("CONTROL", v2)
> ==>e[2][0-CONTROL->1]
> gremlin> selfLoop = v1.addEdge("SELF-LOOP", v1)
> ==>e[3][0-SELF-LOOP->0]
> gremlin> a.io(IoCore.graphson()).writeGraph("test.gson")
> ==>null
> gremlin> b = TinkerGraph.open()
> ==>tinkergraph[vertices:0 edges:0]
> gremlin> b.io(IoCore.graphson()).readGraph("test.gson")
> ==>null
> gremlin> b.traversal().E()
> ==>e[2][0-CONTROL->1]
> {code}
> with graphson of:
> {code}
> {"id":0,"label":"vertex","inE":{"SELF-LOOP":[{"id":3,"outV":0}]},"outE":{"CONTROL":[{"id":2,"inV":1}]}}
> {"id":1,"label":"vertex","inE":{"CONTROL":[{"id":2,"outV":0}]}}
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)