-
PG-Schema: Schemas for Property Graphs
Authors:
Renzo Angles,
Angela Bonifati,
Stefania Dumbrava,
George Fletcher,
Alastair Green,
Jan Hidders,
Bei Li,
Leonid Libkin,
Victor Marsault,
Wim Martens,
Filip Murlak,
Stefan Plantikow,
Ognjen Savković,
Michael Schmidt,
Juan Sequeda,
Sławek Staworko,
Dominik Tomaszuk,
Hannes Voigt,
Domagoj Vrgoč,
Mingxi Wu,
Dušan Živković
Abstract:
Property graphs have reached a high level of maturity, witnessed by multiple robust graph database systems as well as the ongoing ISO standardization effort aiming at creating a new standard Graph Query Language (GQL). Yet, despite documented demand, schema support is limited both in existing systems and in the first version of the GQL Standard. It is anticipated that the second version of the GQL…
▽ More
Property graphs have reached a high level of maturity, witnessed by multiple robust graph database systems as well as the ongoing ISO standardization effort aiming at creating a new standard Graph Query Language (GQL). Yet, despite documented demand, schema support is limited both in existing systems and in the first version of the GQL Standard. It is anticipated that the second version of the GQL Standard will include a rich DDL. Aiming to inspire the development of GQL and enhance the capabilities of graph database systems, we propose PG-Schema, a simple yet powerful formalism for specifying property graph schemas. It features PG-Types with flexible type definitions supporting multi-inheritance, as well as expressive constraints based on the recently proposed PG-Keys formalism. We provide the formal syntax and semantics of PG-Schema, which meet principled design requirements grounded in contemporary property graph management scenarios, and offer a detailed comparison of its features with those of existing schema languages and graph database systems.
△ Less
Submitted 8 July, 2023; v1 submitted 20 November, 2022;
originally announced November 2022.
-
Graph Pattern Matching in GQL and SQL/PGQ
Authors:
Alin Deutsch,
Nadime Francis,
Alastair Green,
Keith Hare,
Bei Li,
Leonid Libkin,
Tobias Lindaaker,
Victor Marsault,
Wim Martens,
Jan Michels,
Filip Murlak,
Stefan Plantikow,
Petra Selmer,
Hannes Voigt,
Oskar van Rest,
Domagoj Vrgoč,
Mingxi Wu,
Fred Zemke
Abstract:
As graph databases become widespread, JTC1 -- the committee in joint charge of information technology standards for the International Organization for Standardization (ISO), and International Electrotechnical Commission (IEC) -- has approved a project to create GQL, a standard property graph query language. This complements a project to extend SQL with a new part, SQL/PGQ, which specifies how to d…
▽ More
As graph databases become widespread, JTC1 -- the committee in joint charge of information technology standards for the International Organization for Standardization (ISO), and International Electrotechnical Commission (IEC) -- has approved a project to create GQL, a standard property graph query language. This complements a project to extend SQL with a new part, SQL/PGQ, which specifies how to define graph views over an SQL tabular schema, and to run read-only queries against them.
Both projects have been assigned to the ISO/IEC JTC1 SC32 working group for Database Languages, WG3, which continues to maintain and enhance SQL as a whole. This common responsibility helps enforce a policy that the identical core of both PGQ and GQL is a graph pattern matching sub-language, here termed GPML.
The WG3 design process is also analyzed by an academic working group, part of the Linked Data Benchmark Council (LDBC), whose task is to produce a formal semantics of these graph data languages, which complements their standard specifications.
This paper, written by members of WG3 and LDBC, presents the key elements of the GPML of SQL/PGQ and GQL in advance of the publication of these new standards.
△ Less
Submitted 12 December, 2021;
originally announced December 2021.
-
Semantic Foundations of Seraph Continuous Graph Query Language
Authors:
Emanuele Falzone,
Riccardo Tommasini,
Emanuele Della Valle,
Petra Selmer,
Stefan Plantikow,
Hannes Voigt,
Keith Hare,
Ljubica Lazarevic,
Tobias Lindaaker
Abstract:
The scientific community has been studying graph data models for decades. Their high expressiveness and elasticity led the scientific community to design a variety of graph data models and graph query languages, and the practitioners to use them to model real-world cases and extract useful information. Recently, property graphs and, in particular, Cypher 9 (the first open version of the well-known…
▽ More
The scientific community has been studying graph data models for decades. Their high expressiveness and elasticity led the scientific community to design a variety of graph data models and graph query languages, and the practitioners to use them to model real-world cases and extract useful information. Recently, property graphs and, in particular, Cypher 9 (the first open version of the well-known Neo4j Inc.'s language) are gaining popularity. Practitioners find Cypher useful and applicable in many scenarios. However, we are living in a streaming world where data continuously flows. A growing number of Cypher's users show interest in continuously querying graph data to act in a timely fashion. Indeed, Cypher lacks the features for dealing with streams of (graph) data and continuous query evaluation. In this work, we propose Seraph, an extension of Cypher, as a first attempt to introduce streaming features in the context of property graph query languages. Specifically, we define Seraph semantics, we propose a first version of Seraph syntax, and we discuss the potential impacts from a user perspective.
△ Less
Submitted 17 November, 2021;
originally announced November 2021.
-
The Future is Big Graphs! A Community View on Graph Processing Systems
Authors:
Sherif Sakr,
Angela Bonifati,
Hannes Voigt,
Alexandru Iosup,
Khaled Ammar,
Renzo Angles,
Walid Aref,
Marcelo Arenas,
Maciej Besta,
Peter A. Boncz,
Khuzaima Daudjee,
Emanuele Della Valle,
Stefania Dumbrava,
Olaf Hartig,
Bernhard Haslhofer,
Tim Hegeman,
Jan Hidders,
Katja Hose,
Adriana Iamnitchi,
Vasiliki Kalavri,
Hugo Kapp,
Wim Martens,
M. Tamer Özsu,
Eric Peukert,
Stefan Plantikow
, et al. (16 additional authors not shown)
Abstract:
Graphs are by nature unifying abstractions that can leverage interconnectedness to represent, explore, predict, and explain real- and digital-world phenomena. Although real users and consumers of graph instances and graph workloads understand these abstractions, future problems will require new abstractions and systems. What needs to happen in the next decade for big graph processing to continue t…
▽ More
Graphs are by nature unifying abstractions that can leverage interconnectedness to represent, explore, predict, and explain real- and digital-world phenomena. Although real users and consumers of graph instances and graph workloads understand these abstractions, future problems will require new abstractions and systems. What needs to happen in the next decade for big graph processing to continue to succeed?
△ Less
Submitted 11 December, 2020;
originally announced December 2020.
-
Formal Semantics of the Language Cypher
Authors:
Nadime Francis,
Alastair Green,
Paolo Guagliardo,
Leonid Libkin,
Tobias Lindaaker,
Victor Marsault,
Stefan Plantikow,
Mats Rydberg,
Martin Schuster,
Petra Selmer,
Andrés Taylor
Abstract:
Cypher is a query language for property graphs. It was originally designed and implemented as part of the Neo4j graph database, and it is currently used in a growing number of commercial systems, industrial applications and research projects. In this work, we provide denotational semantics of the core fragment of the read-only part of Cypher, which features in particular pattern matching, filterin…
▽ More
Cypher is a query language for property graphs. It was originally designed and implemented as part of the Neo4j graph database, and it is currently used in a growing number of commercial systems, industrial applications and research projects. In this work, we provide denotational semantics of the core fragment of the read-only part of Cypher, which features in particular pattern matching, filtering, and most relational operations on tables.
△ Less
Submitted 20 March, 2018; v1 submitted 27 February, 2018;
originally announced February 2018.
-
G-CORE: A Core for Future Graph Query Languages
Authors:
Renzo Angles,
Marcelo Arenas,
Pablo Barceló,
Peter Boncz,
George H. L. Fletcher,
Claudio Gutierrez,
Tobias Lindaaker,
Marcus Paradies,
Stefan Plantikow,
Juan Sequeda,
Oskar van Rest,
Hannes Voigt
Abstract:
We report on a community effort between industry and academia to shape the future of graph query languages. We argue that existing graph database management systems should consider supporting a query language with two key characteristics. First, it should be composable, meaning, that graphs are the input and the output of queries. Second, the graph query language should treat paths as first-class…
▽ More
We report on a community effort between industry and academia to shape the future of graph query languages. We argue that existing graph database management systems should consider supporting a query language with two key characteristics. First, it should be composable, meaning, that graphs are the input and the output of queries. Second, the graph query language should treat paths as first-class citizens. Our result is G-CORE, a powerful graph query language design that fulfills these goals, and strikes a careful balance between path query expressivity and evaluation complexity.
△ Less
Submitted 6 December, 2017; v1 submitted 5 December, 2017;
originally announced December 2017.
-
Actor Continuation Passing: Efficient and Extensible Request Routing for Event-Driven Architectures
Authors:
Stefan Plantikow
Abstract:
The logic for handling of application requests to a staged, event-driven architecture is often distributed over different portions of the source code. This complicates changing and understanding the flow of events in the system. The article presents an approach that extracts request handling logic from regular stage functionality into a set of request scripts. These scripts are executed step-wise…
▽ More
The logic for handling of application requests to a staged, event-driven architecture is often distributed over different portions of the source code. This complicates changing and understanding the flow of events in the system. The article presents an approach that extracts request handling logic from regular stage functionality into a set of request scripts. These scripts are executed step-wise by sending continuations that encapsulate their request's current execution state to stages for local processing and optional forwarding of follow-up continuations. A new internal domain specific language (DSL) that aims to simplify writing of request scripts is described along with its implementation for the scala actors library. Evaluation results indicate that request handling with actor continuations performs about equally or better compared to using separate stages for request handling logic for scripts of at least 3 sequential steps.
△ Less
Submitted 20 September, 2011;
originally announced September 2011.