Skip to main content
Log in

Generalized core maintenance of dynamic bipartite graphs

  • Published:
Data Mining and Knowledge Discovery Aims and scope Submit manuscript

Abstract

k-core is important in many graph mining applications, such as community detection and clique finding. As one generalized concept of k-core, (ij)-core is more suited for bipartite graph analysis since it can identify the functions of two different types of vertices. Because (ij)-cores evolve as edges are inserted into (removed from) a dynamic bipartite graph, it is more economical to maintain them rather than decompose the graph recursively when only a few edges change. Moreover, many applications (e.g., graph visualization) only focus on some dense (ij)-cores. Existing solutions are simply insufficiently adaptable. They must maintain all (ij)-cores rather than just a subset of them, which requires more effort. To solve this issue, we propose novel maintenance methods for updating expected (ij)-cores. To estimate the influence scope of inserted (removed) edges, we first construct quasi-(ij)-cores, which loosen the constraint of (ij)-cores but have similar properties. Second, we present a bottom-up approach for efficiently maintaining all (ij)-cores, from sparse to dense. Thirdly, because certain applications only focus on dense (ij)-cores of top-n layers, we also propose a top-down approach to maintain (ij)-cores from dense to sparse. Finally, we conduct extensive experiments to validate the efficiency of proposed approaches. Experimental results show that our maintenance solutions outperform existing approaches by one order of magnitude.

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

Similar content being viewed by others

Notes

  1. https://www.taobao.com/.

  2. https://www.weibo.com/.

  3. http://konect.uni-koblenz.de/.

