You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 9, 2017. It is now read-only.
I think that the easiest and most effective to implement a Network ( a graph also able to store edge and vertex properties), would require a little change in the direction of abstraction in LightGraphs.jl.
Its a matter of few lines of code and have the following type structure:
abstract SimpleGraph
"""Abstract graph typeRequirements: - vertices are numbers in [1,N] - edges are pair of vertices - ... minimal api... (add/remove vertex/edge etc..)"""
abstract Graph <:SimpleGraph
type LightGraph <:Graph
vertices::UnitRange{Int}
edges::Set{Edge}
fadjlist::Vector{Vector{Int}}# [src]: (dst, dst, dst)
badjlist::Vector{Vector{Int}}# [dst]: (src, src, src)end
And obtain for free all the functionality of LightGraph, without any metaprogramming trick.
I wonder what @sbromberger and @jpfairbanks think about this...
I think that the easiest and most effective to implement a Network ( a graph also able to store edge and vertex properties), would require a little change in the direction of abstraction in LightGraphs.jl.
Its a matter of few lines of code and have the following type structure:
Then in Networks.jl we could have
And obtain for free all the functionality of LightGraph, without any metaprogramming trick.
I wonder what @sbromberger and @jpfairbanks think about this...