diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 5d2ccc7..f8a3745 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2023-11-28T16:07:32","documenter_version":"1.1.2"}} \ No newline at end of file +{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2024-05-21T12:12:06","documenter_version":"1.1.2"}} \ No newline at end of file diff --git a/dev/API/index.html b/dev/API/index.html index 98bcea9..d45c279 100644 --- a/dev/API/index.html +++ b/dev/API/index.html @@ -3,56 +3,56 @@ ng::NestedGraph, ce::NestedEdge ) -> Graphs.SimpleGraphs.SimpleEdge{Int64} -

Convert a local view NestedEdge to a global view

source
NestedGraphs.getallsubgraphpathsMethod
getallsubgraphpaths(
+

Convert a local view NestedEdge to a global view

source
NestedGraphs.getallsubgraphpathsMethod
getallsubgraphpaths(
     ng::NestedGraph;
     startingpath
 ) -> Union{Nothing, Vector{Vector{Int64}}}
-

Get all id path that lead to a subgraph, starting with startingpath. If no startingpath is given, search all subgraphs.

source
NestedGraphs.getallsubverticesMethod
getallsubvertices(ng; startingpath) -> Any
-

Get all subvertices categorized per subgraph.

source
NestedGraphs.getfoldedgraphMethod
getfoldedgraph(
+

Get all id path that lead to a subgraph, starting with startingpath. If no startingpath is given, search all subgraphs.

source
NestedGraphs.getallsubverticesMethod
getallsubvertices(ng; startingpath) -> Any
+

Get all subvertices categorized per subgraph.

source
NestedGraphs.getfoldedgraphMethod
getfoldedgraph(
     ng::NestedGraph,
     subgrpaths::Array{Array{T<:Integer, 1}, 1}
 ) -> Any
-

Get flat graph by substituting graphs identified with subgrpaths with nodes. Return also a mapping.

source
NestedGraphs.getgraphMethod
getgraph(
+

Get flat graph by substituting graphs identified with subgrpaths with nodes. Return also a mapping.

source
NestedGraphs.getgraphMethod
getgraph(
     ng::NestedGraph
 ) -> AbstractGraph{T} where T<:Integer
-

Get the flat graph NestedGraph.flatgr

source
NestedGraphs.getmlsquashedgraphMethod
getmlsquashedgraph(ng::NestedGraph) -> Any
-

Get a squashed multilayer graph. All multilayer vertices are squashed down to a single vertex. All edges in all layers are merged.

source
NestedGraphs.getmlverticesMethod
getmlvertices(ng::NestedGraph; subgraph_view) -> Any
-

Get all multilayer vertices. Each multilayer vertex is composed by vertices of the graph that are connected and in different layers. In other words, return all nodes of ng that are connected through the interlinks, i.e., the NestedEdges, i.e., the edges connecting different layers, i.e., the edges connecting different subgraphs. Malfunctions if more nodes across layers are connected with several non-vertical ways.

source
NestedGraphs.getnestededgesMethod
getnestededges(ng::NestedGraph) -> Any
-

Get all edges that have no subgraph, i.e. that interconnect subgraphs

source
NestedGraphs.getsquashedgraphMethod
getsquashedgraph(
+

Get the flat graph NestedGraph.flatgr

source
NestedGraphs.getmlsquashedgraphMethod
getmlsquashedgraph(ng::NestedGraph) -> Any
+

Get a squashed multilayer graph. All multilayer vertices are squashed down to a single vertex. All edges in all layers are merged.

source
NestedGraphs.getmlverticesMethod
getmlvertices(ng::NestedGraph; subgraph_view) -> Any
+

Get all multilayer vertices. Each multilayer vertex is composed by vertices of the graph that are connected and in different layers. In other words, return all nodes of ng that are connected through the interlinks, i.e., the NestedEdges, i.e., the edges connecting different layers, i.e., the edges connecting different subgraphs. Malfunctions if more nodes across layers are connected with several non-vertical ways.

source
NestedGraphs.getnestededgesMethod
getnestededges(ng::NestedGraph) -> Any
+

Get all edges that have no subgraph, i.e. that interconnect subgraphs

source
NestedGraphs.getsquashedgraphMethod
getsquashedgraph(
     ng::NestedGraph{T, R, N},
     sqvertices::Array{Array{Q<:Integer, 1}, 1}
 ) -> Any
-

sqvertices are the nodes to be merged/squashed together to the flatgr of ng. Return also a mapping of the ng vertices to the new vertices of the graph. Essentially it recursively calls Graphs.merge_vertices.

source
NestedGraphs.getsubgraphsMethod
getsubgraphs(
+

sqvertices are the nodes to be merged/squashed together to the flatgr of ng. Return also a mapping of the ng vertices to the new vertices of the graph. Essentially it recursively calls Graphs.merge_vertices.

source
NestedGraphs.getsubgraphsMethod
getsubgraphs(
     ng::NestedGraph
 ) -> Vector{N} where N<:AbstractGraph
-

Get the subgraphs NestedGraph.grv

source
NestedGraphs.gettotalsubgraphsMethod
gettotalsubgraphs(ng::NestedGraph) -> Int64
-

Get total number of subgraphs

source
NestedGraphs.nestededgeMethod
nestededge(
+

Get the subgraphs NestedGraph.grv

source
NestedGraphs.gettotalsubgraphsMethod
gettotalsubgraphs(ng::NestedGraph) -> Int64
+

Get total number of subgraphs

source
NestedGraphs.nestededgeMethod
nestededge(
     ng::NestedGraph,
     e::Graphs.SimpleGraphs.SimpleEdge
 ) -> NestedEdge
-

Convert a global view of an edge to local view NestedEdge

source
NestedGraphs.nestedvertexMethod
nestedvertex(ng::NestedGraph, v) -> Any
-
source
NestedGraphs.roll_vertexMethod
roll_vertex(
+

Convert a global view of an edge to local view NestedEdge

source
NestedGraphs.nestedvertexMethod
nestedvertex(ng::NestedGraph, v) -> Any
+
source
NestedGraphs.roll_vertexMethod
roll_vertex(
     ng::NestedGraph,
     v::AbstractArray{T<:Integer, 1}
 ) -> Union{Nothing, Int64}
-

Given a vector of the nested inner subgraphs get the index in the flat graph. The last element of the vector is handled as the node number in the v[1:end-1] inner nested graph

source
NestedGraphs.subgraphMethod
subgraph(ng::NestedGraph, v::Integer) -> Integer
-

Get the subgraph index of a vertex v

source
NestedGraphs.subgraphedgeMethod
subgraphedge(
+

Given a vector of the nested inner subgraphs get the index in the flat graph. The last element of the vector is handled as the node number in the v[1:end-1] inner nested graph

source
NestedGraphs.subgraphMethod
subgraph(ng::NestedGraph, v::Integer) -> Integer
+

Get the subgraph index of a vertex v

source
NestedGraphs.subgraphedgeMethod
subgraphedge(
     ng::NestedGraph,
     e::Graphs.SimpleGraphs.SimpleEdge
 ) -> Union{Nothing, Graphs.SimpleGraphs.SimpleEdge}
-

Get the subgraph of an edge If the edge connects 2 subgraphs, it returns nothing

source
NestedGraphs.unroll_vertexMethod
unroll_vertex(ng::NestedGraph, v::Integer) -> Vector
-

Unroll a nested vertex along all the nested graph subgraphs

source
NestedGraphs.vertexMethod
vertex(
+

Get the subgraph of an edge If the edge connects 2 subgraphs, it returns nothing

source
NestedGraphs.unroll_vertexMethod
unroll_vertex(ng::NestedGraph, v::Integer) -> Vector
+

Unroll a nested vertex along all the nested graph subgraphs

source
NestedGraphs.vertexMethod
vertex(
     ng::NestedGraph,
     cv::Tuple{T, T} where T<:Integer
 ) -> Union{Nothing, Int64}
-

Convert a local view NestedVertex to a global view

source
NestedGraphs.vertexMethod
vertex(
+

Convert a local view NestedVertex to a global view

source
NestedGraphs.vertexMethod
vertex(
     ng::NestedGraph,
     d::Integer,
     v::Integer
 ) -> Union{Nothing, Int64}
-
source
NestedGraphs.NestedEdgeType
struct NestedEdge{T<:Integer} <: Graphs.SimpleGraphs.AbstractSimpleEdge{T<:Integer}
  • src::Tuple{T, T} where T<:Integer

  • dst::Tuple{T, T} where T<:Integer

A NestedEdge connects graphs inside a NestedGraph or simply nodes inside a NestedGraph. The NestedEdge connects two NestedVertexs. This means that every NestedEdge connects to a specific node and not as a hyperedge to the whole subgraph graph.

source
NestedGraphs.NestedGraphType
struct NestedGraph{T<:Integer, R<:AbstractGraph{T<:Integer}, N<:AbstractGraph} <: AbstractGraph{T<:Integer}
  • flatgr::AbstractGraph{T} where T<:Integer: Flat graph view combining all subgraph graphs given with the edges

  • grv::Vector{N} where N<:AbstractGraph: Original subgraph graphs

  • neds::Array{NestedEdge{T}, 1} where T<:Integer: intersubgraph edges

  • vmap::Array{Tuple{T, T}, 1} where T<:Integer: Maps the nodes of flat network to the original graph (Subgraph, Node)

A NestedGraph is a graph of vertices, where each vertex can be a complete graph. Connections are done with NestedEdges and the vertices are NestedVertexs. NestedGraphs of NestedGraphs are allowed.

source
NestedGraphs.NestedGraphMethod
NestedGraph(
+
source
NestedGraphs.NestedEdgeType
struct NestedEdge{T<:Integer} <: Graphs.SimpleGraphs.AbstractSimpleEdge{T<:Integer}
  • src::Tuple{T, T} where T<:Integer

  • dst::Tuple{T, T} where T<:Integer

A NestedEdge connects graphs inside a NestedGraph or simply nodes inside a NestedGraph. The NestedEdge connects two NestedVertexs. This means that every NestedEdge connects to a specific node and not as a hyperedge to the whole subgraph graph.

source
NestedGraphs.NestedGraphType
struct NestedGraph{T<:Integer, R<:AbstractGraph{T<:Integer}, N<:AbstractGraph} <: AbstractGraph{T<:Integer}
  • flatgr::AbstractGraph{T} where T<:Integer: Flat graph view combining all subgraph graphs given with the edges

  • grv::Vector{N} where N<:AbstractGraph: Original subgraph graphs

  • neds::Array{NestedEdge{T}, 1} where T<:Integer: intersubgraph edges

  • vmap::Array{Tuple{T, T}, 1} where T<:Integer: Maps the nodes of flat network to the original graph (Subgraph, Node)

A NestedGraph is a graph of vertices, where each vertex can be a complete graph. Connections are done with NestedEdges and the vertices are NestedVertexs. NestedGraphs of NestedGraphs are allowed.

source
NestedGraphs.NestedGraphMethod
NestedGraph(
     grv::Array{R<:AbstractGraph, 1},
     edges::AbstractVector;
     both_ways
 ) -> NestedGraph{Int64, _A} where _A<:AbstractGraph{Int64}
-

both_ways controls whether edges should be added also in reverse.

source
NestedGraphs.NestedGraphMethod

extrasubgraph controls the NestedGraph should be initialized with an empty subgraph

source
NestedGraphs.NestedVertexType
struct Tuple{T<:Integer, T<:Integer}

A NestedVertex is the local view of a vertex inside a NestedGraph. It contains the subgraph and the vertex indices. Basically, it's an alias for a 2-element Tuple.

source

Index

+

both_ways controls whether edges should be added also in reverse.

source
NestedGraphs.NestedGraphMethod

extrasubgraph controls the NestedGraph should be initialized with an empty subgraph

source
NestedGraphs.NestedVertexType
struct Tuple{T<:Integer, T<:Integer}

A NestedVertex is the local view of a vertex inside a NestedGraph. It contains the subgraph and the vertex indices. Basically, it's an alias for a 2-element Tuple.

source

Index

diff --git a/dev/index.html b/dev/index.html index d17df49..b905b4b 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,2 +1,2 @@ -Introduction · NestedGraphs.jl

Introduction

A package to handle nested graphs.

NestedGraphs.jl is a young project that aims at easy and type-stable graph analysis for nested graphs. This package is in an early development stage and might break often. For a walkthrough of the features, see the Usage and Examples page.

Concept

The main concept is to hold all nested graphs in a Vector and synchronize them with a flat graph. This means that for each AbstractGraph double the space is allocated. The stored flat graph can be used to call all available functions from the Graphs.jl ecosystem.

Roadmap

Contribution

Contributors are welcome. For any ideas or bug reports, feel free to open an issue.

Motivation

NestedGraphs.jl has been created for the analysis of multi-domain networks.

+Introduction · NestedGraphs.jl

Introduction

A package to handle nested graphs.

NestedGraphs.jl is a young project that aims at easy and type-stable graph analysis for nested graphs. This package is in an early development stage and might break often. For a walkthrough of the features, see the Usage and Examples page.

Concept

The main concept is to hold all nested graphs in a Vector and synchronize them with a flat graph. This means that for each AbstractGraph double the space is allocated. The stored flat graph can be used to call all available functions from the Graphs.jl ecosystem.

Roadmap

Contribution

Contributors are welcome. For any ideas or bug reports, feel free to open an issue.

Motivation

NestedGraphs.jl has been created for the analysis of multi-domain networks.

diff --git a/dev/usage/index.html b/dev/usage/index.html index 5ea5403..d901b9b 100644 --- a/dev/usage/index.html +++ b/dev/usage/index.html @@ -172,4 +172,4 @@ [(1, 2), (2, 2), (3, 2)] [(1, 3), (2, 3)] [(1, 4), (3, 3)] - [(2, 4)] + [(2, 4)]