skip to main content
10.1145/3122831.3122841acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
short-paper

GraphScript: implementing complex graph algorithms in SAP HANA

Published:01 September 2017Publication History

ABSTRACT

Real-world graph applications are typically domain-specific and model complex business processes in the property graph data model. To implement a domain-specific graph algorithm in the context of such a graph application, simply providing a set of built-in graph algorithms is usually not sufficient nor does it allow algorithm customization to the user's needs. To cope with these issues, graph database vendors provide---in addition to their declarative graph query languages---procedural interfaces to write user-defined graph algorithms.

In this paper, we introduce GraphScript, a domain-specific graph query language tailored to serve advanced graph analysis tasks and the specification of complex graph algorithms. We describe the major language design of GraphScript, discuss graph-specific optimizations, and describe the integration into an enterprise data platform.

References

  1. Christopher R. Aberger, Andres Nötzli, Kunle Olukotun, and Christopher Ré. 2015. EmptyHeaded: Boolean Algebra Based Graph Processing. CoRR abs/1503.02368 (2015). http://arxiv.org/abs/1503.02368.Google ScholarGoogle Scholar
  2. Andrew Crotty, Alex Galakatos, Kayhan Dursun, Tim Kraska, Carsten Binnig, Ugur Cetintemel, and Stan Zdonik. 2015. An Architecture for Compiling UDF-centric Workflows. Proc. VLDB Endow. 8, 12 (Aug. 2015), 1466--1477. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Matthias Hauck, Marcus Paradies, Holger Fröning, Wolfgang Lehner, and Hannes Rauhe. 2015. Highspeed Graph Processing Exploiting Main-Memory Column Stores. In Proceedings of the Euro-Par 2015 International Workshops. 503--514. Google ScholarGoogle ScholarCross RefCross Ref
  4. Sungpack Hong, Hassan Chafi, Edic Sedlar, and Kunle Olukotun. 2012. Green-Marl: A DSL for Easy and Efficient Graph Analysis. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '12). 349--362. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chris Lattner. 2002. LLVM: An Infrastructure for Multi-Stage Optimization. Master's thesis. Computer Science Dept., University of Illinois at Urbana-Champaign, Urbana, IL.Google ScholarGoogle Scholar
  6. Yucheng Low, Joseph Gonzalez, Aapo Kyrola, Danny Bickson, Carlos Guestrin, and Joseph M. Hellerstein. 2010. GraphLab: A New Parallel Framework for Machine Learning. In Conference on Uncertainty in Artificial Intelligence (UAI '10). 340--349.Google ScholarGoogle Scholar
  7. Fabian Nagel, Gavin Bierman, and Stratis D. Viglas. 2014. Code Generation for Efficient Query Processing in Managed Runtimes. Proc. VLDB Endow. 7, 12 (Aug. 2014), 1095--1106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Thomas Neumann. 2011. Efficiently Compiling Efficient Query Plans for Modern Hardware. Proc. VLDB Endow. 4, 9 (June 2011), 539--550. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. OrientDB project website. 2017. http://www.orientdb.org/. (2017).Google ScholarGoogle Scholar
  10. Neo4j project website. 2017. http://neo4j.org/. (2017).Google ScholarGoogle Scholar
  11. Sparksee project website. 2017. http://www.sparsity-technologies.com/. (2017).Google ScholarGoogle Scholar
  12. Marko A. Rodriguez. 2015. The Gremlin Graph Traversal Machine and Language. CoRR abs/1508.03843 (2015). http://arxiv.org/abs/1508.03843Google ScholarGoogle Scholar
  13. Marko A. Rodriguez and Peter Neubauer. 2010. Constructions from Dots and Lines. CoRR abs/1006.2361 (2010). http://arxiv.org/abs/1006.2361.Google ScholarGoogle Scholar
  14. Julian Shun and Guy E. Blelloch. 2013. Ligra: A Lightweight Graph Processing Framework for Shared Memory. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '13). 135--146. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. GraphScript: implementing complex graph algorithms in SAP HANA

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        DBPL '17: Proceedings of The 16th International Symposium on Database Programming Languages
        September 2017
        99 pages
        ISBN:9781450353540
        DOI:10.1145/3122831

        Copyright © 2017 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 September 2017

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • short-paper

        Acceptance Rates

        DBPL '17 Paper Acceptance Rate10of15submissions,67%Overall Acceptance Rate10of15submissions,67%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader