[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17329575#comment-17329575 ] Flink Jira Bot commented on FLINK-1815: --- This issue is assigned but has not received an update in 7 days so it has been labeled "stale-assigned". If you are still working on the issue, please give an update and remove the label. If you are no longer working on the issue, please unassign so someone else may work on it. In 7 days the issue will be automatically unassigned. > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Library / Graph Processing (Gelly) >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > Labels: stale-assigned, stale-minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17321767#comment-17321767 ] Flink Jira Bot commented on FLINK-1815: --- This issue and all of its Sub-Tasks have not been updated for 180 days. So, it has been labeled "stale-minor". If you are still affected by this bug or are still interested in this issue, please give an update and remove the label. In 7 days the issue will be closed automatically. > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Library / Graph Processing (Gelly) >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > Labels: stale-minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15541994#comment-15541994 ] Faye Beligianni commented on FLINK-1815: Hey, I am not sure why I wasn't aware of the {{FieldParser}}'s functionality, that would have save me a lot of time since I wouldn't have to use the {{GraphAdjacencyListReader.fromString()}} and test again and again the parsing functionality :/ . I am sorry for that, but of course I can/will change that. Regarding the string splits and concatenations, since I read the file with the {{readTextFile}} method, I used java's {{String.split}} method for the splits. I split each line with respect to the delimiters separating: the source from the neighbours, the vertex ids from the vertex/edge values e.t.c. . Again, please tell me if there is a better way to perform the splits of a text line. If though you believe that this read/write a Graph as adjacency list issue should be approached in a much different way, than the one I implemented, of course I have no problem to reassign the ticket, or reject the PR and discuss further the implementation of this issue. > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15536120#comment-15536120 ] Vasia Kalavri commented on FLINK-1815: -- The motivation for this issue was to (1) provide an easy way to read graph data that is stored in adjacency list format and (2) provide a way to store a graph as an adjacency list instead of an edge list, since adjacency list format is more compact. Why do you think we're creating our own format? Adjacency list format is a CSV file format, i.e. each line contains a vertex following by the list of neighbors. Regarding the 2 last points, I guess you're referring to the PR implementation. I haven't reviewed that, but if there is parsing functionality that we can use, we should. > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15536006#comment-15536006 ] Greg Hogan commented on FLINK-1815: --- Questions: - It feels like we're making up our own format (as opposed to something common like CSV), is there data stored in this adjacency list format? Is this better than storing separate CSV files for the vertex and edge sets? Writing the graph in this form requires a cogroup and reading often requires parsing the file twice. - Performance of string splits and concatenations. - Flexibility and performance of {{GraphAdjacencyListReader.fromString()}} compared with using {{FieldParser}}'s. > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15535748#comment-15535748 ] Vasia Kalavri commented on FLINK-1815: -- Hi [~fobeligi], representing a graph as an adjacency list is a separate and larger issue, which should be handled independently from this one in my view. If I'm not mistaken, in PR #2178 you have already implemented the functionality described in this issue. If there are no outstanding comments in the PR or issues to address, I think we should merge it. > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15535717#comment-15535717 ] Faye Beligianni commented on FLINK-1815: Hello [~greghogan], maybe it would be a good idea to reassign this Jira issue to you, so that you can work on it on a more appropriate way when the system will be able to store graphs as adjacency lists too? If you agree, please feel free to reassign the ticket :) > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15384687#comment-15384687 ] Faye Beligianni commented on FLINK-1815: Hi, I find the idea of storing graphs as adjacency lists very interesting, as for me representing a graph in an adjacency list format is a bit more intuitive than having different datasets for edges and vertices. That will make it also easier to read and write the adjacency list file. Regarding the {{Graph.writeAsCSV}} wrapper it should create two CSV files; one for the edges dataset and one for the vertices dataset and to be honest I thought that this functionality already existed :) I agree that the {{GraphAdjacencyListReader.fromString}} solution is not future-proof, but I could not find any better solution for simple text files, which was the requirement one year back when this ticket opened. Using {{CSVInputFormat}} and {{FieldParser}}, will be more stable indeed. I suppose a new class e.g. {{AdjacencyCSVInputFormat}} (like {{TupleCSVInputFormat}} class) should be created. The only issue that I see now is that for reading an adjacency list formatted CSV file, there should be more than two delimiters: * line_delimiter * source_vertex-neighbors_delimiter * vertexId-vertexValue_delimiter * neighbors_delimiter > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15382306#comment-15382306 ] Greg Hogan commented on FLINK-1815: --- One area I would like to explore with the next release is storing graphs as adjacency lists (dependent on FLINK-3695). Depending on if this is successful and depending on how these are represented, would it be better to read and write the adjacency list CSV from/to an adjacency list Graph? {{CsvInputFormat}} uses {{FieldParser}} to convert raw input to the proper type. I think this is more future-proof than this PR's {{GraphAdjacencyListReader.fromString}}. I don't know if there are thoughts on allowing users to register a {{FieldParser}} for a custom type. I'm not seeing a {{Graph.writeAsCsv}} wrapper around {{DataSet.writeAsCsv}}. If not implemented this might be nice to add on different ticket. Thoughts? > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15364578#comment-15364578 ] Faye Beligianni commented on FLINK-1815: Ok then! Let me know if you have any comments/corrections when you have time to review it. > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15364530#comment-15364530 ] Greg Hogan commented on FLINK-1815: --- With Gelly I usually look for at least one green test and you have three. There was a commit earlier today which splits the tests to work around the 2 hr limit. > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15364470#comment-15364470 ] Faye Beligianni commented on FLINK-1815: Hello, I've opened a pull request for this issue. All tests succeeded, but the 2 [[JDK:oraclejdk8]] build jobs even though they succeed, the test run exceeded 120 min and are reported as failed. Is there anything I can do for this? Thanks! > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15349638#comment-15349638 ] Faye Beligianni commented on FLINK-1815: I think I found what was wrong! ignore the above question > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15349585#comment-15349585 ] Faye Beligianni commented on FLINK-1815: I faced the following problem when I try to test the scala {{fromAdjacencyListFile}} method. The {{fromAdjacencyListFile}} scala method is actually a wrapper of the corresponding java code. In the scala test method, I create a temporary file which represents the Adjacency List formatted text file,like this: {code:scala} val adjFileContent = "0-Node0\t1-0.1,4-0.2,5-0.3\n" + "1-Node1\t2-0.3\n" + "2-Node2 3-0.3\n" + "3-Node3 \n" + "4-Node4\n" + "5-Node5 6-0.7\n" + "6-Node6 3-0.2\n" + "7-Node7 4-0.1\n" + "8-Node8 0-0.2\n" val adjFileSplit = createTempFile(adjFileContent) {code} Just for clarification, in the "0-Node0\t1-0.1,4-0.2,5-0.3\n" line of a Adjacency list formatted text file: srcvertex-id : 0 srcVertex-value : Node0 neighbours : 1,4,5 , with 0.1,0.2,0.3 being the corresponding edge values for each edge between the srcVertex and its neighbours. When I read the file and split each line of the file, in order to create the graph, I noticed that I can split the srcVertex from its neighbours, when there is a "\t" character, but not when I have just a whitespace character (" "). I didn't faced this problem in the java tests. I use the split method in order to split the lines in the specified delimiters. {code:java} line.split("\\s+") {code} Any suggestions on how to handle this? > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15344651#comment-15344651 ] Faye Beligianni commented on FLINK-1815: Thank you [~greghogan], that worked! > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15344503#comment-15344503 ] Greg Hogan commented on FLINK-1815: --- [~fobeligi] If you are using IntelliJ, look in Settings under Editor -> Code Style -> Java and change "Class count to use import with '*'" and "Names count to use static import with '*'" to something like 999, then do an "organize imports". > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15344471#comment-15344471 ] Faye Beligianni commented on FLINK-1815: Hi [~vkalavri], code is ready and tests are running, the only minor issue is that I get some checkstyle errors in "src/main/java/org/apache/flink/graph/Graph.java" file, for code that I haven't written, e.g.: "AvoidStarImport: Using the '.*' form of import should be avoided - org.apache.flink.graph.gsa.*." I suppose that this would be a reason to fail in travis. Should I ignore them and do the pull request ? > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15338596#comment-15338596 ] Vasia Kalavri commented on FLINK-1815: -- Hi [~fobeligi], are you by any chance still working on this or shall I release it? Thanks! > Add methods to read and write a Graph as adjacency list > --- > > Key: FLINK-1815 > URL: https://issues.apache.org/jira/browse/FLINK-1815 > Project: Flink > Issue Type: New Feature > Components: Gelly >Affects Versions: 0.9 >Reporter: Vasia Kalavri >Assignee: Faye Beligianni >Priority: Minor > > It would be nice to add utility methods to read a graph from an Adjacency > list format and also write a graph in such a format. > The simple case would be to read a graph with no vertex or edge values, where > we would need to define (a) a line delimiter, (b) a delimiter to separate > vertices from neighbor list and (c) and a delimiter to separate the neighbors. > For example, "1 2,3,4\n2 1,3" would give vertex 1 with neighbors 2, 3 and 4 > and vertex 2 with neighbors 1 and 3. > If we have vertex values and/or edge values, we also need to have a way to > separate IDs from values. For example, we could have "1 0.1 2 0.5, 3 0.2" to > define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) > with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14642590#comment-14642590 ] Andra Lungu commented on FLINK-1815: Sure Faye, you're added :P One first challenge I see regarding this issue is that vertex a will have more neighbours in the adjacency list than say vertex b... Then, [~vkalavri], I believe we run into the exact same problem as when we tried to support POJOs in Graph.fromCSV(). Sure, it apparently looks easy: you have a b,c,d and you want to do a sort of flatMap to output a-b; a-c; a-d, the problem is how do you abstract the b,c,d there? Could be a wrapper over Tuple3, but then you can have Tuple1000 there for a skewed vertex. Add methods to read and write a Graph as adjacency list --- Key: FLINK-1815 URL: https://issues.apache.org/jira/browse/FLINK-1815 Project: Flink Issue Type: New Feature Components: Gelly Affects Versions: 0.9 Reporter: Vasia Kalavri Assignee: Faye Beligianni Priority: Minor It would be nice to add utility methods to read a graph from an Adjacency list format and also write a graph in such a format. The simple case would be to read a graph with no vertex or edge values, where we would need to define (a) a line delimiter, (b) a delimiter to separate vertices from neighbor list and (c) and a delimiter to separate the neighbors. For example, 1 2,3,4\n2 1,3 would give vertex 1 with neighbors 2, 3 and 4 and vertex 2 with neighbors 1 and 3. If we have vertex values and/or edge values, we also need to have a way to separate IDs from values. For example, we could have 1 0.1 2 0.5, 3 0.2 to define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14642522#comment-14642522 ] Faye Beligianni commented on FLINK-1815: Nice! I will maybe pink you for any questions regarding Gelly. Could you maybe add me in skype? skypename: fay.beligianni Add methods to read and write a Graph as adjacency list --- Key: FLINK-1815 URL: https://issues.apache.org/jira/browse/FLINK-1815 Project: Flink Issue Type: New Feature Components: Gelly Affects Versions: 0.9 Reporter: Vasia Kalavri Assignee: Faye Beligianni Priority: Minor It would be nice to add utility methods to read a graph from an Adjacency list format and also write a graph in such a format. The simple case would be to read a graph with no vertex or edge values, where we would need to define (a) a line delimiter, (b) a delimiter to separate vertices from neighbor list and (c) and a delimiter to separate the neighbors. For example, 1 2,3,4\n2 1,3 would give vertex 1 with neighbors 2, 3 and 4 and vertex 2 with neighbors 1 and 3. If we have vertex values and/or edge values, we also need to have a way to separate IDs from values. For example, we could have 1 0.1 2 0.5, 3 0.2 to define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14642505#comment-14642505 ] Faye Beligianni commented on FLINK-1815: Hey [~andralungu], I was thinking of working on it this week (I had my vacation previous week ), but of course if you think you should work on it or maybe have already started, you can reassign it. Let me know what did you decide. Add methods to read and write a Graph as adjacency list --- Key: FLINK-1815 URL: https://issues.apache.org/jira/browse/FLINK-1815 Project: Flink Issue Type: New Feature Components: Gelly Affects Versions: 0.9 Reporter: Vasia Kalavri Assignee: Faye Beligianni Priority: Minor It would be nice to add utility methods to read a graph from an Adjacency list format and also write a graph in such a format. The simple case would be to read a graph with no vertex or edge values, where we would need to define (a) a line delimiter, (b) a delimiter to separate vertices from neighbor list and (c) and a delimiter to separate the neighbors. For example, 1 2,3,4\n2 1,3 would give vertex 1 with neighbors 2, 3 and 4 and vertex 2 with neighbors 1 and 3. If we have vertex values and/or edge values, we also need to have a way to separate IDs from values. For example, we could have 1 0.1 2 0.5, 3 0.2 to define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14642518#comment-14642518 ] Andra Lungu commented on FLINK-1815: Hey, No, I did not start, I was waiting for your consent... If you look at it this week, that would definitely lift some weight off my shoulders as I have some other things to finish :) It's all yours! Thanks! Let us know if you have questions. Add methods to read and write a Graph as adjacency list --- Key: FLINK-1815 URL: https://issues.apache.org/jira/browse/FLINK-1815 Project: Flink Issue Type: New Feature Components: Gelly Affects Versions: 0.9 Reporter: Vasia Kalavri Assignee: Faye Beligianni Priority: Minor It would be nice to add utility methods to read a graph from an Adjacency list format and also write a graph in such a format. The simple case would be to read a graph with no vertex or edge values, where we would need to define (a) a line delimiter, (b) a delimiter to separate vertices from neighbor list and (c) and a delimiter to separate the neighbors. For example, 1 2,3,4\n2 1,3 would give vertex 1 with neighbors 2, 3 and 4 and vertex 2 with neighbors 1 and 3. If we have vertex values and/or edge values, we also need to have a way to separate IDs from values. For example, we could have 1 0.1 2 0.5, 3 0.2 to define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14641562#comment-14641562 ] Andra Lungu commented on FLINK-1815: Hi [~fobeligi], [~vkalavri], I need this task for graph partitioning. It's been up here for a while... If nobody is working on it, I'll take it! Add methods to read and write a Graph as adjacency list --- Key: FLINK-1815 URL: https://issues.apache.org/jira/browse/FLINK-1815 Project: Flink Issue Type: New Feature Components: Gelly Affects Versions: 0.9 Reporter: Vasia Kalavri Assignee: Faye Beligianni Priority: Minor It would be nice to add utility methods to read a graph from an Adjacency list format and also write a graph in such a format. The simple case would be to read a graph with no vertex or edge values, where we would need to define (a) a line delimiter, (b) a delimiter to separate vertices from neighbor list and (c) and a delimiter to separate the neighbors. For example, 1 2,3,4\n2 1,3 would give vertex 1 with neighbors 2, 3 and 4 and vertex 2 with neighbors 1 and 3. If we have vertex values and/or edge values, we also need to have a way to separate IDs from values. For example, we could have 1 0.1 2 0.5, 3 0.2 to define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14392327#comment-14392327 ] Faye Beligianni commented on FLINK-1815: Hello [~vkalavri], I would like to work on this issue for Gelly. It sounds interesting and a good opportunity for me to find out more about Gelly API. Faye Add methods to read and write a Graph as adjacency list --- Key: FLINK-1815 URL: https://issues.apache.org/jira/browse/FLINK-1815 Project: Flink Issue Type: New Feature Components: Gelly Affects Versions: 0.9 Reporter: Vasia Kalavri Priority: Minor It would be nice to add utility methods to read a graph from an Adjacency list format and also write a graph in such a format. The simple case would be to read a graph with no vertex or edge values, where we would need to define (a) a line delimiter, (b) a delimiter to separate vertices from neighbor list and (c) and a delimiter to separate the neighbors. For example, 1 2,3,4\n2 1,3 would give vertex 1 with neighbors 2, 3 and 4 and vertex 2 with neighbors 1 and 3. If we have vertex values and/or edge values, we also need to have a way to separate IDs from values. For example, we could have 1 0.1 2 0.5, 3 0.2 to define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-1815) Add methods to read and write a Graph as adjacency list
[ https://issues.apache.org/jira/browse/FLINK-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14392377#comment-14392377 ] Vasia Kalavri commented on FLINK-1815: -- Thanks [~fobeligi]! I'll assign it to you then. Let me know if you have any questions :) Add methods to read and write a Graph as adjacency list --- Key: FLINK-1815 URL: https://issues.apache.org/jira/browse/FLINK-1815 Project: Flink Issue Type: New Feature Components: Gelly Affects Versions: 0.9 Reporter: Vasia Kalavri Priority: Minor It would be nice to add utility methods to read a graph from an Adjacency list format and also write a graph in such a format. The simple case would be to read a graph with no vertex or edge values, where we would need to define (a) a line delimiter, (b) a delimiter to separate vertices from neighbor list and (c) and a delimiter to separate the neighbors. For example, 1 2,3,4\n2 1,3 would give vertex 1 with neighbors 2, 3 and 4 and vertex 2 with neighbors 1 and 3. If we have vertex values and/or edge values, we also need to have a way to separate IDs from values. For example, we could have 1 0.1 2 0.5, 3 0.2 to define a vertex 1 with value 0.1, edge (1, 2) with weight 0.5 and edge (1, 3) with weight 0.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)