[ 
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)

Reply via email to