Abstract
We propose a new approach to querying graph databases. Our approach balances competing goals of expressive power, language clarity and computational complexity. A distinctive feature of our approach is the ability to express properties of minimal (e.g. shortest) and maximal (e.g. most valuable) paths satisfying given criteria. To express complex properties in a modular way, we introduce labelling-generating ontologies. The resulting formalism is computationally attractive - queries can be answered in non-deterministic logarithmic space in the size of the database.
Highlights
Graphs are one of the most natural representations of data in a number of important applications such as modelling transport networks, social networks, technological networks
We added a study on the closure properties of OPRA and a careful study on the expressive power on the language
Once we overcame the main technical difficulties, the natural question arose: should we incorporate this expressive power into some existing language, either practical or academic, or create a new language? Our initial decision was to do the latter, and so we designed the language presented in the paper [GMOW16], which can be seen as a non-conservative extension of extended Conjunctive Regular Path Queries (ECRPQ)
Summary
Graphs are one of the most natural representations of data in a number of important applications such as modelling transport networks, social networks, technological networks (see the surveys [AAB+17, Woo, Bar13]). The goal of [GMOW16] is to design a query language for graphs that is able to express various arithmetic and aggregative properties of nodes and paths, assumed that nodes are labelled with natural numbers. This model has been used to define a family of variants of CRPQs that can compare tuples of paths using synchronization languages [FL15b] This is a relaxation of regularity condition for relations on paths of ECRPQs and leads to more expressive formalisms with data complexity still in NL. Our formalism OPRA allows operating directly on RDF without any complex graph encoding, by using a ternary labelling representing RDF triples This allows for convenient navigation by regular expressions, in which the middle element of a triple can serve as the source or the target of a single navigation step (cf [LRSV18]). Each node has a state and in each round is able to send messages to its neighbouring nodes and change its state according to the messages sent by its neighbours
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have