References

  • Ahmed A, Batagelj V, Fu X, Hong SH, Merrick D, Mrvar A (2007) Visualisation and analysis of the internet movie database. In: International Asia-Pacific symposium on visualization, pp 17–24

  • Akkoyunlu EA (1973) The enumeration of maximal cliques of large graphs. SIAM J Comput 2(1):1–6

    Article  MathSciNet  Google Scholar 

  • Bai W, Chen Y, Wu D (2020) Efficient temporal core maintenance of massive graphs. Inf Sci 513:324–340

    Article  MathSciNet  Google Scholar 

  • Berlowitz D, Cohen S, Kimelfeld B (2015) Efficient enumeration of maximal k-plexes. In: ACM SIGMOD international conference on management of data, pp 431–444

  • Bonchi F, Gullo F, Kaltenbrunner A, Volkovich Y (2014) Core decomposition of uncertain graphs. In: ACM SIGKDD international conference on knowledge discovery and data mining, pp 1316–1325

  • Cheng J, Ke Y, Chu S, Ozsu MT (2011) Efficient core decomposition in massive networks. In: IEEE international conference on data engineering, pp 51–62

  • Cheng Y, Lu C, Wang N (2013) Local k-core clustering for gene networks. In: IEEE international conference on bioinformatics and biomedicine, pp 9–15

  • Ding D, Li H, Huang Z, Mamoulis N (2017) Efficient fault-tolerant group recommendation using alpha-beta-core. In: ACM international conference on information and knowledge management, pp 2047–2050

  • Giatsidis C, Thilikos DM, Vazirgiannis M (2012) D-cores: measuring collaboration of directed graphs based on degeneracy. In: IEEE international conference on data mining, pp 311–343

  • He X, Gao M, Kan MY, Wang D (2017) Birank: towards ranking on bipartite graphs. IEEE Trans Knowl Data Eng 29(1):57–71

    Article  Google Scholar 

  • Huang X, Cheng H, Qin L, Tian W, Yu JX (2014) Querying k-truss community in large and dynamic graphs. In: ACM SIGMOD international conference on management of data, pp 1311–1322

  • Jiang H, Li CM, Manya F (2017) An exact algorithm for the maximum weight clique problem in large graphs. In: Proceedings of the AAAI conference on artificial intelligence, pp 830–838

  • Khaouid W, Barsky M, Srinivasan V, Thomo A (2015) k-core decomposition of large networks on a single pc. Proc VLDB Endow 9(1):13–23

    Article  Google Scholar 

  • Li RH, Yu JX, Mao R (2014) Efficient core maintenance in large dynamic graphs. IEEE Trans Knowl Data Eng 26(10):2453–2465

    Article  Google Scholar 

  • Liu B, Yuan L, Lin X, Qin L, Zhang W, Zhou J (2020) Efficient (\(\alpha \), \(\beta \))-core computation in bipartite graphs. VLDB J 29(5):1075–1099

    Article  Google Scholar 

  • Lu C, Yu JX, Wei H, Zhang Y (2017) Finding the maximum clique in massive graphs. Proc VLDB Endow 10(11):1538–1549

    Article  Google Scholar 

  • Montresor A, De Pellegrini F, Miorandi D (2011) Distributed k-core decomposition. IEEE Trans Parallel Distrib Syst 24(2):288–300

    Article  Google Scholar 

  • Mukherjee AP, Tirthapura S (2017) Enumerating maximal bicliques from a large graph using mapreduce. IEEE Trans Serv Comput 10(5):771–784

    Article  Google Scholar 

  • Saríyüce AE, Gedik B, Jacques-Silva G, Wu KL, Çatalyürek ÜV (2013) Streaming algorithms for k-core decomposition. Proc VLDB Endow 6(6):433–444

    Article  Google Scholar 

  • Semertzidis K, Pitoura E, Terzi E, Tsaparas P (2019) Finding lasting dense subgraphs. Data Min Knowl Discov 33(5):1417–1445

    Article  MathSciNet  Google Scholar 

  • Wang X, Liu J (2018) A comparative study of the measures for evaluating community structure in bipartite networks. Inf Sci 448:249–262

    Article  MathSciNet  Google Scholar 

  • Wang Y, Cai S, Yin M (2018) New heuristic approaches for maximum balanced biclique problem. Inf Sci 432:362–375

    Article  MathSciNet  Google Scholar 

  • Wen D, Qin L, Zhang Y, Lin X, Yu JX (2016) I/o efficient core graph decomposition at web scale. In: IEEE international conference on data engineering, pp 133–144

  • Wen D, Qin L, Zhang Y, Lin X, Yu JX (2019) I/o efficient core graph decomposition: application to degeneracy ordering. IEEE Trans Knowl Data Eng 31(1):75–90

    Article  Google Scholar 

  • Wu H, Cheng J, Huang S, Ke Y, Lu Y, Xu Y (2014) Path problems in temporal graphs. Proc VLDB Endow 7(9):721–732

    Article  Google Scholar 

  • Wu H, Cheng J, Lu Y, and Ke Y (2015) Core decomposition in large temporal graphs. In: IEEE international conference on big data, pp 649–658

  • Yang Y, Yan D, Wu H, Cheng J, Zhou S, Lui J (2016) Diversified temporal subgraph pattern mining. In: ACM SIGKDD international conference on knowledge discovery and data mining, pp 1965–1974

  • Zhang Y, Yu JX, Zhang Y, Qin L (2017) A fast order-based approach for core maintenance. In: International conference on data engineering, pp 337–348

  • Zou Z (2016) Bitruss decomposition of bipartite graphs. In: International conference on database systems for advanced applications, pp 218–233

Download references

Acknowledgements

This work was supported by the National Key R&D Program of China under Grant 2018YFB0204100, the National Natural Science Foundation of China under Grants 61572538, 61802451, and U1911201, Guangdong Special Support Program under Grant 2017TX04X148. Di Wu is the corresponding author.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Di Wu.

Additional information

Responsible editor: M. J. Zaki.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A Proofs and Algorithms

Appendix A Proofs and Algorithms

Proof for Lemma 1

Let \(C = C(G_p,i,j)\) and \(P = P(i,j)\), \({\hat{C}}(P,C,i,j) \subseteq P\) holds by Definition 4. Thus, we just prove \(P \subseteq {\hat{C}}(P,C,i,j)\). Suppose there is a nonempty graph \(A = P \setminus {\hat{C}}(P,C,i,j)\), there must be a vertex \(l\ (r) \in A\) such that \(d(P(C),l)<i\ (d(P(C),r)<j)\), where P(C) is the extended graph of A on C, and this vertex leads to the recursive deletion on P. Otherwise, \({\hat{C}}(P,C,i,j)\) can expand via \(l\ (r)\). Since \(P = C(G_c,i,j) \setminus C\), \(d(P(C),l) \ge i\ (d(P(C),r) \ge j)\) always holds for \(l\ (r) \in P\), which makes a contradiction. Thus, \(P \subseteq {\hat{C}}(P,C,i,j)\).

In summary, \(P = {\hat{C}}(P,C,i,j)\). \(\square \)

Proof for Theorem 1

Let \(C = C(G_p,i,j)\), \(F = F_b(i,j)\) and \(P = P(i,j)\). Firstly, we prove \({\hat{C}}(F,C,i,j) \subseteq P\). Suppose there is a nonempty graph \(A = {\hat{C}}(F,C,i,j) \setminus P\), there must be a vertex \(l\ (r) \in A\) such that \(d(F(C),l)<i\ \) \((d(F(C),r)<j)\) and this vertex leads to recursive deletion on A, where F(C) is the extended graph of F on C. Otherwise, P can expand via \(l\ (r)\), which contradicts Definition 6. According to Definition 5, \(d(F(C),l) \ge i\ \) \((d(F(C),r) \ge j)\) holds for an arbitrary \(l\ (r) \in F\) unless there is a vertex \(l'\ (r') \in C\) such that \(d(C,l')< i\ (d(C,r') <j)\). Since C is the previous (ij)-core, this makes a contradiction. As for an edge \((l,r) \in A\), since \(l,r \in P\), P can expand via adding (lr), which contradicts Definition 6. Thus, \({\hat{C}}(F,C,i,j) \subseteq P\).

Secondly, we prove \(P \subseteq {\hat{C}}(F,C,i,j)\). Since \(P\subseteq F\), \({\hat{C}}(P,C,i,j) \subseteq {\hat{C}}(F,C,i,\) j) holds. By Lemma 1, \(P(i,j) = {\hat{C}}(P,C,i,j) \subseteq {\hat{C}}(F,C,i,j)\).

In summary, \(P = {\hat{C}}(P,F,i,j)\). \(\square \)

Proof for Theorem 2

Since \(C(G_p,i,j)=\emptyset \), we have \(C(G_c,i,j) = P(i,j) \subseteq F_b(i,j)\). Since \(F_b(i,j) \subseteq G_{c}\), \(C(F_b(i,j),i,j) \subseteq C(G_c,i,j)\) holds. Due to \(C(G_c,i,j) \subseteq F_b(i,j)\), we have \(C(G_c,i,j) \subseteq C(F_b(i,j),i,j)\).

In summary, \(C(F_b(i,j),i,j)=C(G_c,i,j) = P(i,j)\). \(\square \)

Proof for Theorem 3

Let \(F = F_t(i,j) \), \(P = P(i,j)\) and \(C = C(G_c,i+1,j) \cup C(G_c,i,j+1) \cup C(G_p,i,j)\). Firstly, we prove \(({\hat{C}}(F,C,i,j) \cup C(G_c,i+1,j) \cup C(G_c,i,j+1)) \setminus C(G_p,i,j) \subseteq P\). Since \( C(G_c,i+1,j) \cup C(G_c,i,j+1) \subseteq C(G_c,i,j)\), \((C(G_c,i+1,j) \cup C(G_c,i,j+1)) \setminus C(G_p,i,j) \subseteq P\) holds. Since \({\hat{C}}(F,C,i,j) \setminus C(G_p,i,j) = \emptyset \), we just need to prove \({\hat{C}}(F,C,i,j) \subseteq P\). Suppose there is a nonempty graph \(A ={\hat{C}}(F,C,i,j)\setminus P\), we have \(d(F(C), l) \ge i\) or \(d(F(C),r) \ge j\) for arbitrary \(l,r \in A\), where F(C) is the extended graph of F on C. If \(l \notin P\), there must be a vertex \(l' \in C \ (r' \in C)\) such that \(d(C,l')<i\ (d(C, r') < j)\), which makes a contradiction. Since \(l,r \in P\), if \((l,r) \notin P\), then we have \(P \subseteq P \cup (l,r)\), which contradicts Definition 6. Thus, \(({\hat{C}}(F,C,i,j) \cup C(G_c,i+1,j) \cup C(G_c,i,j+1) ) \setminus C(G_p,i,j) \subseteq P\).

