SociaLite: An Efficient Graph Query Language Based on Datalog
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Seo, Jiwon | - |
dc.contributor.author | Guo, Stephen | - |
dc.contributor.author | Lam, Monica S. | - |
dc.date.accessioned | 2022-07-15T21:54:25Z | - |
dc.date.available | 2022-07-15T21:54:25Z | - |
dc.date.created | 2021-05-13 | - |
dc.date.issued | 2015-07 | - |
dc.identifier.issn | 1041-4347 | - |
dc.identifier.uri | https://scholarworks.bwise.kr/hanyang/handle/2021.sw.hanyang/156753 | - |
dc.description.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. 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. | - |
dc.language | 영어 | - |
dc.language.iso | en | - |
dc.publisher | IEEE COMPUTER SOC | - |
dc.title | SociaLite: An Efficient Graph Query Language Based on Datalog | - |
dc.type | Article | - |
dc.contributor.affiliatedAuthor | Seo, Jiwon | - |
dc.identifier.doi | 10.1109/TKDE.2015.2405562 | - |
dc.identifier.scopusid | 2-s2.0-84959521657 | - |
dc.identifier.wosid | 000355937800008 | - |
dc.identifier.bibliographicCitation | IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, v.27, no.7, pp.1824 - 1837 | - |
dc.relation.isPartOf | IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING | - |
dc.citation.title | IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING | - |
dc.citation.volume | 27 | - |
dc.citation.number | 7 | - |
dc.citation.startPage | 1824 | - |
dc.citation.endPage | 1837 | - |
dc.type.rims | ART | - |
dc.type.docType | 정기학술지(Article(Perspective Article포함)) | - |
dc.description.journalClass | 1 | - |
dc.description.isOpenAccess | N | - |
dc.description.journalRegisteredClass | scie | - |
dc.description.journalRegisteredClass | scopus | - |
dc.relation.journalResearchArea | Computer Science | - |
dc.relation.journalResearchArea | Engineering | - |
dc.relation.journalWebOfScienceCategory | Computer Science, Artificial Intelligence | - |
dc.relation.journalWebOfScienceCategory | Computer Science, Information Systems | - |
dc.relation.journalWebOfScienceCategory | Engineering, Electrical & Electronic | - |
dc.subject.keywordPlus | Aggregates | - |
dc.subject.keywordPlus | Algorithms | - |
dc.subject.keywordPlus | Benchmarking | - |
dc.subject.keywordPlus | Bioinformatics | - |
dc.subject.keywordPlus | Clustering algorithms | - |
dc.subject.keywordPlus | Computational linguistics | - |
dc.subject.keywordPlus | Computer software | - |
dc.subject.keywordPlus | Function evaluation | - |
dc.subject.keywordPlus | High level languages | - |
dc.subject.keywordPlus | Java programming language | - |
dc.subject.keywordPlus | Logic programming | - |
dc.subject.keywordPlus | Optimization | - |
dc.subject.keywordPlus | Query languages | - |
dc.subject.keywordPlus | Social networking (online) | - |
dc.subject.keywordPlus | Software engineering | - |
dc.subject.keywordAuthor | Datalog | - |
dc.subject.keywordAuthor | Graph Algorithms | - |
dc.subject.keywordAuthor | Query Languages | - |
dc.identifier.url | https://ieeexplore.ieee.org/document/7045548 | - |
Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.
222, Wangsimni-ro, Seongdong-gu, Seoul, 04763, Korea+82-2-2220-1365
COPYRIGHT © 2021 HANYANG UNIVERSITY.
Certain data included herein are derived from the © Web of Science of Clarivate Analytics. All rights reserved.
You may not copy or re-distribute this material in whole or in part without the prior written consent of Clarivate Analytics.