<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>RTGEN : A Relative Temporal Graph GENerator</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Maria Massri</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zoltan Miklos</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Philippe Raipin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pierre Meye</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Orange Labs</institution>
          ,
          <addr-line>Cesson-Sévigné</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Rennes CNRS IRISA</institution>
          ,
          <addr-line>Rennes</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Graph management systems are emerging as an eficient solution to store and query graph-oriented data. To assess the performance and compare such systems, practitioners often design benchmarks in which they use large scale graphs. However, such graphs either do not fit the scale requirements or are not publicly available. This has been the incentive of a number of graph generators which produce synthetic graphs whose characteristics mimic those of real-world graphs (degree distribution, community structure, diameter, etc.). Applications, however, require to deal with temporal graphs whose topology is in constant change. Although generating static graphs has been extensively studied in the literature, generating temporal graphs has received much less attention. In this work, we propose RTGEN a relative temporal graph generator that allows the generation of temporal graphs by controlling the evolution of the degree distribution. In particular, we propose to generate new graphs with a desired degree distribution out of existing ones while minimizing the eforts to transform our source graph to target. Our proposed relative graph generation method relies on optimal transport methods. We extend our method to also deal with the community structure of the generated graphs that is prevalent in a number of applications. Our generation model extends the concepts proposed in the Chung-Lu model with a temporal and community-aware support. We validate our generation procedure through experiments that prove the reliability of the generated graphs with the ground-truth parameters.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Temporal graphs</kwd>
        <kwd>Graph generation</kwd>
        <kwd>Optimal transport</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        class citizen in graph management systems [
        <xref ref-type="bibr" rid="ref12 ref13 ref14 ref15">13, 14, 15,
16</xref>
        ]. Most of these systems rely on real-world temporal
Graphs are the most natural model to describe real world graphs to evaluate their proposed methods. Real-world
interactions and are currently used in a myriad of appli- graphs, however, do not often fit the scale requirements.
cation domains such as citation [1], transportation [? ], Therefore, practitioners must rely on a temporal graph
and sensor networks [2] to cite just a few. These graphs generator that is able to produce large scale graphs whose
are managed by a graph management system whose per- evolution correlates with that of real world temporal
formance is usually evaluated through graph-centered graphs. To tackle this challenge, we proposed RTGEN:
benchmarks that address diferent performance metrics a relative temporal graph generator that produces large
such as ingestion throughput, space usage and query scale temporal graphs by controlling a number of key
execution time. In this context, practitioners refer to real- features that characterises the evolution of real-world
world and synthetic graphs to use in the benchmarks. graphs. That is, our generation procedure, controls the
Indeed, available graph generation techniques fill the evolution of the degree distribution by extending a very
gap between real and synthetically generated graphs by common generation technique [
        <xref ref-type="bibr" rid="ref16">17</xref>
        ] referred to as the
trying to mimic the characteristics of real graphs such as Chung-Lu model with temporal and community-aware
controlling the degree distribution [
        <xref ref-type="bibr" rid="ref3 ref4 ref5 ref6 ref7">3, 4, 5, 6, 7, 8</xref>
        ]. Besides, support.
a number of existing graph generators are community- We model a temporal graph by a sequence of snapshots
aware in the sense that they group vertices that are more  = {0, . . . ,  } where  is the graph snapshot at
densely connected between each other than they are timestamp  and characterized by a degree distribution
with the rest of the graph, in separate or overlapping that is generated from sampling user-defined temporal
sub-graphs called communities [
        <xref ref-type="bibr" rid="ref10 ref8 ref9">9, 10, 11</xref>
        ]. parameters. Having this, our relative graph generation
      </p>
      <p>
        Real graphs, however, are dynamic [
        <xref ref-type="bibr" rid="ref11">12</xref>
        ] such that their procedure consists of transforming − 1 into  by
aptopology is subject to continuous changes. In this context, plying a stream of atomic graph operations with respect
a new emphasis is being placed to support time as a first to the desired degree distribution at time instants − 1
and . Based on the fact that a strong correlation exists
between successive snapshots [18, 19, 20], we propose
to minimize the number of graph operations that have
to be applied in order to transform a graph snapshot
into its successor. The main idea consists of minimizing
the distance between degree distributions of successive
Published in the Workshop Proceedings of the EDBT/ICDT 2022 Joint
Conference (March 29-April 1, 2022), Edinburgh, UK
" maria.massri@orange.com (M. Massri); zoltan.miklos@irisa.fr
(Z. Miklos); philippe.raipin@orange.com (P. Raipin);
pierre.meye@orange.com (P. Meye)
© 2022 Copyright for this paper by its authors. Use permitted under Creative Commons
License Attribution 4.0 International (CC BY 4.0).
      </p>
      <p>
        CEUR Workshop Proceedings (CEUR-WS.org)
snapshots. We achieve this goal by relying on an optimal Given the number of vertices in each graph
snaptransport solver which provides a transportation plan ca- shot  ∈ {1, . . . , }, a stochastic community
pable of transforming a "mass" from source distribution matrix  and a sequence of degree distributions
to target distribution with a minimum of work. In order {1, . . . , }, we generate a sequence of graph
snapto apply the obtained transportation plan, we proposed a shots {1, . . . , } such that each snapshot  is
straightforward generalization of the well-known Chung- relatively generated by transforming − 1. This
Lu’s model, also known as the CL model, that was first transformation is based on morphing the − 1 =
discussed in [21] and formalized in [
        <xref ref-type="bibr" rid="ref16">17, 22</xref>
        ]. We choose to {(1− 1 , 1− 1 ), . . . , (− 1 , − 1 )} into  =
extend this model for the reasons of simplicity and scal- {(1 , 1 ), . . . , (, )} and preserving the community
ability. We also extended the CL model to partition the structure that is represented by the stochastic
commugraph into ground-truth communities that coexist with nity matrix  such that − 1 =  =  . Note
the aforementioned time-dependent degree distribution. that each element  of M is equal to the probability
Our contributions are validated through experimental of edge creation between the source and target
commuresults showing the evolution of the degree distribution nities  and . Figure 1 illustrates the relative graph
and community structure with respect to ground-truth generation procedure. Each graph snapshot  is
relainput parameters. tively generated by transforming its ancestor − 1. This
      </p>
      <p>The rest of the paper is organized as follows, Section transformation is based on computing a transportation
