[ 
https://issues.apache.org/jira/browse/GIRAPH-141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

André Kelpe updated GIRAPH-141:
-------------------------------

    Description: 
The current vertex API only supports simple graphs, meaning that there can only 
ever be one edge between two vertices. Many graphs like the road network are in 
fact multigraphs, where many edges can connect two vertices at the same time.

Support for this could be added by introducing an Iterator<EdgeWritable> 
getEdgeValue() or a similar construct. Maybe introducing a slim object like a 
Connector between the edge and the vertex is also a good idea, so that you 
could do something like:

{code} 
for (final Connector<EdgeWritable, VertexWritable> conn: getEdgeValues(){
     final EdgeWritable edge = conn.getEdge();
     final VertexWritable otherVertex = conn.getOther();
     doInterestingStuff(otherVertex);
     doMoreInterestingStuff(edge);
}
{code} 


  was:
The current vertex API only supports simple graphs, meaning that there can only 
ever be one edge between two vertices. Many graphs like the road network are in 
fact multigraphs, where many edges can connect two vertices at the same time.

Support for this could be added by introducing an Iterator<EdgeWritable> 
getEdgeValue() or a similar construct. Maybe introducing a slim object like a 
Connector between the edge and the vertex is also a good idea, so that you 
could do something like:

{code} 
for (final Connector<EdgeWritable, VertexWritable> conn: getEdgeValues(){
     final EdgeWritable edge = conn.getEdge();
     final VertexWritable otherVertex = conn.getOther();
    // do interesting stuff
}
{code} 


    
> mulitgraph support in giraph
> ----------------------------
>
>                 Key: GIRAPH-141
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-141
>             Project: Giraph
>          Issue Type: Improvement
>          Components: graph
>            Reporter: André Kelpe
>
> The current vertex API only supports simple graphs, meaning that there can 
> only ever be one edge between two vertices. Many graphs like the road network 
> are in fact multigraphs, where many edges can connect two vertices at the 
> same time.
> Support for this could be added by introducing an Iterator<EdgeWritable> 
> getEdgeValue() or a similar construct. Maybe introducing a slim object like a 
> Connector between the edge and the vertex is also a good idea, so that you 
> could do something like:
> {code} 
> for (final Connector<EdgeWritable, VertexWritable> conn: getEdgeValues(){
>      final EdgeWritable edge = conn.getEdge();
>      final VertexWritable otherVertex = conn.getOther();
>      doInterestingStuff(otherVertex);
>      doMoreInterestingStuff(edge);
> }
> {code} 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to