Secondly, we prove \( P \subseteq ({\hat{C}}(F,C,i,j) \cup C(G_c,i+1,j) \cup C(G_c,i,j+1)) \setminus C(G_p,i,j)\). Suppose there is a nonempty graph \(A = P \setminus (({\hat{C}}(F,C,i,j) \cup C(G_c,i+1,j) \cup C(G_c,i,j+1)) \setminus C(G_p,i,j))\). Since \((C(G_c,i+1,j) \cup C(G_c,i,j+1)) \setminus C(G_p,i,j) \subseteq P\) and \({\hat{C}}(F,C,i,j) \setminus C(G_p,i,j) = {\hat{C}}(F,C,i,j)\), \( A \subseteq P \setminus {\hat{C}}(F,C,i,j)\) holds. Clearly, \(A \subseteq F\). Since \(A \ne \emptyset \), there must be a vertex \(l\ (r) \in A\) such that \(d(F(C),l)<i\ (d(F(C),r)<j)\), where F(C) is the extended graph of F on C. By Definition 7 and C is the union graph of previous (ij)-core, \((i+1,j)\)-core and \((i,j+1)\)-core, \(d(F(C),l) \ge i\ (F(C),r) \ge j)\) holds for \(l\ (r) \in A\). Again, this is contradiction. Hence, \( P \subseteq ({\hat{C}}(F,C,i,j) \cup C(G_c,i+1,j) \cup C(G_c,i,j+1)) \setminus C(G_p,i,j)\).

In summary, \( P = ({\hat{C}}(F,C,i,j) \cup C(G_c,i+1,j) \cup C(G_c,i,j+1)) \setminus C(G_p,i,j)\). \(\square \)

Proof for Theorem 4

Let \(F = F_t(i,j)\), \(P = P(i,j)\) and \(C = C(G_c,i+1,j) \cup C(G_c,i,j+1)\). Firstly, we prove \({\hat{C}}(F,C,i,j) \cup C \subseteq P\). Since \(C(G_p,i,j) = \emptyset \), we have \(P= C(G_c,i,j)\). By Definition 6, we have \(C \subseteq C(G_c,i,j) = P\). Thus, we just need to prove \({\hat{C}}(F,C,i,j) \subseteq P\). Suppose there is a nonempty graph \(A = {\hat{C}}(F,C,i,j)\setminus P\), we have \(d(F(C),l) \ge i\ (d(F(C), r) \ge j)\) for arbitrary \(l \in A\ (r \in F)\), where F(C) is the extended graph of F on C. If \(l \notin P\), there must be a vertex \(l' \in C\ (r' \in C)\) such that \(d(C,l')< i\ (d(C,r') < j)\), which makes a contradiction because C is the union graph of \((i+1,j)\)-core and \((i,j+1)\)-core. Since \(l,r \in P\), if \((l,r) \notin P\), then we have \(P \subseteq P \cup (l,r)\), which contradicts Definition 6. Thus, \({\hat{C}}(F,C,i,j) \cup C \subseteq P\).

Secondly, we prove \(P\subseteq {\hat{C}}(F,C,i,j) \cup C\). Suppose there is a nonempty graph \(A = P \setminus ({\hat{C}}(F,C,i,j) \cup C)\), since \(C \subseteq P\), we have \(A \subseteq P \setminus {\hat{C}}(F,C,i,j)\). Clearly, \(A \subseteq F\), otherwise it contradicts our assumption. Since \(A \ne \emptyset \), there must be a vertex \(l\ (r) \in A\) such that \(d(F(C),l)<i\ (d(F(C),r)<j)\), where F(C) is the extended graph of F on C. By Definition 7 and C is the union graph of \((i+1,j)\)-core and \((i,j+1)\)-core, \(d(F(C),l) \ge i\ (d(F(C),r) \ge j)\) holds for \(l\ (r) \in A\). Again, this is a contradiction. Hence, \( P \subseteq {\hat{C}}(F,C,i,j) \cup C\).

In summary, \(P = {\hat{C}}(F,C,i,j) \cup C\). \(\square \)

figure e
figure f
figure g

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bai, W., Chen, Y., Wu, D. et al. Generalized core maintenance of dynamic bipartite graphs. Data Min Knowl Disc 36, 209–239 (2022). https://doi.org/10.1007/s10618-021-00805-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10618-021-00805-0

Keywords

Navigation