2 provides an overview of the generation procedure. Sec- matrix  that minimizes the cost of morphing − 1
tion 3 introduces the baseline generation procedure of the into . The computation of the transportation matrix
CL model. Section 4 describes the proposed community- reduces to an optimal transport problem. Based on the
aware extension of the CL model. Section 5 presents computed transportation matrix, each vertex belonging
a detailed description of the proposed generation pro- to the graph − 1 is assigned with a linkage or
breakcedure. Section 6 provides an experimental evaluation age probability to indicate the probability of adding or
of the synthetically generated temporal graphs. Section removing an edge. This phase is followed by creating or
7 describes the related work. Section 8 concludes the removing edges to or from the graph − 1 to produce
work. the graph . These graph updates follows the linkage
or breakage probabilities assigned for each of the
ver2. Overview ttihceesg.enFeinraatlelyd, uthpedagtreaspohn−
is1.coNmotpeutthedat,btyheapgpelnyeinragtion procedure depicted in this Figure shows a simplified
scenario where the number of vertices does not change.</p>
      <p>However, if that number changes, a phase consisting of
the addition or deletion of vertices should precede the
computation of the transportation matrix to assure the
following constraint:
In this section, we describe the overall generation
procedure. Given the characteristics of a series of graph
snapshots, our relative generation procedure produces
the series of graph snapshots {1, . . . , } whose
characteristics approximate the given ones. These graph
snapshots are relatively computed by applying a number of
graph updates on each snapshot in order to produce its
successor snapshot. To clarify, we apply a number of
graph updates on a graph snapshot − 1 to produce
another graph snapshot  whose characteristics
approximate the given parameters assigned for the th graph
snapshot.</p>
      <p>Formally, we define a graph snapshot  valid at a
time instant  as the tuple { ,  ,  ,  } where
 is the set of vertices,  is the set of edges, 
