Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: LG abstraction #25

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

WIP: LG abstraction #25

wants to merge 14 commits into from

Conversation

rohitvarkey
Copy link
Collaborator

@rohitvarkey rohitvarkey commented Apr 5, 2017

WIP PR Experimenting with using the LightGraphs abstractions.

Constructing and modifying the graph

  • Graph
  • DiGraph
  • add_edge!
  • rem_edge!
  • add_vertex!, add_vertices!
  • rem_vertex!
  • zero

Edge/Arc interface

  • src
  • dst
  • reverse
  • ==
  • Pair / Tuple conversion

Accessing state

  • nv
  • ne
  • vertices (Iterable)
  • edges (Iterable)
  • neighbors, in_neighbors, out_neighbors
  • in_edges
  • out_edges
  • has_vertex
  • has_edge
  • has_self_loops (though this might be a trait or an abstract graph type)

Non-Core APIs

  • adjacency_matrix
  • degree

With respect to #14 , I have an edges iterator implemented in this PR that iterates through all the edges in the Stinger graph. It still needs some checks to skip blank edgeblocks and also needs iterate till finding a valid edgeblock in start. I think I can backport this to replace the current foralledges with a actual Julia iterator after modifying it for the edgeblocks of a vertex.

When this PR gets merged, StingerLG will become Stinger and StingerWrapper will become 0.6 only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant