SociaLite: An Efficient Graph Query Language Based on Datalog

被引:19
|
作者
Seo, Jiwon [1 ]
Guo, Stephen [1 ]
Lam, Monica S. [1 ]
机构
[1] Stanford Univ, Dept Comp Sci, Stanford, CA 94305 USA
基金
美国国家科学基金会;
关键词
Datalog; query languages; graph algorithms; social network analysis; AGGREGATION;
D O I
10.1109/TKDE.2015.2405562
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
With the rise of social networks, large-scale graph analysis becomes increasingly important. Because SQL lacks the expressiveness and performance needed for graph algorithms, lower-level, general-purpose languages are often used instead. For greater ease of use and efficiency, we propose SociaLite, a high-level graph query language based on Datalog. As a logic programming language, Datalog allows many graph algorithms to be expressed succinctly. However, its performance has not been competitive when compared to low-level languages. With SociaLite, users can provide high-level hints on the data layout and evaluation order; they can also define recursive aggregate functions which, as long as they are meet operations, can be evaluated incrementally and efficiently. Moreover, recursive aggregate functions make it possible to implement more graph algorithms that cannot be implemented in Datalog. We evaluated SociaLite by running nine graph algorithms in total; eight for social network analysis (shortest paths, PageRank, hubs and authorities, mutual neighbors, connected components, triangles, clustering coefficients, and betweenness centrality) and one for biological network analysis (Eulerian cycles). We use two real-life social graphs, LiveJournal and Last. fm, for the evaluation as well as one synthetic graph. The optimizations proposed in this paper speed up almost all the algorithms by 3 to 22 times. SociaLite even outperforms typical Java implementations by an average of 50 percent for the graph algorithms tested. When compared to highly optimized Java implementations, SociaLite programs are an order of magnitude more succinct and easier to write. Its performance is competitive, with only 16 percent overhead for the largest benchmark, and 25 percent overhead for the worst case benchmark. Most importantly, being a query language, SociaLite enables many more users who are not proficient in software engineering to perform network analysis easily and efficiently.
引用
收藏
页码:1824 / 1837
页数:14
相关论文
共 50 条
  • [1] Distributed SociaLite: A Datalog-Based Language for Large-Scale Graph Analysis
    Seo, Jiwon
    Park, Jongsoo
    Shin, Jaeho
    Lam, Monica S.
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2013, 6 (14): : 1906 - 1917
  • [2] SociaLite: Datalog Extensions for Efficient Social Network Analysis
    Seo, Jiwon
    Guo, Stephen
    Lam, Monica S.
    2013 IEEE 29TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE), 2013, : 278 - 289
  • [3] Limit Datalog: A Declarative Query Language for Data Analysis
    Grau, Bernardo Cuenca
    Horrocks, Ian
    Kaminski, Mark
    Kostylev, Egor, V
    Motik, Boris
    SIGMOD RECORD, 2019, 48 (04) : 6 - 17
  • [4] A Query Language Perspective on Graph Learning
    Geerts, Floris
    PROCEEDINGS OF THE 42ND ACM SIGMOD-SIGACT-SIGAI SYMPOSIUM ON PRINCIPLES OF DATABASE SYSTEMS, PODS 2023, 2023, : 373 - 379
  • [5] A model and query language for temporal graph databases
    Ariel Debrouvier
    Eliseo Parodi
    Matías Perazzo
    Valeria Soliani
    Alejandro Vaisman
    The VLDB Journal, 2021, 30 : 825 - 858
  • [6] A model and query language for temporal graph databases
    Debrouvier, Ariel
    Parodi, Eliseo
    Perazzo, Matias
    Soliani, Valeria
    Vaisman, Alejandro
    VLDB JOURNAL, 2021, 30 (05) : 825 - 858
  • [7] RelSeeker: Relationship-based Query Language in a Graph Database for Social Networks
    Wu, Jiajia
    Nakamoto, Yukikazu
    2019 SIXTH INTERNATIONAL CONFERENCE ON SOCIAL NETWORKS ANALYSIS, MANAGEMENT AND SECURITY (SNAMS), 2019, : 268 - 273
  • [8] Towards a Temporal Graph Query Language for Durable Patterns
    Betsche, Daniel
    Schulz, Katrin
    Katzer, Balduin
    Boehm, Klemens
    SCIENTIFIC AND STATISTICAL DATABASE MANAGEMENT 36TH INTERNATIONAL CONFERENCE, SSDBM 2024, 2024,
  • [9] Aggregation Skip Graph: A Skip Graph Extension for Efficient Aggregation Query
    Abe, Kota
    Abe, Toshiyuki
    Ueda, Tatsuya
    Ishibashi, Hayato
    Matsuura, Toshio
    PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON ADVANCES IN P2P SYSTEMS (AP2PS 2010), 2010, : 93 - 99
  • [10] A general Datalog-based framework for tractable query answering over ontologies
    Cali, Andrea
    Gottlob, Georg
    Lukasiewicz, Thomas
    JOURNAL OF WEB SEMANTICS, 2012, 14 : 57 - 83