EvolvingGraphs: working with time-dependent networks in Julia
Installation
Install Julia v0.6.0 or later, if you haven't already.
julia> Pkg.add("EvolvingGraphs")
Get Started
We model a time-dependent network, a.k.a an evolving graph, as a ordered sequence of static graphs such that each static graph represents the interaction between nodes at a specific time stamp. The figure below shows an evolving graph with 3 timestamps.
Using EvolvingGraphs
, we could simply construct this graph by using the function add_bunch_of_edges!
, which adds a list of edges all together.
julia> using EvolvingGraphs
julia> g = EvolvingGraph()
Directed EvolvingGraph 0 nodes, 0 static edges, 0 timestamps
julia> add_bunch_of_edges!(g, [(1,2,1),(1,3,2),(2,3,3)])
Directed EvolvingGraph 3 nodes, 3 static edges, 3 timestamps
julia> edges(g)
3-element Array{EvolvingGraphs.WeightedTimeEdge{EvolvingGraphs.Node{Int64},Int64,Float64},1}:
Node(1)-1.0->Node(2) at time 1
Node(1)-1.0->Node(3) at time 2
Node(2)-1.0->Node(3) at time 3
Index
EvolvingGraphs.AbstractEdge
EvolvingGraphs.AbstractEvolvingGraph
EvolvingGraphs.AbstractGraph
EvolvingGraphs.AbstractNode
EvolvingGraphs.AbstractPath
EvolvingGraphs.AbstractStaticGraph
EvolvingGraphs.AttributeNode
EvolvingGraphs.DiGraph
EvolvingGraphs.Edge
EvolvingGraphs.EvolvingGraph
EvolvingGraphs.IntAdjacencyList
EvolvingGraphs.MatrixList
EvolvingGraphs.Node
EvolvingGraphs.TemporalPath
EvolvingGraphs.TimeEdge
EvolvingGraphs.TimeNode
EvolvingGraphs.WeightedTimeEdge
Base.issorted
EvolvingGraphs.Centrality.katz
EvolvingGraphs.active_nodes
EvolvingGraphs.add_bunch_of_edges!
EvolvingGraphs.add_edge!
EvolvingGraphs.add_graph!
EvolvingGraphs.add_node!
EvolvingGraphs.adjacency_matrix
EvolvingGraphs.aggregate_graph
EvolvingGraphs.backward_neighbors
EvolvingGraphs.breadth_first_impl
EvolvingGraphs.depth_first_impl
EvolvingGraphs.edge_reverse
EvolvingGraphs.edge_timestamp
EvolvingGraphs.edge_weight
EvolvingGraphs.edges
EvolvingGraphs.evolving_graph_from_arrays
EvolvingGraphs.evolving_graph_to_adj
EvolvingGraphs.evolving_graph_to_matrices
EvolvingGraphs.find_node
EvolvingGraphs.forward_neighbors
EvolvingGraphs.has_node
EvolvingGraphs.in_degree
EvolvingGraphs.in_edges
EvolvingGraphs.is_directed
EvolvingGraphs.matrices
EvolvingGraphs.node_attributes
EvolvingGraphs.node_index
EvolvingGraphs.node_key
EvolvingGraphs.node_timestamp
EvolvingGraphs.nodes
EvolvingGraphs.num_active_nodes
EvolvingGraphs.num_edges
EvolvingGraphs.num_matrices
EvolvingGraphs.num_nodes
EvolvingGraphs.num_timestamps
EvolvingGraphs.out_degree
EvolvingGraphs.out_edges
EvolvingGraphs.random_evolving_graph
EvolvingGraphs.random_graph
EvolvingGraphs.slice_timestamps
EvolvingGraphs.slice_timestamps!
EvolvingGraphs.sort_timestamps
EvolvingGraphs.sort_timestamps!
EvolvingGraphs.source
EvolvingGraphs.sparse_adjacency_matrix
EvolvingGraphs.target
EvolvingGraphs.timestamps
EvolvingGraphs.unique_timestamps