Skip to main content
Log in

An algebraic approach to temporal network analysis based on temporal quantities

  • Original Article
  • Published:
Social Network Analysis and Mining Aims and scope Submit manuscript

Abstract

In a temporal network, the presence and activity of nodes and links can change through time. To describe temporal networks we introduce the notion of temporal quantities. We define the addition and multiplication of temporal quantities in a way that can be used for the definition of addition and multiplication of temporal networks. The corresponding algebraic structures are semirings. The usual approach to (data) analysis of temporal networks is to transform the network into a sequence of time slices—static networks corresponding to selected time intervals and analyze each of them using standard methods to produce a sequence of results. The approach proposed in this paper enables us to compute these results directly. We developed fast algorithms for the proposed operations. They are available as an open source Python library TQ (Temporal Quantities) and a program Ianus. The proposed approach enables us to treat as temporal quantities also other network characteristics such as degrees, connectivity components, centrality measures, Pathfinder skeleton, etc. To illustrate the developed tools we present some results from the analysis of Franzosi’s violence network and Corman’s Reuters terror news network.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  • Batagelj V (1994) Semirings for social networks analysis. J Math Sociol 19(1):53–68

    Article  MathSciNet  MATH  Google Scholar 

  • Batagelj V (2009) Social network analysis, large-scale. Meyers RA (ed) Encyclopedia of complexity and systems science, Springer, 8245–8265

  • Batagelj V, Cerinšek M (2013) On bibliographic networks. Scientometrics 96(3):845–864

    Article  Google Scholar 

  • Bhadra S, Ferreira A (2003) Complexity of connected components in evolving graphs and the computation of multicast trees in dynamic networks. In ADHOC-NOW, LNCS 2865, Springer, 259–270

  • Cantos-Mateos G, Zulueta MÁ, Vargas-Quesada B, Chinchilla-Rodríguez Z (2014) Estudio evolutivo de la investigación española con células madre. Visualización e identificación de las principales líneas de investigación. El Profesional de la Información, 23(3), 259–271

  • Carré B (1979) Graphs and networks. Clarendon, Oxford

    MATH  Google Scholar 

  • Casteigts A, Flocchini P, Quattrociocchi W, Santoro N (2012) Time-varying graphs and dynamic networks. Int J Parallel Emergent Distribut Syst 27(5):387–408

    Article  Google Scholar 

  • Corman SR, Kuhn T, McPhee RD, Dooley KJ (2002) Studying complex discursive systems: centering resonance analysis of communication. Human Commun Res 28(2):157–206

    Google Scholar 

  • de Nooy W, Mrvar A, Batagelj V (2012) Exploratory social network analysis with Pajek (structural analysis in the social sciences), revised and expanded, 2nd edn. Cambridge University Press, Cambridge

    Google Scholar 

  • Feenstra RC, Lipsey RE, Deng H, Ma AC, Mo H (2005). World Trade Flows: 1962–2000. NBER Working Paper No. 11040

  • Fletcher JG (1980) A more general algorithm for computing closed semiring costs between vertices of a directed graph. CACM 23:350–351

    Article  Google Scholar 

  • Franzosi R (1997) Mobilization and Counter-Mobilization Processes: From the “Red Years” (1919–20) to the “Black Years” (1921–22) in Italy. A New Methodological Approach to the Study of Narrative Data. Theor Soc 26(2–3):275–304

    Article  Google Scholar 

  • Freeman LC (1978) Centrality in social networks; conceptual clarification. Social Networks 1:215–239

    Article  Google Scholar 

  • George B, Kim S, Shekhar S (2007) Spatio-temporal network databases and routing algorithms: a summary of results. In: Papadias D, Zhang D, Kollios G (eds) SSTD 2007, LNCS 4605. Springer-Verlag, Berlin, Heidelberg, pp 460–477

    Google Scholar 

  • Gondran M, Minoux M (2008) Graphs, dioids and semirings: new models and algorithms. Springer, Hiedelberg

    MATH  Google Scholar 

  • Guerrero-Bote VP, Zapico-Alonso F, Espinosa-Calvo ME, Crisóstomo RG, de Moya-Anegón F (2006) Binary pathfinder: an improvement to the pathfinder algorithm. Info Proc Manag 42(6):1484–1490

    Article  Google Scholar 

  • Gulyás L, Kampis G, Legendi RO (2013) Elementary models of dynamic networks. Eur Phys J Special Topics 222:1311–1333

    Article  Google Scholar 

  • Holme P (2015) Modern temporal network theory: a colloquium. Eur Phys J B 88:234

    Article  Google Scholar 

  • Holme P, Saramäki J (2012) Temporal networks. Phys Rep 519(3):97–125

    Article  Google Scholar 

  • Holme P, Saramäki J (eds) (2013) Temporal Networks. Understanding Complex Systems. Springer, Hiedelberg

  • Kim H, Yoon JW, Crowcroft J (2012) Network analysis of temporal trends in scholarly research productivity. J Informetr 6:97–110

    Article  Google Scholar 

  • Kolaczyk ED (2009) Stat Anal Network Data Meth Models. Springer, New York

    Book  Google Scholar 

  • Kontoleon N, Falzon L, Pattison P (2013) Algebraic structures for dynamic networks. J Math Psychol 57(6):310–319

    Article  MathSciNet  MATH  Google Scholar 

  • Moody J (2002) The importance of relationship timing for diffusion. Social Forces 81(1):25–56

    Article  Google Scholar 

  • Moody J, McFarland D, Bender-deMoll S (2005) Dynamic network visualization. Am J Sociol 110(4):1206–1241

    Article  Google Scholar 

  • Praprotnik S, Batagelj V (2016) Spectral centrality measures in temporal networks. Ars Mathematica Contemporanea 11:11–33

    MathSciNet  MATH  Google Scholar 

  • Praprotnik S, Batagelj V (2016) Semirings for temporal network analysis. http://arxiv.org/abs/1603.08261

  • Riordan J (1958) Introduction to combinatorial analysis. Wiley, New York

    MATH  Google Scholar 

  • Schvaneveldt RW (ed) (1990) Pathfinder associative networks: studies in knowledge organization. Ablex, Norwood, NJ

    MATH  Google Scholar 

  • Xuan BB, Ferreira A, Jarry A (2003) Computing shortest, fastest, and foremost journeys in dynamic networks. Int J Foundations Comput Sci 14(2):267–285

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgments

