Skip to content

Commit e234524

Browse files
InterdisciplinaryPhysicsTeamClaudMorpitmonticone
committed
Fix bugs in README and example
Co-Authored-By: Claudio Moroni <[email protected]> Co-Authored-By: Pietro Monticone <[email protected]>
1 parent 8a8aeab commit e234524

File tree

3 files changed

+34
-36
lines changed

3 files changed

+34
-36
lines changed

README.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ pkg> add MultilayerGraphs
4848

4949
## Usage
5050

51-
Here we are going to synthetically illustrate some of the main features of MultilayerGraphs.jl. For a more comprehensive exploration of the package functionalities we strongly recommend consulting the [documentation](https://juliagraphs.org/MultilayerGraphs.jl).
52-
5351
Let's begin by importing the necessary dependencies and setting the relevant constants.
5452

5553
```julia
@@ -99,7 +97,7 @@ Similar constructors, more flexible at the cost of ease of use, enable a finer t
9997
# Create a simple directed value layer
10098
n_vertices = rand(1:n_nodes) # Number of vertices
10199
n_edges = rand(n_vertices:(n_vertices * (n_vertices - 1) - 1)) # Number of edges
102-
default_vertex_metadata = v -> ("vertex_$(v)_metadata") # Vertex metadata
100+
default_vertex_metadata = v -> ("vertex_$(v)_metadata",) # Vertex metadata
103101
default_edge_metadata = (s, d) -> (rand(),) # Edge metadata
104102
layer_simple_directed_value = Layer( # Layer constructor
105103
:layer_simple_directed_value, # Layer name
@@ -151,7 +149,7 @@ interlayer_simple_directed_meta = interlayer_metadigraph( # Interlayer construct
151149
layer_simple_directed_value, # Layer 2
152150
n_edges; # Number of edges
153151
default_edge_metadata=(src, dst) -> # Edge metadata
154-
(edge_metadata="metadata_of_edge_from_$(src)_to_$(dst)"),
152+
(edge_metadata="metadata_of_edge_from_$(src)_to_$(dst)",),
155153
transfer_vertex_metadata=true # Boolean deciding layer vertex metadata inheritance
156154
)
157155

@@ -176,7 +174,7 @@ multilayerdigraph = MultilayerDiGraph( # Constructor
176174
)
177175

178176
# Layers and interlayer can be accessed as properties using their names
179-
multilayerdigraph.layer_simplevaldigraph
177+
multilayerdigraph.layer_simple_directed_value
180178
```
181179

182180
Then we proceed by showing how to add nodes, vertices and edges to a directed multilayer graph. The user may add vertices that do or do not represent nodes which are already present in the multilayer graph. In the latter case, we have to create a node first and then add the vertex representing such node to the multilayer graph. The vertex-level metadata are effectively considered only if the graph underlying the relevant layer or interlayer supports them, otherwise they are discarded. The same holds for edge-level metadata and/or weight.
@@ -187,10 +185,10 @@ new_node_1 = Node("new_node_1")
187185
# Add the node to the multilayer graph
188186
add_node!(multilayerdigraph, new_node_1)
189187
# Create a vertex representing the node
190-
new_vertex_1 = MV( # Constructor (alias for "MultilayerVertex")
191-
new_node_1, # Node represented by the vertex
192-
:layer_simplevaldigraph, # Layer containing the vertex
193-
("new_metadata") # Vertex metadata
188+
new_vertex_1 = MV( # Constructor (alias for "MultilayerVertex")
189+
new_node_1, # Node represented by the vertex
190+
:layer_simple_directed_value, # Layer containing the vertex
191+
("new_metadata",) # Vertex metadata
194192
)
195193
# Add the vertex
196194
add_vertex!(
@@ -201,18 +199,18 @@ add_vertex!(
201199
# Create another node in another layer
202200
new_node_2 = Node("new_node_2")
203201
# Create another vertex representing the new node
204-
new_vertex_2 = MV(new_node_2, :layer_simpledigraph)
202+
new_vertex_2 = MV(new_node_2, :layer_simple_directed_value)
205203
# Add the new vertex
206204
add_vertex!(
207205
multilayerdigraph,
208206
new_vertex_2;
209207
add_node=true # Add the associated node before adding the vertex
210208
)
211209
# Create an edge
212-
new_edge = MultilayerEdge( # Constructor
213-
new_vertex_1, # Source vertex
214-
new_vertex_2, # Destination vertex
215-
("some_edge_metadata") # Edge metadata
210+
new_edge = MultilayerEdge( # Constructor
211+
new_vertex_1, # Source vertex
212+
new_vertex_2, # Destination vertex
213+
("some_edge_metadata",) # Edge metadata
216214
)
217215
# Add the edge
218216
add_edge!(

example/example.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ layer_simple_directed_weighted = layer_simpleweighteddigraph( # Layer construct
3636
# Create a simple directed value layer
3737
n_vertices = rand(1:n_nodes) # Number of vertices
3838
n_edges = rand(n_vertices:(n_vertices * (n_vertices - 1) - 1)) # Number of edges
39-
default_vertex_metadata = v -> ("vertex_$(v)_metadata") # Vertex metadata
39+
default_vertex_metadata = v -> ("vertex_$(v)_metadata",) # Vertex metadata
4040
default_edge_metadata = (s, d) -> (rand(),) # Edge metadata
4141
layer_simple_directed_value = Layer( # Layer constructor
4242
:layer_simple_directed_value, # Layer name
@@ -82,7 +82,7 @@ interlayer_simple_directed_meta = interlayer_metadigraph( # Interlayer construct
8282
layer_simple_directed_value, # Layer 2
8383
n_edges; # Number of edges
8484
default_edge_metadata=(src, dst) -> # Edge metadata
85-
(edge_metadata = "metadata_of_edge_from_$(src)_to_$(dst)"),
85+
(edge_metadata = "metadata_of_edge_from_$(src)_to_$(dst)",),
8686
transfer_vertex_metadata=true, # Boolean deciding layer vertex metadata inheritance
8787
)
8888

@@ -105,28 +105,28 @@ multilayerdigraph = MultilayerDiGraph( # Constructor
105105
)
106106

107107
# Layers and interlayer can be accessed as properties using their names
108-
multilayerdigraph.layer_simplevaldigraph
108+
multilayerdigraph.layer_simple_directed_value
109109

110110
# Create a node
111111
new_node_1 = Node("new_node_1")
112112
# Add the node to the multilayer graph
113113
add_node!(multilayerdigraph, new_node_1)
114114
# Create a vertex representing the node
115-
new_vertex_1 = MV( # Constructor (alias for "MultilayerVertex")
116-
new_node_1, # Node represented by the vertex
117-
:layer_simplevaldigraph, # Layer containing the vertex
118-
("new_metadata"), # Vertex metadata
115+
new_vertex_1 = MV( # Constructor (alias for "MultilayerVertex")
116+
new_node_1, # Node represented by the vertex
117+
:layer_simple_directed_value, # Layer containing the vertex
118+
("new_metadata",), # Vertex metadata
119119
)
120120
# Add the vertex
121121
add_vertex!(
122-
multilayerdigraph, # MultilayerDiGraph the vertex will be added to
122+
multilayerdigraph, # MultilayerDiGraph the vertex will be added to
123123
new_vertex_1, # MultilayerVertex to add
124124
)
125125

126126
# Create another node in another layer
127127
new_node_2 = Node("new_node_2")
128128
# Create another vertex representing the new node
129-
new_vertex_2 = MV(new_node_2, :layer_simpledigraph)
129+
new_vertex_2 = MV(new_node_2, :layer_simple_directed)
130130
# Add the new vertex
131131
add_vertex!(
132132
multilayerdigraph,
@@ -137,7 +137,7 @@ add_vertex!(
137137
new_edge = MultilayerEdge( # Constructor
138138
new_vertex_1, # Source vertex
139139
new_vertex_2, # Destination vertex
140-
("some_edge_metadata"), # Edge metadata
140+
("some_edge_metadata",), # Edge metadata
141141
)
142142
# Add the edge
143143
add_edge!(

example/example.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Similar constructors, more flexible at the cost of ease of use, enable a finer t
6161
# Create a simple directed value layer
6262
n_vertices = rand(1:n_nodes) # Number of vertices
6363
n_edges = rand(n_vertices:(n_vertices * (n_vertices - 1) - 1)) # Number of edges
64-
default_vertex_metadata = v -> ("vertex_$(v)_metadata") # Vertex metadata
64+
default_vertex_metadata = v -> ("vertex_$(v)_metadata",) # Vertex metadata
6565
default_edge_metadata = (s, d) -> (rand(),) # Edge metadata
6666
layer_simple_directed_value = Layer( # Layer constructor
6767
:layer_simple_directed_value, # Layer name
@@ -113,7 +113,7 @@ interlayer_simple_directed_meta = interlayer_metadigraph( # Interlayer construct
113113
layer_simple_directed_value, # Layer 2
114114
n_edges; # Number of edges
115115
default_edge_metadata=(src, dst) -> # Edge metadata
116-
(edge_metadata="metadata_of_edge_from_$(src)_to_$(dst)"),
116+
(edge_metadata="metadata_of_edge_from_$(src)_to_$(dst)",),
117117
transfer_vertex_metadata=true # Boolean deciding layer vertex metadata inheritance
118118
)
119119

@@ -138,7 +138,7 @@ multilayerdigraph = MultilayerDiGraph( # Constructor
138138
)
139139

140140
# Layers and interlayer can be accessed as properties using their names
141-
multilayerdigraph.layer_simplevaldigraph
141+
multilayerdigraph.layer_simple_directed_value
142142
```
143143

144144
Then we proceed by showing how to add nodes, vertices and edges to a directed multilayer graph. The user may add vertices that do or do not represent nodes which are already present in the multilayer graph. In the latter case, we have to create a node first and then add the vertex representing such node to the multilayer graph. The vertex-level metadata are effectively considered only if the graph underlying the relevant layer or interlayer supports them, otherwise they are discarded. The same holds for edge-level metadata and/or weight.
@@ -149,10 +149,10 @@ new_node_1 = Node("new_node_1")
149149
# Add the node to the multilayer graph
150150
add_node!(multilayerdigraph, new_node_1)
151151
# Create a vertex representing the node
152-
new_vertex_1 = MV( # Constructor (alias for "MultilayerVertex")
153-
new_node_1, # Node represented by the vertex
154-
:layer_simplevaldigraph, # Layer containing the vertex
155-
("new_metadata") # Vertex metadata
152+
new_vertex_1 = MV( # Constructor (alias for "MultilayerVertex")
153+
new_node_1, # Node represented by the vertex
154+
:layer_simple_directed_value, # Layer containing the vertex
155+
("new_metadata",) # Vertex metadata
156156
)
157157
# Add the vertex
158158
add_vertex!(
@@ -163,18 +163,18 @@ add_vertex!(
163163
# Create another node in another layer
164164
new_node_2 = Node("new_node_2")
165165
# Create another vertex representing the new node
166-
new_vertex_2 = MV(new_node_2, :layer_simpledigraph)
166+
new_vertex_2 = MV(new_node_2, :layer_simple_directed_value)
167167
# Add the new vertex
168168
add_vertex!(
169169
multilayerdigraph,
170170
new_vertex_2;
171171
add_node=true # Add the associated node before adding the vertex
172172
)
173173
# Create an edge
174-
new_edge = MultilayerEdge( # Constructor
175-
new_vertex_1, # Source vertex
176-
new_vertex_2, # Destination vertex
177-
("some_edge_metadata") # Edge metadata
174+
new_edge = MultilayerEdge( # Constructor
175+
new_vertex_1, # Source vertex
176+
new_vertex_2, # Destination vertex
177+
("some_edge_metadata",) # Edge metadata
178178
)
179179
# Add the edge
180180
add_edge!(

0 commit comments

Comments
 (0)