is a degree distribution and  is the density
community matrix. For instance, we consider  of the form
{(1 , 1  ,  )} as a discrete distribution</p>
      <p>), . . . , (
over N where</p>
      <p>refers to the degree of a node and 
refers to the total number of vertices in the graph whose
total number of edges is equal to  . A density
community matrix  defines the community structure of the
generated graphs, each element  of which is equal
to the density of edges between the source community
 and the target community .
 
∑︁</p>
      <p>= ∑︁ ,
=1
=1</p>
      <p>∀1 ≤  ≤</p>
      <sec id="sec-1-1">
        <title>This constraint implies that the sum of weights of distri</title>
        <p>butions  and  should be equal.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>3. Graph generation with given expected degree distribution</title>
      <sec id="sec-2-1">
        <title>In this section, we describe the generation procedure of</title>
        <p>random static graphs with a given degree distribution.</p>
        <p>Random graphs were introduced by Erdős and Rényi
[23]. The popularity of this model, also known as the 
model, stems from its simple generation procedure that
consists of generating a number of vertices and
connecting them by an edge after picking each endpoint with a
ifxed probability . However, this model produces graphs
whose degree distribution follows a binomial distribution
probability  in the following Equation:
 =</p>
        <p>(1)
Subsequently, a linkage phase consists of picking || =
2 pairs of vertices to connect such that for a suficiently
large || the random variable denoting the degree of
vertex  is Poisson distributed with a mean equals to
 . Iterating the linkage phase || times where an edge
is equally likely to be chosen in both directions for
undirected graphs, the insertion probability of an edge
con</p>
        <p>.
necting vertex  and vertex  is  = 2  2
The edge insertion probability can be rewritten in the
more convenient form:
 =</p>
        <p>For optimisation sake, we gather all vertices
sharing the same degree together in a pool   =
{| ∈  ∧  = } that we use as a subsidiary
generation component. Each vertex in a pool is equally likely
to be chosen assuring that the aforementioned linkage
probability  is not afected for a suficiently large
number of vertices. After the degree assignment phase,
vertices are distributed throughout the pools having each
the following linkage probability:
with a mean degree equals to ( − 1) where  is the
total number of vertices. Hence, it fails to mimic real-world
graphs that usually follow a power-law degree
distribution. To tackle this limitation, the edge configuration
model [24] consists of generating a random graph whose
degree distribution matches, approximately, a given de- | |
gree distribution. That is, each vertex is assigned with a   = 
number of stubs equal to its desired degree that is drawn
independently from the given degree distribution. Hav- Now, instead of picking vertices a pool is first picked
ing this, pairs of stubs are linked randomly forming edges It should be highlighted that self-loops or multi-edges
between their endpoints. Although this technique ap- can be created since each endpoint of an edge is picked
proximately matches any given degree distribution, a independently. The number of these edges, however, is
relaxed version known as the Chung-Lu model was in- independent of the number of vertices and thus can be
troduced in [21]. This model consists of generating a ran- neglected for large scale graphs.
dom graph that approximately matches a given degree
distribution relying on a simple generation procedure 4. Community-aware graph
that can be considered as a variant of the  model. For
simplicity, we will refer to this model as the CL model in generation with given expected
the following description. degree distribution</p>
        <p>Consider the degree distribution  as the input
parameter to the CL model and the undirected, unweighted and Although the CL model produces graphs with respect
unlabeled graph  = {, , } as the output where to a given degree distribution, it is not aware of the
 denotes the degree distribution of ,  and  de- community structure existing in most real-world graphs.
note the set of vertices and edges, respectively. Having Hence, we propose a community-aware extension of the
this, the CL model produces a graph  such that  is CL model based on the stochastic block model (SBM).
an approximation of . The main idea is to pick each Since a community is not quantitatively well defined,
endpoint of an edge with a certain probability such that, many definitions where provided in literature. Intuitively,
at the end of the generation procedure, the total number one can consider a community as a subgraph which
verof incident edges to each vertex is close to its assigned tices are more densely connected between each other
degree. Hence, the starting phase consists of assigning than they are with the rest of the graph. Let’s consider
each vertex  ∈  with a degree  and a linkage the set of communities  = {} and suppose that a
verprobability  ∝  . Considering that  is the sum of tex should belong to one community and edges should
the degrees extracted from , we define the CL linkage be diferentiated into within and between edges:
• Given a community , an edge  is called a within
edge if the source vertex ∈  and the target vertex
∈ .
• Given two communities  and  , an edge  is
called a between edge if the source vertex ∈ 
and target vertex ∈  or vice versa.</p>
        <p>define  =  = 2 and  = . Furthermore,
we assign each community  with a within edge creation
probability , a between edge creation equal to</p>
        <p>and a probability of edge creation  such that:
 =  + 
 =  + 0.5
||
∑︁

(2)
To insure that vertices belonging to a community are =1,̸=
more densely connected to each other than they are with We define the linkage probability  of choosing a vertex
the rest of the graph, the within and between edge cre-  belonging to community  as follows:
ation probabilities  and</p>
        <p>of  must satisfy the
condition  &gt; , ∀ ∈ .  = (3)
  ,  ∈</p>
        <sec id="sec-2-1-1">
          <title>4.1. Stochastic block model</title>
          <p>
            where  is the sum of the degrees of vertices
belonging to community  and  is the probability of
choosing . The linkage probability of a vertex is the product
of the probability  of choosing the community to
In this section, we formulate the SBM model [
            <xref ref-type="bibr" rid="ref8">9</xref>
            ] (also
known as the planted partition model) which is
commonly used for the generation of random graphs with a which the vertex belongs and the probability  of
given community structure. Hence, this generation
procedure only considers controlling the community struc- choosing the vertex  in that community. Hence,
Equature of the graph and overlooks the resulting degree dis- tion 3 assures the approximation of the community
matribution. The input of the generation procedure is a trix. However,  should be equal to  (Equation 1)
stochastic community matrix  , each element  of to assure the approximation of the degree distribution.
which defines the probability of edge creation between Therefore, we define the following condition in order to
the source community  and the target community  . reduce Equation (3) to Equation (1):
The output is a graph  = {, , } where  is  = 
the obtained density community matrix, each element
 of which defines the relative edge density between Now, replacing  by  in the original CL linkage
the source community  and the target community  . probability (Equation 1) which assures the control of the
The generation procedure starts with the distribution of degree distribution, we obtain Equation 3 which assures
vertices between the planted communities such that each the control of the community structure. Having this, the
vertex belongs to a single community. Now, the linkage duality of the linkage probability given in Equations (1)
probability between a vertex belonging to community  and (3) insures that both requirements are satisfied by
and another vertex belonging to community  is equal to our generation procedure.
 . However, the extracted community density matrix For performance amelioration, we consider the
selec from the resulting graph  is an approximation of tion of pools rather than vertices such that a pool is local
 . That is, each element  is binomially distributed to one community. That is vertices having the same
dewith mean equals to  and Poisson distributed with gree variation and belonging to the same community 
the same mean for a suficiently large number of edges. are grouped in a pool   = {| ∈  ∧  = }
such that the probability of a pool selection for edge
insertion is:
          </p>
        </sec>
        <sec id="sec-2-1-2">
          <title>4.2. Stochastic block model with given degree distribution</title>
          <p>In this section, we propose a static graph generation
procedure which controls both the community structure
and degree distribution. Given a degree distribution 
and a stochastic community matrix  , our proposed
model generates a graph  which degree distribution 
is an approximation of  and density community matrix
 is an approximation of  . In the following, we
provide a description of our generation mechanism that
extends the stochastic block model depicted in Section
4.1.</p>
          <p>Since the generated graph  is undirected, the matrix
 is symmetric such that  = . Having this, we
  =

|  |</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>4.3. Hierarchical community structure</title>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>The specification of the stochastic matrix is not straight</title>
        <p>forward and imposes an exhaustive number of
userdefined parameters. Hence, we define an auto-generative
procedure that fills the matrix with no exogenous efort.
Considering a static graph, we construct a stochastic
matrix that reflects a hierarchical community structure with
only two given parameters. In a hierarchical community
matrix, communities recursively embed subsequent
communities in a self-similar fashion such that the
community structure is represented by a hierarchical tree where
each node represents a community. Each non-leaf node
is expanded into  other nodes until reaching a desired
tree height ℎ (Figure 2). The ending recursion results in
 = ℎ leaf-nodes referencing the finest scale
communities having a linkage probability  proportional to the
distance between  and  . The distance between two
communities, (,  ), is equal to the number of hops
traversed in order to reach the least common ancestor of
these communities. In order to satisfy the condition
stating that within edge linkage probability must be higher
than between linkage probability ( &gt; ), we define
 as follows:
 = 0.5</p>
        <p>+ 
− 1
∑︁
=0,̸=
where  is a tunable parameter which calibration steers
the diference between within and between edge
densities. The efect of varying  is further highlighted in the
Section 6.
cost:</p>
        <p>min ∑︁ ∑︁</p>
        <p>=1 =1
where  = (,  ) is a measure of distance between
 and  . The following constraints must hold for the
optimal flow  :</p>
        <p>≥ 0, 1 ≥  ≥ , 1 ≥  ≥ 

∑︁  ≤ , 1 ≥  ≥ ,
=1

∑︁  ≤  , 1 ≥  ≥ 
=1</p>
        <p>Once the optimal flow  is found, the EMD between
 and  is computed as follows:
 (, ) =
∑︀
=1
∑︀
=1
∑︀
=1  
∑︀
=1</p>
      </sec>
      <sec id="sec-2-3">
        <title>The EMD is fundamental in our generation procedure since it is used to compute the distance between two degree distributions as described in the following Section.</title>
        <sec id="sec-2-3-1">
          <title>5.2. Baseline relative graph generation</title>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>In this section, we provide the baseline procedure of</title>
        <p>transforming a graph  with degree distribution  into
′ with degree distribution ′ which we refer to as the
Baseline relative graph generation. Note that, we use this
technique for generating temporal graphs such that 
Figure 2: Hierarchical community tree with height ℎ and and ′ corresponds to successive graph snapshots. For
branching factor . generalisation purposes, however, we remove the notion
of time in this section. This transformation is enabled by a
set of atomic graph operations including the addition and
deletion of a vertex or an edge. Following the assumption
that temporal graphs gradually evolve, this number of
5. Relative graph generation graph operations between successive snapshots should
be minimized which is assured in our model by applying
In order to control the evolution of the degree distribu- an optimal transport method.
tion of the generated temporal graphs, we propose in this Consider the input graph  = {, , } and
desection an extension of the CL model that is based on the gree distribution ′, the generated output graph ′ =
optimal transport to compute the minimal distance be- { ′, ′, ′ } such that ′ is an approximation of ′.
tween the degree distributions of each pair of successive We define the distance between two degree distributions
graph snapshots.  and ′ as the earth mover’s distance  (, ′).
Consider  = | ′| − |  | as the total number of
ver5.1. Earth mover’s distance tices to be added to or removed from the graph based
on whether  is a positive or negative number,
respecThe Earth mover’s distance can be defined as a mea- tively. When adding a new vertex, this vertex is assigned
sure of distance over a domain  between two dis- with a degree equals to 0 and deleting a vertex consists
tributions of the form {(1, 1), ..., (, )} where of removing the vertex with its corresponding incident
 ∈  and  is the density of . Having this, edges. This transformation phase assures that  and ′
the problem reduces to the computation of an optimal share the same number of vertices, hence, enables the
lfow (transportation matrix)  = [ ] between two transformation of  into ′. In order to morph  into
distributions  = {(1, 1), ..., (, )} and  = ′, a transportation matrix  is computed, where each
{(1, 1), ..., (, )} such that  is the mass trans- row corresponds to a degree  in the set of degrees in the
ported between  and  which minimizes the overall source distribution  and each column corresponds to a
degree ′ in the set of degrees in the target distribution ′.</p>
        <p>Now, each cell consists of the portion of vertices having
a degree  for which links are to be inserted or removed
in order to be assigned a total number of edges equals to
degree ′. That is, a vertex , with a degree  = , will
be assigned a degree variation of   = ′ −  resulting
in a total number of edge insertions and deletions defined
as + and − , respectively.</p>
        <p>We assign, for each vertex , a linkage probability + or
a breakage probability − defined as extensions of the
CL linkage probability (1):
+ = + ,   &gt; 0
− = −   ,   &lt; 0</p>
        <p>−
We collect vertices sharing the same degree variation
 = ′ −  into a linkage pool if  &gt; 0 and in a
breakage pool if  &lt; 0. Consider  →′ = {| ∈
 ∧   = ′ − } to be the pool containing vertices
having a degree  that should be transformed into ′. We
compute the probability of picking a linkage or breakage
pool +→′ and − →′ as follows:
+→′ =
 | →′ | ,  &gt; 0</p>
        <p>+
− →′ = −  | →′ | ,  &lt; 0</p>
        <p>−
However, breaking an edge might be impossible in
situations where the source degree variation  is negative
and the sum of the negative degree variations of its neigh- Where + and − are the total number of edge
bors is higher than  . For the sake of illustration, we insertions and deletions in , respectively. From the
present in Figure 3 a graph in which the number of edges transportation matrix defined in section 5.2, we find
to remove from a node is higher than the sum of the  as the portion of vertices with degree variation
number of edges to remove from its neighboring vertices.  =  − . However, finding the portion  of
That is, the transformation of this graph implies remov- vertices in community  should satisfy three conditions
ing 2 edges from vertex 1 since  1 = − 2. However, detailed bellow. Each condition  results in a system of
the number of the edges that have to be removed from linear equations of the form  =  where  is a
the neighboring vertices of 1 is equal to  2 = − 1 since vector composed of  such that  = { | ∀1 ≤  ≤
 3 = 0 and  4 = 1. To overcome this, we repeat the || ∧ ∀1 ≤  ≤ | | ∧ 0 ≤  ≤ | |} where  is the
morphing procedure until EMD(, ′) reaches a desired total number of communities.
threshold. Our simulations have proved that the value
of EMD(, ′) converges rapidly towards the minimum
threshold after a tolerable number of iterations. This
statement will be further highlighted in Section 6.
− =    ,  ∈ 
−</p>
        <sec id="sec-2-4-1">
          <title>5.3. Relative community-aware graph generation</title>
          <p>A more complex version of the previously described
relative graph generation, consists of preserving the
graph community structure in the transformation
procedure. That is, the input of our community-aware relative
graph generator is the graph  = {, , , }, the
(4)
(5)
desired degree distribution  and the stochastic block
matrix  . However, the output consists of a graph
′ = { ′, ′, ′ , ′ } where ′ is an
approximation of  and ′ is an approximation of  . Recall that
the generation procedure depicted in section 4.2 produces
a graph with a given expected degree distribution and
stochastic community matrix based on the proposed
linkage probability duality presented in Equations (1) and (3).</p>
          <p>Indeed, a relative community-aware graph generation is
based on an extension of the aforementioned duality by
taking into consideration the degree variation of a vertex
instead of the its degree. That is, the following linkage
and breakage probabilities present a straightforward
extension of Equations (4) and (5):
+ =    ,  ∈</p>
          <p>+
Condition 1: For each community  ∈ , conditions
stating that + = + and − = − 
must hold, where + and − are the total number
of edge insertions and deletions in all communities
of , respectively. Incorporating  in the previous
condition translates to the following equality:
|| |′| || |′|
∑︁ ∑︁( − ) = (∑︁ ∑︁( − ) )
=0 =0 =0 =0
where  and ′ are the source and target degree
distributions.</p>
          <p>Condition 2: This condition states that the sum of of adding and removing edges is repeated + and −
all portions of vertices with degree variation  −  times, respectively. In each iteration, communities  and
∀ ∈  in  should be equal to the portion  of  are picked based on   and vertices  and
vertices in  having a degree  resulting in the follow-  are picked using   +[] and   − [].
ing equality: Now, an addition or deletion graph update between the
 chosen vertices is added to the list of logs using functions
∑︁  =  addEdge and removeEdge whether the vertices where
=0 chosen from the linkage or breakage pools. However,
breaking an edge might be impossible in some situations
Condition 3: This condition states that the por- as shown in Figure 3. In such a use case, no graph update
tion  of vertices with degree variation  −  in is added to the list of logs . Finally, the EMD distance
the graph must be equal to the sum of all portions   is computed between the obtained degree distribution
′ and the desired one . If  ′ is higher than  and
∀ ∈ .  the number of repetitions _ has not yet reached
∑︁  =  _, the same algorithm is repeated on the newly
=0 computed graph snapshot ′. The computation stops
when  ′ is lower than or equal to  or the number of
repetitions has already been reached.</p>
          <p>By solving the concatenated system of equations obtained
from the previous conditions (1, 2, 3) =
(1, 2, 3), we find the vector , hence the
values of  . Pools are created on a local basis in each
community such that vertices with the same degree
variation  = ′ −  and belonging to the same community
 are collected in a single pool  → ′ . We compute
the probability of picking a linkage or breakage pool
+→′ , and − →′ , as follows:
+→′ , =
 | → ′ | ,  &gt; 0</p>
          <p>+
− →′ , = −  | → ′ | ,  &lt; 0
−</p>
          <p>Algorithm 1: CRGG
Input:  = {, , , }, ,  ,  ,</p>
          <p>_, _</p>
          <p>Output: ′ = { ′, ′, ′ , ′ }
1  ← getTransportMatrix(, ) ;
2 X ← getVector(, ,  ,  ) ;
3 (+, − ) ← getNumberOfEdges(T) ;
4   ← getCDFComs( ) ;
5 (  +,   − ) ← initCDFPools ;
6  ← ()
7 for  ∈  do
8 (  +,   − ) ←
getCDFPools(, ) ;
  +[] ←   + ;
  − [] ←   − ;
Algorithm CRGG depicts the relative community aware
graph generation procedure. The input parameters are 9
the graph snapshot , desired degree distribution , den- 10
sity community matrix  , threshold of the EMD
distance between  and , maximum number of repeti- 11 for  ←
tions _ and the current number of repetitions 12 (, ) ←
_. Whereas, the output is a new graph snapshot 13
′. Note that, the value of _ is equal to 0 in the
ifrst iteration. The transportation matrix  is computed 14
using the function getTransportMatrix by taking the 15 for  ←
degree distributions  and  as input. The function 16 (, ) ←
getVector, computes  and  based on the Conditions 17
1, 2 and 3 and solves the system of equations defined by
 =  to find the vector . The total number of edges 18
to add (+) and delete (− ) are then computed based on
the transporation matrix  . The function getCDFComs
computes the cumulative distribution function  
based on the density community matrix  . Then, vectors
  + and   − representing the cumulative
density functions of the linkage and breakage pools and a
list of logs (graph updates)  are initialized. The function
getCDFPools is used to compute the cumulative distri- 24 else
bution functions   + and   − based on 25
the probabilities +→′ , and − →′ , . The process
return ′ ;
0  + do</p>
          <p>chooseComs( ) ;
(,  ) ← chooseVertices(  +[],
  +[]) ;
.addEdge (,  ) ;</p>
          <p>The first metric  measures the inaccuracy of approx- tions or stochastic community matrix and the format of</p>
        </sec>
        <sec id="sec-2-4-2">
          <title>5.4. Accuracy of the generation procedure</title>
          <p>In order to measure how far the characteristics of the
generated graphs are from the ground truth parameters,
we define two distance metrics  and .
imating the degree distributions of the generated graphs
with the given sequence of degree distributions. That
is, it measures the root mean square of the EMD
distances between each degree distribution  in the given
sequence {1, . . . , } and its corresponding degree
distribution  in the sequence {1 , . . .  } extracted
from the generated graphs. Having this,  is computed
 () = ⎸⎷⎯⎸∑︁ ∑︁ | |2</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>6. Experimental evaluation</title>
      <sec id="sec-3-1">
        <title>We conducted a number of experiments to validate the</title>
        <p>eficiency of our generator RTGEN. We also provide an
insight on how changing the input parameters can steer the
characteristics of the generated temporal graphs. Note
that the source code of RTGEN is publicly available1.
Besides the source code, we also provide the
instructions describing how to use the tool to generate temporal
graphs. For instance, users can pass the input
parameters to describe the desired sequence of degree
distributhe generated output files to RTGEN using a terminal
command. RTGEN proposes two output types:
snapshotbased and event-based. The snapshot based type consists
a sequence of graph snapshots represented each in a
separate file. Whereas, the event-based type, consists of
generating the sequence of graph updates (events) that
we applied between successive snapshots to transform
one snapshot into the next one.
6.0.1. Experimental setup</p>
      </sec>
      <sec id="sec-3-2">
        <title>The experiments were conducted on a single machine</title>
        <p>equipped with Intel(R) Core(TM) i5-8350U CPU
1.70GHz 1.90 GHz, 16 GB memory and 500 GB SSD.</p>
      </sec>
      <sec id="sec-3-3">
        <title>We used Go 1.17.5 and Python 3.8.0. Besides, we referred</title>
        <p>to the optimal transport solver proposed in [25]. The
graphs shown in this section are visualized using Gephi
tool [26] which ofers network visualization facilities and
community detection algorithms [27].
6.0.2. Preliminaries
In the following experiments, we refer to two types of
common degree distributions: Gaussian  and Zipfian
 that are defined as follows:
() =</p>
        <p>− 12 ( −  )2
 () =
 ∈ [0, ]
We consider a special case where the value of a parameter
 ∈ N in iteration  depends on the its value in the
previous iteration  − 1 such as  = − 1 +  such
1https://github.com/MariaMassri/RTGEN</p>
        <p>1
 √</p>
        <p>1
( + )
graphs where new nodes join the graph and new
connections are created as the time elapses.
6.2. Controlling the community structure
of the generated graphs
that   =  − 1 + . This is applied on the parameters of
the degree distributions  , ,  , ,  and  denoting
the total number of vertices. That is,  denotes the
number of vertices to be added or removed from the graph
in the relative generation process. Note that, RTGEN
also generates the first snapshot which implies that the
parameters of the degree distribution of the first snapshot
should be given.</p>
      </sec>
      <sec id="sec-3-4">
        <title>In this experiment, we show the generated community</title>
        <p>structure with diferent parameters of the stochastic
community matrix and the efect of varying parameter  of
6.1. Controlling the evolution of the the hierarchical tree. As described in Section 4.3, RTGEN
degree distribution is capable of auto-generating the stochastic community
matrix representing a hierarchical community structure.</p>
        <p>
          In this experiment, we show the evolution of the degree Consider a stochastic community matrix generated by
setdistribution of a sequence of graph snapshots generated ting  = 4 and ℎ = 2. As depicted in Equation 2, one can
with the relative generation procedure given a set of input tune the parameter  in order to control the within and
parameters. Hence, we consider Gaussian and Zipfian between edge densities. Hence, we select three diferent
degree distributions with diferent parameters and plot- values of  in {2, 4, 8}. Furthermore consider,  = 1000
ted the obtained degree distributions in Figures 4, 5 and to be the total number of vertices and parameters  = 30
6. Figure 4 shows the evolution of the degree distribution and  = 2 to be the parameters of a Gaussian
distribuof a generated sequence of 10 graph snapshots given the tion. Note that, in this experiment, we generate a single
following parameters: {0 = 10,  0 = 30,  0 = graph snapshot relying on the generation procedure
pro2,  = 10,  = 5,  = 0.1}. By setting  posed in Section 4.2. The generated graphs are shown in
to 5, we increase the average degree by 5 between each Figures 7a, 7b and 7c using the Gephi tool. It can be
nopair of snapshots. This indeed, can model a growth-only ticed that the diference between the within and between
graph where the average edge degree tend to regularly edge densities is proportional to  since  ∝  − 
increase as the time elapses. where  and  are the within and between linkage
However, some real-world graphs are not growth-only probabilities of a community . Furthermore, Figure 8
in the sense that they are subject to edge deletions. This presents the modularity in function of parameter  which
is indeed the case of human-proximity or transportation we vary from 0 to 32. The modularity is a measure to
graphs where an important number of short-term con- quantify the goodness of community structure. Its
fornections is only valid during peak hours. To model this mula compares, for all the communities, the fraction of
characteristic, RTGEN also supports edge deletions. The edges that falls within the given community with the
evolution of the degree distribution with edge deletions expected fraction if edges were distributed at random.
is presented in Figure 5. Let the following parameters It is clear from the results that the modularity increases
define the evolution of degree distribution for  ∈ [
          <xref ref-type="bibr" rid="ref3">0, 4</xref>
          ]: with the increase of . This is justified by the fact that
{0 = 1,  0 = 60,  0 = 4,  = 0,  =  is proportional to the diference between within and
5,  = 0} Whereas the following parameters de- between edge linkage probabilities  − .
ifne its evolution for  ∈ [
          <xref ref-type="bibr" rid="ref4 ref8">5, 9</xref>
          ]: {0 = 10,  0 =
80,  0 = 2,  = 0,  = − 5,  = 0}. In- 6.3. Generating graphs with deletions
deed, setting  to − 5 indicates that the average degree between snapshots
decreases by a value of 5 between each pair of successive
graph snapshots. As mentioned in Section 5, the relative graph
generaSince real-world temporal graphs usually exhibit a power tion procedure may incur a number of edge deletions.
law degree distribution, we also generated graphs with This can be cumbersome when the number of edges to
an evolutionary Zipfian degree distribution composed delete for a given vertex is higher than the total sum of
of 10 graph snapshots as shown in Figure 6. For this edges to delete from its neighboring vertices. We solve
generated temporal graph, we set the following param- this problem by repeating the generation process until
eters {0 = 50, 0 = 2.5, 0 = 10, 0 = reaching an acceptable error threshold that is defined by
10,  = 50,  = 0,  = 0,   = 5}. the EMD between the obtained and desired degree
disBy setting parameter   to 5, we consider that the tributions. Figure 12 shows the variation of the number
maximum degree of nodes increases by a value of 5 be- of iterations and the execution time of the generation
tween each pair of successive snapshots. Whereas, the process in function of the threshold error defined by the
value of  indicates that 50 new nodes join the graph EMD. The obtained results show that our generation
probetween successive snapshots. These parameters reflect cedure converges rapidly to a tolerable threshold. That
the growth of a large number of real-world temporal is, a threshold equals to 0.001 can be reached with only 7
(a) k=2
(b) k=4
        </p>
        <p>(c) k=8
iterations. By comparing the execution time of 1 iteration
and 7 iterations, we can notice that the diference is lower
than the execution time of a single iteration. Indeed, the
execution time resulting from repeating the generation
is lower than the first iteration since the majority of
modifications are added in the first iteration and only the
remaining vertices whose linkage probability does not
satisfy the sum of the linkage probabilities of its
neighboring vertices are considered in the next iteration. Note
that these results are obtained from the generation of two
successive snapshots with the following input parameters
of a Gaussian degree distribution: {0 = 500,  0 =
60,  0 = 2,  = 0,  = − 30,  = 0}.</p>
        <sec id="sec-3-4-1">
          <title>6.4. Accuracy of the generation procedure</title>
          <p>We quantify the accuracy of the generated graphs with
the given parameters by computing the distance
metrics  and  defined in Section 5.4. We generated
a sequence of  = 5 snapshots with the following
parameters of Gaussian degree distribution: {0 ∈
{10, 100, 500, 1 },  0 = 30,  0 =
2,   = 0,  = 10,  = 0}. Besides, we
controlled the community structure by fixing the following
parameters of a hierarchical tree: ℎ = 2,  = 2,  =
4,  = 0.</p>
          <p>Figures 9, 10 and 11 plot the execution time, value of
 and  in function of the total number of created edges
from applying the Gaussian distribution whose
parameters are given above. It is clear that the execution time
increases with the number of the generated edges. The
distance metric, however, decreases implying that
RTGEN approximates more accurately the given sequence
of degree distribution and community structure as the
total number of edges grows.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>7. Related work</title>
      <p>Synthetic graphs are important for developing
benchmarks for assessing the performance of graph-oriented
data platforms, when real graphs are not publicly
available or expensive to obtain. This has been the incentive updates. DSNG-M (dynamic social network generator
to design models and generators, which are very use- based on modularity) [35] is a graph generator that is
ful for evaluating the eficiency of graph management capable of generating temporal graphs by flipping the
techniques as storage, query evaluation, indexing, parti- direction of edges of a given graph in order to satisfy a
tioning, etc. randomly chosen modularity value assigned to a single</p>
      <p>
        An extensive work has been posited for the genera- graph snapshot.
tion of static graphs. For instance, a special emphasis Some of the aforementioned graph generators produce
has been placed to control the degree distribution of the temporal graphs with properties on nodes or vertices,
generated graphs. In this context, many graph genera- which we do not address in this paper. None of them,
tors were designed such as RTG [3], RMAT [
        <xref ref-type="bibr" rid="ref3">4</xref>
        ] and its however, allows the control of the evolution of the degree
generalisation Kronecker [
        <xref ref-type="bibr" rid="ref4">5</xref>
        ] producing only Power-Law distribution given ground truth parameters that describe
distributions. Since real-world graphs are not limited this evolution. This challenge lead to the elaboration of
to power-law distributions, BTER [
        <xref ref-type="bibr" rid="ref5">6</xref>
        ] and its extension the RTGEN tool that allows the approximation of any
Darwini [
        <xref ref-type="bibr" rid="ref6">7</xref>
        ] and GMark [
        <xref ref-type="bibr" rid="ref7">8</xref>
        ] produce graphs with any user given sequence of degree distributions that describes the
defined distribution. evolution of the graph. We firmly believe, that the degree
      </p>
      <p>
        Another graph generation model producing a given distribution is a key feature that characterizes graphs,
degree distribution is the CL model, forming the basis hence, it should not be disregarded in graph generation
of the RTGEN tool. This model can be regarded as a tools.
successor of the Erdos-Rényi model [23] that is designed
for the generation of random graphs and a variant of
the edge configuration model of Newman et al. [ 24]. 8. Conclusion
It was extensively discussed and reused [
        <xref ref-type="bibr" rid="ref16">17, 28, 29, 30</xref>
        ].
      </p>
      <p>We choose to extend this model for its simplicity and In this paper, we addressed the generation of temporal
scalability. graphs that represents a critical challenge in the design</p>
      <p>
        Besides, a number of existing graph generators are of benchmarks specific for evaluating temporal graph
community-aware in the sense that they collect vertices management systems. That is, we proposed RTGEN, a
that are more densely connected between each other temporal graph generator that produces a sequence of
than they are with the rest of the graph, in separate or graph snapshots whose community structure and
evoluoverlapping subgraphs called communities [
        <xref ref-type="bibr" rid="ref10 ref8 ref9">9, 10, 11</xref>
        ]. tion of the degree distribution results from approximating
Although these generators preserve a given community user defined parameters. This generation procedure
constructure, they fail to produce a graph with respect to a sists of relatively generating a graph snapshot from a
given degree distribution. In this paper, we overcome this previous one by applying a number of atomic graph
oplimitation by allowing not only the generation of a given erations. Our generation technique relies on an Optimal
community structure but also a given degree distribution. transport solver to approximate a user-defined sequence
      </p>
      <p>
        Despite the extensive work posited on the genera- of degree distributions while minimizing the number of
tion of non-temporal graphs, the generation of tempo- operations needed to transform one snapshot into its
ral graphs has received much less attention. For in- successor. We conducted a number of experiments that
stance, DANCer [31] is capable of generating temporal, validated the eficiency and accuracy of our generation
community-aware property graphs. It separates opera- procedure. In the future, we are planning to include a
tions performed on communities (macro operations) from dynamic community structure to RTGEN. Indeed, the
operations performed on vertices and edges (micro opera- communities found in real-world graphs are subject to
tions). ComAwareNetGrowth [32] is a community-aware splits, merges, shrinks or expansions which should also
graph generator that is capable of creating growth only be modelled in synthetic graphs.
graphs. APA (Attribute-Aware Preferential Attachment)
[33] is a graph generator capable of creating growth-only References
property graphs based on a non-conventional triangle
closing. Instead of closing a triangle based on a uniform [1] J. R. Clough, T. S. Evans, Time and citation
netprobability given as an input parameter, their proposed works, arXiv preprint arXiv:1507.01388 (2015).
model consists of closing a triangle based on the simi- [2] M. D. Mueller, D. Hasenfratz, O. Saukh, M. Fierz,
larity between the candidate edge’s endpoints. While C. Hueglin, Statistical modelling of particle number
GMark [
        <xref ref-type="bibr" rid="ref7">8</xref>
        ] generates static graphs, EGG (Evolving Graph concentration in zurich at high spatio-temporal
resGenerator) [34] proposes an extension including evolv- olution utilizing data from a mobile sensor network,
ing properties attached to each vertex. EGG, however, Atmospheric Environment 126 (2016) 171–181.
disregard the topological changes to the network and [3] L. Akoglu, C. Faloutsos, Rtg: a recursive realistic
narrow the temporal evolution of the graph to property graph generator using random typing, in: Joint
munity structure generator, in: Joint European
Conference on Machine Learning and Knowledge
      </p>
      <p>Discovery in Databases, Springer, 2016, pp. 41–44.
[32] F. Gursoy, B. Badur, A community-aware network
growth model for synthetic social network
generation, arXiv preprint arXiv:1901.03629 (2019).
[33] A. Aghasadeghi, J. Stoyanovich, Generating
evolving property graphs with attribute-aware
preferential attachment, in: Proceedings of the Workshop
on Testing Database Systems, 2018, pp. 1–6.
[34] K. Alami, R. Ciucanu, E. M. Nguifo, Synthetic graph
generation from finely-tuned temporal constraints.,
in: TD-LSG@ PKDD/ECML, 2017, pp. 44–47.
[35] B. Duan, W. Luo, H. Jiang, L. Ni, Dynamic social
networks generator based on modularity:
Dsngm, in: 2019 2nd International Conference on Data
Intelligence and Security (ICDIS), IEEE, 2019, pp.
167–173.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>rr10000</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <source>u European Conference on Machine Learning and 15882. Knowledge Discovery in Databases</source>
          , Springer,
          <year>2009</year>
          , [18]
          <string-name>
            <given-names>A. G.</given-names>
            <surname>Labouseur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Birnbaum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. W.</given-names>
            <surname>Olsen</surname>
          </string-name>
          , S. R. pp.
          <fpage>13</fpage>
          -
          <lpage>28</lpage>
          . Spillane,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vijayan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-H.</given-names>
            <surname>Hwang</surname>
          </string-name>
          , W.-S. Han, The
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Chakrabarti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Faloutsos</surname>
          </string-name>
          , R-mat:
          <article-title>A g* graph database: eficiently managing large disrecursive model for graph mining</article-title>
          ,
          <source>in: Proceedings tributed dynamic graphs, Distributed and Parallel of the 2004 SIAM International Conference on Data Databases</source>
          <volume>33</volume>
          (
          <year>2015</year>
          )
          <fpage>479</fpage>
          -
          <lpage>514</lpage>
          . Mining,
          <string-name>
            <surname>SIAM</surname>
          </string-name>
          ,
          <year>2004</year>
          , pp.
          <fpage>442</fpage>
          -
          <lpage>446</lpage>
          . [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Then</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kersten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Günnemann</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Kemper,
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Leskovec</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chakrabarti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kleinberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Falout- T. Neumann</surname>
          </string-name>
          ,
          <article-title>Automatic algorithm transformation sos, Z. Ghahramani, Kronecker graphs: An ap- for eficient multi-snapshot analytics on temporal proach to modeling networks</article-title>
          ,
          <source>Journal of Machine graphs, Proceedings of the VLDB Endowment 10 Learning Research</source>
          <volume>11</volume>
          (
          <year>2010</year>
          )
          <fpage>985</fpage>
          -
          <lpage>1042</lpage>
          . (
          <year>2017</year>
          )
          <fpage>877</fpage>
          -
          <lpage>888</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T. G.</given-names>
            <surname>Kolda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pinar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Plantenga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Seshadhri</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          [20]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Lo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhu</surname>
          </string-name>
          , R. Cheng,
          <article-title>On querying scalable generative graph model with community historical evolving graph sequences, Proceedings structure</article-title>
          ,
          <source>SIAM Journal on Scientific Computing of the VLDB Endowment</source>
          <volume>4</volume>
          (
          <year>2011</year>
          )
          <fpage>726</fpage>
          -
          <lpage>737</lpage>
          . 36 (
          <year>2014</year>
          )
          <fpage>C424</fpage>
          -
          <lpage>C452</lpage>
          . [21]
          <string-name>
            <given-names>W.</given-names>
            <surname>Aiello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <article-title>A random graph model</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Edunov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Logothetis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ching</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Ka- for power law graphs</article-title>
          ,
          <source>Experimental Mathematics biljo, Darwini: Generating realistic large-scale so- 10</source>
          (
          <year>2001</year>
          )
          <fpage>53</fpage>
          -
          <lpage>66</lpage>
          . cial graphs,
          <source>arXiv preprint arXiv:1610.00664</source>
          (
          <year>2016</year>
          ). [22]
          <string-name>
            <given-names>F.</given-names>
            <surname>Chung</surname>
          </string-name>
          , L. Lu, Connected components in ran-
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bagan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bonifati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ciucanu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. H.</given-names>
            <surname>Fletcher</surname>
          </string-name>
          ,
          <article-title>dom graphs with given expected degree sequences, A</article-title>
          . Lemay, N. Advokaat, gmark: Schema-driven
          <source>Annals of combinatorics 6</source>
          (
          <year>2002</year>
          )
          <fpage>125</fpage>
          -
          <lpage>145</lpage>
          .
          <article-title>generation of graphs and queries</article-title>
          , IEEE Transac- [23]
          <string-name>
            <given-names>P.</given-names>
            <surname>Erdos</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>rényi on random graphs i</article-title>
          ,
          <source>Publ. Math. tions on Knowledge and Data Engineering</source>
          <volume>29</volume>
          (
          <year>2016</year>
          )
          <article-title>Debrecen 6 (</article-title>
          <year>1959</year>
          )
          <fpage>290</fpage>
          -
          <lpage>297</lpage>
          .
          <fpage>856</fpage>
          -
          <lpage>869</lpage>
          . [24]
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Newman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Watts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. H.</given-names>
            <surname>Strogatz</surname>
          </string-name>
          , Random
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P. W.</given-names>
            <surname>Holland</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. B. Laskey</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Leinhardt</surname>
          </string-name>
          ,
          <article-title>Stochastic graph models of social networks</article-title>
          ,
          <source>Proceedings of the blockmodels: First steps, Social networks 5</source>
          (
          <year>1983</year>
          )
          <article-title>national academy of sciences 99 (</article-title>
          <year>2002</year>
          )
          <fpage>2566</fpage>
          -
          <lpage>2572</lpage>
          .
          <fpage>109</fpage>
          -
          <lpage>137</lpage>
          . [25]
          <string-name>
            <given-names>R.</given-names>
            <surname>Flamary</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Courty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gramfort</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Z.</given-names>
            <surname>Alaya</surname>
          </string-name>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>B.</given-names>
            <surname>Karrer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Newman</surname>
          </string-name>
          , Stochastic blockmodels
          <string-name>
            <given-names>A.</given-names>
            <surname>Boisbunon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chambon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Chapel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Corenflos</surname>
          </string-name>
          , and
          <article-title>community structure in networks, Physical K</article-title>
          . Fatras,
          <string-name>
            <given-names>N.</given-names>
            <surname>Fournier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gautheron</surname>
          </string-name>
          , N. T. Gayraud,
          <string-name>
            <surname>review E</surname>
          </string-name>
          83 (
          <year>2011</year>
          )
          <article-title>016107</article-title>
          . H.
          <string-name>
            <surname>Janati</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Rakotomamonjy</surname>
            ,
            <given-names>I. Redko</given-names>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Rolet,
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>B.</given-names>
            <surname>Kamiński</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Prałat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Théberge</surname>
          </string-name>
          ,
          <string-name>
            <surname>Artificial bench- A. Schutz</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Seguy</surname>
            ,
            <given-names>D. J.</given-names>
          </string-name>
          <string-name>
            <surname>Sutherland</surname>
          </string-name>
          , R. Tavenard,
          <article-title>mark for community detection (abcd): Fast ran- A.</article-title>
          <string-name>
            <surname>Tong</surname>
          </string-name>
          , T. Vayer, Pot:
          <article-title>Python optimal transport, dom graph model with community structure</article-title>
          ,
          <source>arXiv Journal of Machine Learning Research</source>
          <volume>22</volume>
          (
          <year>2021</year>
          ) preprint arXiv:
          <year>2002</year>
          .
          <volume>00843</volume>
          (
          <year>2020</year>
          ).
          <article-title>1-8</article-title>
          . URL: http://jmlr.org/papers/v22/
          <fpage>20</fpage>
          -
          <lpage>451</lpage>
          .html.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>P.</given-names>
            <surname>Holme</surname>
          </string-name>
          ,
          <article-title>Modern temporal network theory: a</article-title>
          [26]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bastian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Heymann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jacomy</surname>
          </string-name>
          ,
          <article-title>Gephi: an open colloquium, The European Physical Journal B 88 source software for exploring and manipulating (</article-title>
          <year>2015</year>
          )
          <article-title>234. networks</article-title>
          , in: Third international AAAI conference
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>E.</given-names>
            <surname>Pitoura</surname>
          </string-name>
          , Historical graphs: models, storage, pro- on
          <source>weblogs and social media</source>
          ,
          <year>2009</year>
          . cessing,
          <source>in: European Business Intelligence and Big</source>
          [27]
          <string-name>
            <given-names>V. D.</given-names>
            <surname>Blondel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-L.</given-names>
            <surname>Guillaume</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lambiotte</surname>
          </string-name>
          , E. LefebData Summer School, Springer,
          <year>2017</year>
          , pp.
          <fpage>84</fpage>
          -
          <lpage>111</lpage>
          . vre,
          <article-title>Fast unfolding of communities in large net-</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Miao</surname>
          </string-name>
          , W. Han,
          <string-name>
            <given-names>K.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Yang</surname>
          </string-name>
          , L. Zhou, works, Journal of statistical mechanics: theory and
          <string-name>
            <given-names>V.</given-names>
            <surname>Prabhakaran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Chen</surname>
          </string-name>
          , W. Chen, Immortal- experiment
          <year>2008</year>
          (
          <year>2008</year>
          )
          <article-title>P10008</article-title>
          .
          <article-title>graph: A system for storage and analysis of tempo-</article-title>
          [28]
          <string-name>
            <given-names>F.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. R.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. C.</given-names>
            <surname>Graham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. F.</surname>
          </string-name>
          <article-title>ral graphs, ACM Transactions on Storage (TOS) 11 Chung</article-title>
          , et al.,
          <source>Complex graphs and networks</source>
          ,
          <volume>107</volume>
          , (
          <year>2015</year>
          )
          <fpage>1</fpage>
          -
          <lpage>34</lpage>
          . American Mathematical Soc.,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>U.</given-names>
            <surname>Khurana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Deshpande</surname>
          </string-name>
          , Storing and analyz- [29]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pinar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Seshadhri</surname>
          </string-name>
          ,
          <string-name>
            <surname>T. G. Kolda,</surname>
          </string-name>
          <article-title>The similarity ing historical graph data at scale, arXiv preprint between stochastic kronecker and chung-lu graph</article-title>
          <source>arXiv:1509.08960</source>
          (
          <year>2015</year>
          ). models,
          <source>in: Proceedings of the 2012 SIAM Interna-</source>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Haeusler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Trojer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kessler</surname>
          </string-name>
          , M. Farwick, tional Conference on Data Mining,
          <string-name>
            <surname>SIAM</surname>
          </string-name>
          ,
          <year>2012</year>
          ,
          <string-name>
            <given-names>pp. E.</given-names>
            <surname>Nowakowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Breu</surname>
          </string-name>
          , Chronograph: A ver-
          <volume>1071</volume>
          -1082.
          <article-title>sioned tinkerpop graph database</article-title>
          , in: International [30]
          <string-name>
            <given-names>M.</given-names>
            <surname>Winlaw</surname>
          </string-name>
          , H. DeSterck,
          <string-name>
            <surname>G. Sanders,</surname>
          </string-name>
          <article-title>An in-depth Conference on Data Management Technologies and analysis of the chung-lu model</article-title>
          ,
          <source>Technical Report, Applications</source>
          , Springer,
          <year>2017</year>
          , pp.
          <fpage>237</fpage>
          -
          <lpage>260</lpage>
          . Lawrence Livermore National Lab.
          <source>(LLNL)</source>
          , Liver-
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>F.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <surname>L. Lu,</surname>
          </string-name>
          <article-title>The average distances in random more</article-title>
          ,
          <source>CA (United States)</source>
          ,
          <year>2015</year>
          .
          <article-title>graphs with given expected degrees</article-title>
          , Proceedings of [31]
          <string-name>
            <given-names>O.</given-names>
            <surname>Benyahia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Largeron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Jeudy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. R.</given-names>
            <surname>Zaïane</surname>
          </string-name>
          ,
          <source>the National Academy of Sciences</source>
          <volume>99</volume>
          (
          <year>2002</year>
          )
          <fpage>15879</fpage>
          -
          <lpage>Dancer</lpage>
          :
          <article-title>Dynamic attributed network with com-</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>