This work was supported in part by the ARRS, Slovenia, research program P1-0294 and research projects J5-5537 and J1-5433, as well as by a grant within the EURO-CORES Programme EUROGIGA (project GReGAS) of the European Science Foundation. The paper is based on our talks presented at the 1st European Conference on Social Networks, Barcelona (UAB), July 1–4, 2014.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vladimir Batagelj.

Appendix: Algorithms

Appendix: Algorithms

1.1 Clustering coefficient

Algorithm 4 presents an algorithm for computing different types of temporal clustering coefficient. The function \(\textit{nRows}(\mathbf {A})\) returns the size (number of rows) of matrix \(\mathbf {A}\). The function \(\textit{VecConst}(n,v)\) constructs a temporal vector of size n filled with the temporal quantity v. The function \(\textit{MatBin}(\mathbf {A})\) transforms all values in the triples in the matrix \(\mathbf {A}\) to 1. The function \(\textit{MatSetDiag}(\mathbf {A},c)\) sets all the diagonal entries of the matrix \(\mathbf {A}\) to the temporal quantity c. The function \(\textit{MatSym}(\mathbf {A})\) makes the transformation \(\mathbf {S} = \mathbf {A}\oplus \mathbf {A}^T\).

Functions \(\textit{VecSum}\) and \(\textit{VecProd}\) implement a component wise composition of temporal vectors:

$$\begin{aligned} \textit{VecSum}(a,b) = [a_i \oplus b_i,\ i = 1, \ldots , n] \end{aligned}$$

and

$$\begin{aligned} \textit{VecProd}(a,b) = [a_i \odot b_i,\ i = 1, \ldots , n]. \end{aligned}$$

Similarly \(\textit{VecInv}(a) = [\textit{invert}(a_i),\ i = 1, \ldots , n]\) in the combinatorial semiring; where

$$\begin{aligned} \textit{invert}(a) = [ (s,f,1/v)\, \mathbf{for}\, (s,f,v) \in a ]. \end{aligned}$$

The function \(\textit{MatProd}(\mathbf {A},\mathbf {B})\) determines the product \(\mathbf {A \odot B}\). Since we need only the diagonal values of the matrix \(\mathbf {SAS}\) we applied a special function \(\textit{MatProdDiag}\) that determines only the diagonal vector of the product \(\mathbf {A \odot B}\). Afterward, to get the clustering coefficient, we have to normalize the obtained counts. The number of neighbors of the node v is determined as its degree in the corresponding undirected temporal skeleton graph (in which an edge \(e=(v:u)\) exists iff there is at least one arc between the nodes v and u). The maximum number of neighbors \(\Delta\) can be considered either for a selected time point (\(\textit{type}=2\)) or for the complete time window (\(\textit{type}=3\)). Note that to determine the temporal \(\Delta\) we used summing of temporal degrees over the maxmin semiring \((\mathbb {R},\max ,\min ,-\infty ,\infty )\).

figure ab

1.2 Equivalences

The transformation of the temporal equivalence matrix \(\mathbf {E}\) into the corresponding temporal partition \(\mathbf {p}\) is implemented as a procedure \(\textit{eqMat2Part}(\mathbf {E})\) (see Algorithm 5). Maybe in the future implementations we shall add a loop with the check of the injectivity of this mapping. The classes of the obtained temporal partition are finally renumbered with consecutive numbers using the function renumPart(p) (see Algorithm 6). The variable C in the description of the function renumPart is a dictionary (data structure).

figure ac
figure ad

1.3 Temporal closeness

To compute the vector of closeness coefficients of nodes we have to sum the temporal distances to other nodes over the combinatorial semiring, see Algorithm 7. While summing, we replace gaps (inactivity intervals inside \(\mathcal{T}\)) with time intervals with the value infinity, using the procedure \(\textit{fillGaps}\).

1.4 Temporal PathFinder

The scheme of Pathfinder is implemented (see Algorithm 8) as the function \(\textit{pathFinder}\). The temporal version of the statement

if \(\mathbf {W}^{(q)}[u,v] = \mathbf {W}[u,v]\) then \(\mathcal {L}_{PF} := \mathcal {L}_{PF} \cup \{ e \}\)

is implemented in the function \(\textit{PFcheck}\) (Algoritm 9) using the merging scheme.

The function \(\textit{MatPower}(A,k)\) computes the kth power of the matrix \(\mathbf {A}\).

figure ae
figure af
figure ag

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Batagelj, V., Praprotnik, S. An algebraic approach to temporal network analysis based on temporal quantities. Soc. Netw. Anal. Min. 6, 28 (2016). https://doi.org/10.1007/s13278-016-0330-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s13278-016-0330-4

Keywords

Mathematics Subject Classification

Navigation