• DocumentCode
    610327
  • Title

    SociaLite: Datalog extensions for efficient social network analysis

  • Author

    Jiwon Seo ; Guo, Sini ; Lam, M.S.

  • Author_Institution
    Comput. Syst. Lab., Stanford Univ., Stanford, CA, USA
  • fYear
    2013
  • fDate
    8-12 April 2013
  • Firstpage
    278
  • Lastpage
    289
  • Abstract
    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. We evaluated SociaLite by running eight graph algorithms (shortest paths, PageRank, hubs and authorities, mutual neighbors, connected components, triangles, clustering coefficients, and betweenness centrality) on two real-life social graphs, Live-Journal and Last.fm. 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% 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, giving up only 16% for the largest benchmark. Most importantly, being a query language, SociaLite enables many more users who are not proficient in software engineering to make social network queries easily and efficiently.
  • Keywords
    DATALOG; Java; graph theory; pattern clustering; recursive functions; social networking (online); Datalog extension; Java; PageRank; SociaLite; betweenness centrality; clustering coefficient; data layout; evaluation order; graph algorithm; high-level graph query language; hubs; large-scale graph analysis; logic programming language; lower-level general-purpose language; real-life social graph; recursive aggregate function; shortest path; social network analysis; software engineering; Aggregates; Algorithm design and analysis; Arrays; Java; Optimization; Semantics; Social network services;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Data Engineering (ICDE), 2013 IEEE 29th International Conference on
  • Conference_Location
    Brisbane, QLD
  • ISSN
    1063-6382
  • Print_ISBN
    978-1-4673-4909-3
  • Electronic_ISBN
    1063-6382
  • Type

    conf

  • DOI
    10.1109/ICDE.2013.6544832
  • Filename
    6544832