Abstract
Graphs are a ubiquitous data model for capturing entities and their relationships. Since most graphs that model real-world networks evolve over time, efficiently managing temporal graphs is an important problem from both a theoretical and practical perspective. Querying the history of temporal graphs can lead to new applications such as object tracking, anomaly detection, and predicting future behavior. However, existing commercial graph databases lack native temporal support, hindering their usefulness in these use cases.
This paper introduces Clock-G, a temporal graph management system designed to handle the history temporal graphs. What differentiates Clock-G from other temporal graph management systems is its comprehensive approach, covering query language, query processing, and physical storage. We define T-Cypher, a temporal extension of Cypher query language, enabling user-friendly and concise querying of the graph’s history. Additionally, we propose a query processor that utilizes temporal statistics collected from underlying temporal graphs to offer a good evaluation plan for T-Cypher queries. We also propose a novel storage technique that balances space usage and query evaluation time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
The elapsed time between two time intervals i and \(i'\) is equal to the difference between the starting time instant of \(i'\) and the ending time instant of i.
- 6.
- 7.
- 8.
We use the built-in Neo4j’s indexing utility to include indexes on the properties tStart and tEnd.
References
Allen, J.F.: Maintaining knowledge about temporal intervals. Commun. ACM 26(11), 832–843 (1983)
Arenas, M., Bahamondes, P., Aghasadeghi, A., Stoyanovich, J.: Temporal regular path queries. In: 2022 IEEE 38th International Conference on Data Engineering (ICDE), pp. 2412–2425 (2022). https://doi.org/10.1109/ICDE53745.2022.00226
de Berg, M., van Kreveld, M., Overmars, M., Schwarzkopf, O.: Computational geometry. In: Computational Geometry, pp. 1–17. Springer, Heidelberg (1997). https://doi.org/10.1007/978-3-662-03427-9_1
Castelltort, A., Laurent, A.: Representing history in graph-oriented NOSQL databases: a versioning system. In: Eighth International Conference on Digital Information Management (ICDIM 2013), pp. 228–234. IEEE (2013)
Cattuto, C., Quaggiotto, M., Panisson, A., Averbuch, A.: Time-varying social networks in a graph database: a neo4j use case. In: First International Workshop on Graph Data Management Experiences and Systems. GRADES 2013, New York, NY, USA. Association for Computing Machinery (2013). https://doi.org/10.1145/2484425.2484442, https://doi.org/10.1145/2484425.2484442
Clifford, C.S.J.J., et al.: A consensus glossary of temporal database concepts. SIGMOD Record 23(1), 52–64 (1994)
Debrouvier, A., Parodi, E., Perazzo, M., Soliani, V., Vaisman, A.: A model and query language for temporal graph databases. VLDB J. 30(5), 825–858 (2021). https://doi.org/10.1007/s00778-021-00675-4
Deutsch, A., et al.: Graph pattern matching in GQL and SQL/PGQ. In: Proceedings of the 2022 International Conference on Management of Data. SIGMOD 2022, New York, NY, USA, pp. 2246–2258. Association for Computing Machinery (2022). https://doi.org/10.1145/3514221.3526057
Erling, O., et al: The LDBC social network benchmark: interactive workload. In: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. SIGMOD 2015, New York, NY, USA, pp. 619–630. Association for Computing Machinery (2015). https://doi.org/10.1145/2723372.2742786
Francis, N., et al.: Cypher: an evolving query language for property graphs. In: Proceedings of the 2018 International Conference on Management of Data, pp. 1433–1445 (2018)
George, B., Kang, J.M., Shekhar, S.: Spatio-temporal sensor graphs (STSG): a data model for the discovery of SPATIO-temporal patterns. Intell. Data Anal. 13(3), 457–475 (2009)
Ghrab, A., Romero, O., Skhiri, S., Vaisman, A.A., Zimányi, E.: GRAD: on graph database modeling. CoRR abs/1602.00503 (2016). http://arxiv.org/abs/1602.00503
Grandi, F.: T-SPARQL: A TSQL2-like temporal query language for RDF. In: ADBIS (Local Proceedings). pp. 21–30. Citeseer (2010)
Gubichev, A.: Query processing and optimization in graph databases. Ph.D. thesis, Technische Universität München (2015)
Hadjieleftheriou, M., Kollios, G., Gunopulos, D., Tsotras, V.J.: On-line discovery of dense areas in spatio-temporal databases. In: Hadzilacos, T., Manolopoulos, Y., Roddick, J., Theodoridis, Y. (eds.) SSTD 2003. LNCS, vol. 2750, pp. 306–324. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45072-6_18
Haeusler, M., Trojer, T., Kessler, J., Farwick, M., Nowakowski, E., Breu, R.: ChronoGraph: a versioned TinkerPop graph database. In: Filipe, J., Bernardino, J., Quix, C. (eds.) DATA 2017. CCIS, vol. 814, pp. 237–260. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94809-6_12
Han, W., Li, K., Chen, S., Chen, W.: Auxo: a temporal graph management system. Big Data Min. Anal. 2(1), 58–71 (2018)
Han, W., et al.: Chronos: a graph engine for temporal graph analysis. In: Proceedings of the Ninth European Conference on Computer Systems, pp. 1–14 (2014)
Hartig, O., Pérez, J.: Semantics and complexity of GRAPHQL. In: Proceedings of the 2018 World Wide Web Conference. WWW 2018, International World Wide Web Conferences Steering Committee, Republic and Canton of Geneva, CHE, pp. 1155–1164 (2018). https://doi.org/10.1145/3178876.3186014
Hartmann, T., Fouquet, F., Jimenez, M., Rouvoy, R., Le Traon, Y.: Analyzing complex data in motion at scale with temporal graphs (2020)
Huo, W., Tsotras, V.J.: Efficient temporal shortest path queries on evolving social graphs. In: Proceedings of the 26th International Conference on Scientific and Statistical Database Management. SSDBM 2014, New York, NY, USA. Association for Computing Machinery (2014). https://doi.org/10.1145/2618243.2618282
Hölsch, J., Grossniklaus, M.: An algebra and equivalences to transform graph patterns in neo4j. In: Palpanas, T., Stefanidis, K. (eds.) Proceedings of the Workshops of the EDBT/ICDT 2016 Joint Conference (EDBT/ICDT 2016). No. 1558 in CEUR Workshop Proceedings (2016). http://ceur-ws.org/Vol-1558/paper24.pdf
Kempe, D., Kleinberg, J., Kumar, A.: Connectivity and inference problems for temporal networks. J. Comput. Syst. Sci. 64(4), 820–842 (2002). https://doi.org/10.1006/jcss.2002.1829, https://www.sciencedirect.com/science/article/pii/S0022000002918295
Khurana, U., Deshpande, A.: Efficient snapshot retrieval over historical graph data. In: 2013 IEEE 29th International Conference on Data Engineering (ICDE), pp. 997–1008. IEEE (2013)
Khurana, U., Deshpande, A.: Storing and analyzing historical graph data at scale. arXiv preprint arXiv:1509.08960 (2015)
Koloniari, G., Souravlias, D., Pitoura, E.: On graph deltas for historical queries. arXiv preprint arXiv:1302.5549 (2013)
Kunegis, J.: Konect: The koblenz network collection. WWW 2013 Companion, New York, NY, USA, pp. 1343–1350. Association for Computing Machinery (2013). https://doi.org/10.1145/2487788.2488173
Labouseur, A.G., et al.: The g* graph database: efficiently managing large distributed dynamic graphs. Distrib. Parallel Databases 33(4), 479–514 (2015)
Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. ACM SIGOPS Oper. Syst. Rev. 44(2), 35–40 (2010)
Macko, P., Marathe, V.J., Margo, D.W., Seltzer, M.I.: Llama: efficient graph analytics using large multiversioned arrays. In: 2015 IEEE 31st International Conference on Data Engineering, pp. 363–374. IEEE (2015)
Massri, M., Miklos, Z., Raipin, P., Meye, P.: Clock-g: a temporal graph management system with space-efficient storage technique. In: 2022 IEEE 38th International Conference on Data Engineering (ICDE), Los Alamitos, CA, USA, pp. 2263–2276. IEEE Computer Society(2022). https://doi.org/10.1109/ICDE53745.2022.00215, https://doi.ieeecomputersociety.org/10.1109/ICDE53745.2022.00215
Miao, Y., et al.: Immortalgraph: a system for storage and analysis of temporal graphs. ACM Trans. Storage (TOS) 11(3), 1–34 (2015)
Moffitt, V.Z., Stoyanovich, J.: Temporal graph algebra. DBPL 2017, New York, NY, USA. Association for Computing Machinery (2017). https://doi.org/10.1145/3122831.3122838
Montanari, A., Chomicki, J.: Time domain. In: Liu, L., Özsu, M.T. (eds.) Encyclopedia of Database Systemspp, pp. 3103–3107. Springer, Boston (2009). https://doi.org/10.1007/978-0-387-39940-9_427
Pan, R.K., Saramäki, J.: Path lengths, correlations, and centrality in temporal networks. Phys. Rev. E 84(1), 016105 (2011)
Perry, M., Jain, P., Sheth, A.P.: SPARQL-ST: extending SPARQL to support spatiotemporal queries. In: Ashish, N., Sheth, A. (eds.) Geospatial Semantics and the Semantic Web. Semantic Web and Beyond, vol. 12, pp. 61–86. Springer, Boston (2011). https://doi.org/10.1007/978-1-4419-9446-2_3
Ramesh, S., Baranawal, A., Simmhan, Y.: A distributed path query engine for temporal property graphs. In: 2020 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID), pp. 499–508 (2020). https://doi.org/10.1109/CCGrid49817.2020.00-43
Redmond, U., Cunningham, P.: Subgraph isomorphism in temporal networks. CoRR abs/1605.02174 (2016). http://arxiv.org/abs/1605.02174
Rizzolo, F., Vaisman, A.A.: Temporal xml: modeling, indexing, and query processing. VLDB J.-Int. J. Very Large Data Bases 17(5), 1179–1212 (2008)
Rost, C., et al.: Distributed temporal graph analytics with gradoop. VLDB J. 31(2), 375–401 (2022). https://doi.org/10.1007/s00778-021-00667-4
Semertzidis, K., Pitoura, E., Lillis, K.: Timereach: historical reachability queries on evolving graphs. In: EDBT (2015)
Semertzidis, K., Pitoura, E., Terzi, E., Tsaparas, P.: Best friends forever (BFF): finding lasting dense subgraphs. CoRR abs/1612.05440 (2016). http://arxiv.org/abs/1612.05440
Snodgrass, R.T., et al.: TSQL2 language specification. SIGMOD Rec. 23(1), 65–86 (1994). https://doi.org/10.1145/181550.181562
Wen, D., Huang, Y., Zhang, Y., Qin, L., Zhang, W., Lin, X.: Efficiently answering span-reachability queries in large temporal graphs. In: 2020 IEEE 36th International Conference on Data Engineering (ICDE), pp. 1153–1164 (2020). https://doi.org/10.1109/ICDE48307.2020.00104
Wu, H., Huang, Y., Cheng, J., Li, J., Ke, Y.: Reachability and time-based path queries in temporal graphs. In: 2016 IEEE 32nd International Conference on Data Engineering (ICDE), pp. 145–156 (2016). https://doi.org/10.1109/ICDE.2016.7498236
Xiangyu, L., Yingxiao, L., Xiaolin, G., Zhenhua, Y.: An efficient snapshot strategy for dynamic graph storage systems to support historical queries. IEEE Access 8, 90838–90846 (2020)
Zhang, T., Gao, Y., Qiu, L., Chen, L., Linghu, Q., Pu, S.: Distributed time-respecting flow graph pattern matching on temporal graphs. World Wide Web 23(1), 609–630 (2020). https://doi.org/10.1007/s11280-019-00674-0
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 Springer-Verlag GmbH Germany, part of Springer Nature
About this chapter
Cite this chapter
Massri, M., Miklos, Z., Raipin, P., Meye, P. (2023). Clock-G: Temporal Graph Management System. In: Hameurlain, A., Tjoa, A.M., Boucelma, O., Toumani, F. (eds) Transactions on Large-Scale Data- and Knowledge-Centered Systems LIV. Lecture Notes in Computer Science(), vol 14160. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-68014-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-662-68014-8_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-68013-1
Online ISBN: 978-3-662-68014-8
eBook Packages: Computer ScienceComputer Science (R0)