You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@giraph.apache.org by Hai Lan <la...@gmail.com> on 2016/09/23 15:15:01 UTC

remove edges

Dear all,

I am new to Giraph and facing a problem to remove edges. I'm trying to
remove all edges pointed to some specific vertexes before next superstep.
e.g. vertex value =0 by using

removeEdges()

my input file are like:
[0,0.0,[[0,0]]]
[1,1.0,[[0,0]]]
[2,1.0,[[0,0],[1,0]]]
[3,1.0,[[0,0],[1,0],[2,0]]]

After I used removeEdges(vertex.getId()), I used vertex.getNumEdges() to
count how many edges left. The problem is :
my expected output should be the outdegree of 0,1,2,3 are 0,0,1,2 cause
edge to vertex 0 is removed. However, it seems like edge of vertex 0 is
removed cause edge of vertex 0 became 0. However, other vertex edge number
just remained the same, like vertex 1 still be 1 though it has an edge
pointed to 0.
BTW, I used JsonLongDoubleFloatDoubleVertexInputFormat to input.

Does anyone have idea about this?

Thank you so much for your help.

Best,

Hai

Re: remove edges

Posted by Sergey Edunov <ed...@apache.org>.
Hi Hai,

removeEdges() only removes edges from the vertex you have called this
function on. So, if you call it on vertex 0 and request to remove
edges to vertex 0, it will only remove one specific edge in your case
[0 -> 0]. If you need to remove all edges that point to vertex 0 you
need to call removeEdges(new LongWritable(0)) on all vertices.

Regards,
Sergey Edunov

On Fri, Sep 23, 2016 at 8:15 AM, Hai Lan <la...@gmail.com> wrote:
> Dear all,
>
> I am new to Giraph and facing a problem to remove edges. I'm trying to
> remove all edges pointed to some specific vertexes before next superstep.
> e.g. vertex value =0 by using
>
> removeEdges()
>
> my input file are like:
> [0,0.0,[[0,0]]]
> [1,1.0,[[0,0]]]
> [2,1.0,[[0,0],[1,0]]]
> [3,1.0,[[0,0],[1,0],[2,0]]]
>
> After I used removeEdges(vertex.getId()), I used vertex.getNumEdges() to
> count how many edges left. The problem is :
> my expected output should be the outdegree of 0,1,2,3 are 0,0,1,2 cause edge
> to vertex 0 is removed. However, it seems like edge of vertex 0 is removed
> cause edge of vertex 0 became 0. However, other vertex edge number just
> remained the same, like vertex 1 still be 1 though it has an edge pointed to
> 0.
> BTW, I used JsonLongDoubleFloatDoubleVertexInputFormat to input.
>
> Does anyone have idea about this?
>
> Thank you so much for your help.
>
> Best,
>
> Hai