Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Domagoj Vrgoc

dblp:31/8653 · DBLP profile ↗
← Back
40ranked-venue papers
1as first author
16since 2021 · last 2026
0000-0001-5854-2652ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 32 · 1 first-author · 15 since 2021Theory of computation · 8 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 2Applied, interdisciplinary, general and emerging computing · 2Software engineering, systems software and programming languages · 1 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
15 papers
Data models and query languages · 40% Graph data management · 36% Database theory · 7%
Theoretical computer science
6 papers
Algorithms and data structures · 69% Automata and formal languages · 15% Logic in computer science · 10%
Artificial intelligence
5 papers
Information extraction and text analysis · 72% Knowledge representation and reasoning · 28%

Topics — the 30 heaviest of 34, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Data models and query languages
graph query language
3.472025
Flexible and Expressive Typed Path Patterns for GQL · Proc. ACM Program. Lang. 2025
PG-Schema: Schemas for Property Graphs · Proc. ACM Manag. Data 2023
GPC: A Pattern Calculus for Property Graphs · PODS 2023
Graph data management
graph query processing
1.522025
CompactLTJ: Space & Time Efficient Leapfrog Triejoin on Graph Databases · VLDB J. 2025
Representing Paths in Graph Database Pattern Matching · Proc. VLDB Endow. 2023
Graph data management
graph pattern matching
1.222023
Representing Paths in Graph Database Pattern Matching · Proc. VLDB Endow. 2023
Graph Pattern Matching in GQL and SQL/PGQ · SIGMOD Conference 2022
Algorithms and data structures › combinatorial algorithms
enumeration algorithms
1.232023
REmatch: a novel regex engine for finding all matches · Proc. VLDB Endow. 2023
Efficient Enumeration Algorithms for Regular Document Spanners · ACM Trans. Database Syst. 2020
Constant Delay Algorithms for Regular Document Spanners · PODS 2018
Graph data management › graph data model
property graph
1.032023
Graph Pattern Matching in GQL and SQL/PGQ · SIGMOD Conference 2022
PG-Schema: Schemas for Property Graphs · Proc. ACM Manag. Data 2023
GPC: A Pattern Calculus for Property Graphs · PODS 2023
Indexing and storage engines
succinct data structures
0.912025
CompactLTJ: Space & Time Efficient Leapfrog Triejoin on Graph Databases · VLDB J. 2025
Query processing and optimization › join processing › join algorithms
worst-case optimal join
0.912025
CompactLTJ: Space & Time Efficient Leapfrog Triejoin on Graph Databases · VLDB J. 2025
Information retrieval
pattern matching
0.712023
GPC: A Pattern Calculus for Property Graphs · PODS 2023
Graph data management › path query
regular path query
0.712023
Representing Paths in Graph Database Pattern Matching · Proc. VLDB Endow. 2023
Graph data management
graph view
0.612022
Graph Pattern Matching in GQL and SQL/PGQ · SIGMOD Conference 2022
Algorithms and data structures › combinatorial algorithms › enumeration algorithms
output-linear delay enumeration
0.412020
Efficient Enumeration Algorithms for Regular Document Spanners · ACM Trans. Database Syst. 2020
Knowledge, reasoning and agents › Knowledge representation and reasoning › uncertainty management
imperfect information
0.312018
Document Spanners for Extracting Incomplete Information: Expressiveness and Complexity · PODS 2018
Graph data management › graph query
navigational query
0.312018
TriAL: A Navigational Algebra for RDF Triplestores · ACM Trans. Database Syst. 2018
Data models and query languages
query algebra
0.312018
TriAL: A Navigational Algebra for RDF Triplestores · ACM Trans. Database Syst. 2018
Data models and query languages › semistructured data
RDF data
0.312018
TriAL: A Navigational Algebra for RDF Triplestores · ACM Trans. Database Syst. 2018
Data models and query languages › semistructured data
JSON data model
0.312017
JSON: Data model, Query languages and Schema specification · PODS 2017
Data models and query languages › query language design
JSON query language
0.312017
JSON: Data model, Query languages and Schema specification · PODS 2017
Machine learning and data management
data annotation
0.212016
A framework for annotating CSV-like data · Proc. VLDB Endow. 2016
Data models and query languages › semistructured data
JSON
0.212016
Foundations of JSON Schema · WWW 2016
Data models and query languages › schema languages
JSON Schema
0.212016
Foundations of JSON Schema · WWW 2016
Graph data management
path query
0.212016
Querying Graphs with Data · J. ACM 2016
Logic in computer science
formal semantics
0.212016
Foundations of JSON Schema · WWW 2016
Automata and formal languages
register automata
0.212016
Querying Graphs with Data · J. ACM 2016
Knowledge, reasoning and agents › Knowledge representation and reasoning
description logic
0.212015
XPath for DL Ontologies · AAAI 2015
Graph data management
graph query
0.212015
XPath for DL Ontologies · AAAI 2015
Graph data management › graph data model
RDF data model
0.212013
Trial for RDF: adapting graph query languages for RDF data · PODS 2013
Computational complexity › algebraic complexity
arithmetic circuit complexity
0.112021
Expressive Power of Linear Algebra Query Languages · PODS 2021
Query processing and optimization
recursive query
0.112018
TriAL: A Navigational Algebra for RDF Triplestores · ACM Trans. Database Syst. 2018
Algorithms and data structures › combinatorial algorithms › enumeration algorithms
constant delay enumeration
0.112018
Constant Delay Algorithms for Regular Document Spanners · PODS 2018
Knowledge graphs › semantic web
wikidata
0.112016
Foundations of JSON Schema · WWW 2016

Methods — techniques the papers use, named apart from their topics

query optimization · 1.3enumeration algorithm · 1.3type safety proof · 0.9leapfrog triejoin · 0.9gradual typing · 0.9compact tree representation · 0.9fine-grained complexity analysis · 0.9extended regular expressions · 0.8multi-inheritance type definitions · 0.7formal syntax and semantics · 0.7relational query engine · 0.3datalog · 0.3complexity analysis · 0.3validation · 0.2formal specification · 0.2XPath · 0.2
YearPublicationVenuePosition
2026 Output bounds for conjunctions of path queries
Tamara Cucumides, Juan L. Reutter, Domagoj Vrgoc
Inf. Process. Lett.3
2025 Path-based Algebraic Foundations of Graph Query Languages
Renzo Angles, Angela Bonifati, Domagoj Vrgoc
EDBT4
2025 Graph Querying or Similarity Search? Both!
Vicente Calisto, Sebastián Ferrada, Gonzalo Navarro 0001, Juan L. Reutter, Juan Pablo Sánchez, Domagoj Vrgoc
ISWC (1)6
2025 Flexible and Expressive Typed Path Patterns for GQL
abstract
Graph databases have become an important data management technology across various domains, including biology, sociology, industry ( e.g . fraud detection, supply chain management, financial services), and investigative journalism, due to their ability to efficiently store and query large-scale knowledge graphs and networks. Recently, the Graph Query Language (GQL) was introduced as a new ISO standard providing a unified framework for querying graphs. However, this initial specification lacks a formal type system for query validation. As a result, queries can fail at runtime due to type inconsistencies or produce empty results without prior warning. Solving this issue would help users write correct queries, especially on large datasets. To address this gap, we introduce a formal type model for a core fragment of GQL extended with property-based filtering and imprecise types both in the schema and the queries. This model, named FPPC, enables static detection of semantically incorrect and stuck queries, improving user feedback. We establish key theoretical properties, including emptiness (detecting empty queries due to type mismatches) and type safety (guaranteeing that well-typed queries do not fail at runtime). Additionally, we prove a gradual guarantee , ensuring that removing type annotations either does not introduce static type errors or only increases the result set. By integrating imprecision into GQL, FPPC offers a flexible solution for handling schema evolution and incomplete type information. This work contributes to making GQL more robust, improving both its usability and its formal foundation.
Wenjia Ye, Matías Toro, Tomás Diaz, Bruno C. d. S. Oliveira, Manuel Rigger, Claudio Gutierrez 0001, Domagoj Vrgoc
Proc. ACM Program. Lang.7
2025 CompactLTJ: Space & Time Efficient Leapfrog Triejoin on Graph Databases
abstract
Abstract Leapfrog Triejoin (LTJ) is arguably the most practical and popular worst-case-optimal (wco) algorithm for solving basic graph patterns in graph databases. Its main drawback is that it needs the database triples (subject, predicate, object) represented as paths in a trie, for each of the six orders of subject, predicate, and object. The resulting blowup in space makes most systems disregard LTJ or implement it only partially, which makes their corresponding algorithms non-wco. In this paper we show that, by using compact data structures, it is possible to build an index that at the same time matches the query time performance of the fastest classic wco index, and uses a fraction of the space of non-wco indices (which are much slower). Concretely, we make use of compact tree representations to store functional tries using one bit per trie edge, instead of one pointer, and further reduce the space by storing partial tries. Our most compact variant uses 5–6 times less space than classic wco implementations and 2–3 times less than classic non-wco systems. At solving queries, it is on par with the fastest classic wco system, and 30–40 times faster than non-wco systems. We further incorporate improved query resolution strategies into CompactLTJ variants, which makes it considerably faster than classic wco systems as well, on queries that do not output too many results. Finally, we show how CompactLTJ can incorporate dynamism without altering its performance, even under very demanding update regimes. We leave a public fully-functional implementation of CompactLTJ that can be directly used by practitioners.
Diego Arroyuelo, Daniela Campos, Adrián Gómez-Brandón, Yuval Linker, Gonzalo Navarro 0001, Carlos Rojas 0002, Domagoj Vrgoc
VLDB J.7
2024 PathFinder: Returning Paths in Graph Queries
Benjamín Farias, Wim Martens, Carlos Rojas 0002, Domagoj Vrgoc
ISWC (2)4
2023 Size Bounds and Algorithms for Conjunctive Regular Path Queries
abstract
Conjunctive regular path queries (CRPQs) are one of the core classes of queries over graph databases. They are join intensive, inheriting their structure from the relational setting, but they also allow arbitrary length paths to connect points that are to be joined. However, despite their popularity, little is known about what are the best algorithms for processing CRPQs. We focus on worst-case optimal algorithms, which are algorithms that run in time bounded by the worst-case output size of queries, and have been recently deployed for simpler graph queries with very promising results. We show that the famous bound on the number of query results by Atserias, Grohe and Marx can be extended to CRPQs, but to obtain tight bounds one needs to work with slightly stronger cardinality profiles. We also discuss what algorithms follow from our analysis. If one pays the cost for fully materializing graph queries, then the techniques developed for conjunctive queries can be reused. If, on the other hand, one imposes constraint on the working memory of algorithms, then worst-case optimal algorithms must be adapted with care: the order of variables in which queries are processed can have striking implications on the running time of queries.
Tamara Cucumides, Juan L. Reutter, Domagoj Vrgoc
ICDT3
2023 A Researcher's Digest of GQL (Invited Talk)
abstract
GQL (Graph Query Language) is being developed as a new ISO standard for graph query languages to play the same role for graph databases as SQL plays for relational. In parallel, an extension of SQL for querying property graphs, SQL/PGQ, is added to the SQL standard; it shares the graph pattern matching functionality with GQL. Both standards (not yet published) are hard-to-understand specifications of hundreds of pages. The goal of this paper is to present a digest of the language that is easy for the research community to understand, and thus to initiate research on these future standards for querying graphs. The paper concentrates on pattern matching features shared by GQL and SQL/PGQ, as well as querying facilities of GQL.
Nadime Francis, Amélie Gheerbrant, Paolo Guagliardo, Leonid Libkin, Victor Marsault, Wim Martens, Filip Murlak, Liat Peterfreund, Alexandra Rogova, Domagoj Vrgoc
ICDT10
2023 GPC: A Pattern Calculus for Property Graphs
abstract
The development of practical query languages for graph databases runs well ahead of the underlying theory. The ISO committee in charge of database query languages is currently developing a new standard called Graph Query Language (GQL) as well as an extension of the SQL Standard for querying property graphs represented by a relational schema, called SQL/PGQ. The main component of both is the pattern matching facility, which is shared by the two standards. In many aspects, it goes well beyond RPQs, CRPQs, and similar queries on which the research community has focused for years. Our main contribution is to distill the lengthy standard specification into a simple Graph Pattern Calculus (GPC) that reflects all the key pattern matching features of GQL and SQL/PGQ, and at the same time lends itself to rigorous theoretical investigation. We describe the syntax and semantics of GPC, along with the typing rules that ensure its expressions are well-defined, and state some basic properties of the language. With this paper we provide the community a tool to embark on a study of query languages that will soon be widely adopted by industry.
Nadime Francis, Amélie Gheerbrant, Paolo Guagliardo, Leonid Libkin, Victor Marsault, Wim Martens, Filip Murlak, Liat Peterfreund, Alexandra Rogova, Domagoj Vrgoc
PODS10
2023 PG-Schema: Schemas for Property Graphs
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 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-Schema 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.
Renzo Angles, Angela Bonifati, Stefania Dumbrava, George Fletcher 0001, Alastair Green, Jan Hidders, Leonid Libkin, Victor Marsault, Wim Martens, Filip Murlak, Stefan Plantikow, Ognjen Savkovic, Michael Schmidt 0002, Juan F. Sequeda, Slawomir Staworko, Dominik Tomaszuk, Hannes Voigt, Domagoj Vrgoc, Mingxi Wu, Dusan Zivkovic
Proc. ACM Manag. Data19
2023 Representing Paths in Graph Database Pattern Matching
abstract
Modern graph database query languages such as GQL, SQL/PGQ, and their academic predecessor G-Core promote paths to first-class citizens in the sense that their pattern matching facility can return paths , as opposed to only nodes and edges. This is challenging for database engines, since graphs can have a large number of paths between a given node pair, which can cause huge intermediate results in query evaluation. We introduce the concept of path multiset representations (PMRs) , which can represent multisets of paths exponentially succinctly and therefore bring significant advantages for representing intermediate results. We give a detailed theoretical analysis that shows that they are especially well-suited for representing results of regular path queries and extensions thereof involving counting, random sampling, and unions. Our experiments show that they drastically improve scalability for regular path query evaluation, with speedups of several orders of magnitude.
Wim Martens, Matthias Niewerth, Tina Popp, Carlos Rojas 0002, Stijn Vansummeren, Domagoj Vrgoc
Proc. VLDB Endow.6
2023 REmatch: a novel regex engine for finding all matches
abstract
In this paper, we present the REmatch system for information extraction. REmatch is based on a recently proposed enumeration algorithm for evaluating regular expressions with capture variables supporting the all-match semantics. It tells a story of what it takes to make a theoretically optimal algorithm work in practice. As we show here, a naive implementation of the original algorithm would have a hard time dealing with realistic workloads. We thus develop a new algorithm and a series of optimizations that make REmatch as fast or faster than many popular RegEx engines while at the same time being able to return all the outputs: a task that most other engines tend to struggle with.
Cristian Riveros, Nicolás Van Sint Jan, Domagoj Vrgoc
Proc. VLDB Endow.3
2022 WDBench: A Wikidata Graph Query Benchmark
Renzo Angles, Carlos Buil-Aranda, Aidan Hogan, Carlos Rojas 0002, Domagoj Vrgoc
ISWC5
2022 Graph Pattern Matching in GQL and SQL/PGQ
abstract
As graph databases become widespread, the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) have approved a project to create GQL, a standard property graph query language. This complements the SQL/PGQ project, which specifies how to define graph views over a SQL tabular schema, and to run read-only queries against them.
Alin Deutsch, Nadime Francis, Alastair Green, Keith W. Hare, Leonid Libkin, Tobias Lindaaker, Victor Marsault, Wim Martens, Jan Michels, Filip Murlak, Stefan Plantikow, Petra Selmer, Oskar van Rest, Hannes Voigt, Domagoj Vrgoc, Mingxi Wu, Fred Zemke
SIGMOD Conference16
2022 Querying APIs with SPARQL
Matthieu Mosser, Fernando Pieressa, Juan L. Reutter, Adrián Soto, Domagoj Vrgoc
Inf. Syst.5
2021 Expressive Power of Linear Algebra Query Languages
abstract
Linear algebra algorithms often require some sort of iteration or recursion as is illustrated by standard algorithms for Gaussian elimination, matrix inversion, and transitive closure. A key characteristic shared by these algorithms is that they allow looping for a number of steps that is bounded by the matrix dimension. In this paper we extend the matrix query language MATLANG with this type of recursion, and show that this suffices to express classical linear algebra algorithms. We study the expressive power of this language and show that it naturally corresponds to arithmetic circuit families, which are often said to capture linear algebra. Furthermore, we analyze several sub-fragments of our language, and show that their expressive power is closely tied to logical formalisms on semiring-annotated relations.
Floris Geerts, Thomas Muñoz, Cristian Riveros, Domagoj Vrgoc
PODS4
2020 Cryptocurrency Mining Games with Economic Discount and Decreasing Rewards
abstract
A widespread security claim of the Bitcoin system, presented in the original Bitcoin white-paper, states that the security of the system is guaranteed as long as there is no attacker in possession of half or more of the total computational power used to maintain the system. This claim, however, is proved based on theoretically flawed assumptions. In the paper we analyze two kinds of attacks based on two theoretical flaws: the Block Discarding Attack and the Difficulty Raising Attack. We argue that the current theoretical limit of attacker's fraction of total computational power essential for the security of the system is in a sense not $\frac{1}{2}$ but a bit less than $\frac{1}{4}$, and outline proposals for protocol change that can raise this limit to be as close to $\frac{1}{2}$ as we want. The basic idea of the Block Discarding Attack has been noted as early as 2010, and lately was independently though-of and analyzed by both author of this paper and authors of a most recently pre-print published paper. We thus focus on the major differences of our analysis, and try to explain the unfortunate surprising coincidence. To the best of our knowledge, the second attack is presented here for the first time.
Marcelo Arenas, Juan L. Reutter, Etienne Toussaint, Martín Ugarte, Francisco José Vial Prado, Domagoj Vrgoc
STACS6
2020 JSON: Data model and query languages
Pierre Bourhis, Juan L. Reutter, Domagoj Vrgoc
Inf. Syst.3
2020 Efficient Enumeration Algorithms for Regular Document Spanners
abstract
Regular expressions and automata models with capture variables are core tools in rule-based information extraction. These formalisms, also called regular document spanners , use regular languages to locate the data that a user wants to extract from a text document and then store this data into variables. Since document spanners can easily generate large outputs, it is important to have efficient evaluation algorithms that can generate the extracted data in a quick succession, and with relatively little precomputation time. Toward this goal, we present a practical evaluation algorithm that allows output-linear delay enumeration of a spanner’s result after a precomputation phase that is linear in the document. Although the algorithm assumes that the spanner is specified in a syntactic variant of variable-set automata, we also study how it can be applied when the spanner is specified by general variable-set automata, regex formulas, or spanner algebras. Finally, we study the related problem of counting the number of outputs of a document spanner and provide a fine-grained analysis of the classes of document spanners that support efficient enumeration of their results.
Fernando Florenzano, Cristian Riveros, Martín Ugarte, Stijn Vansummeren, Domagoj Vrgoc
ACM Trans. Database Syst.5
2018 Querying APIs with SPARQL: Language and Worst-Case Optimal Algorithms
Matthieu Mosser, Fernando Pieressa, Juan L. Reutter, Adrián Soto, Domagoj Vrgoc
ESWC5
2018 Constant Delay Algorithms for Regular Document Spanners
abstract
Regular expressions and automata models with capture variables are core tools in rule-based information extraction. These formalisms, also called regular document spanners, use regular languages in order to locate the data that a user wants to extract from a text document, and then store this data into variables. Since document spanners can easily generate large outputs, it is important to have good evaluation algorithms that can generate the extracted data in a quick succession, and with relatively little precomputation time. Towards this goal, we present a practical evaluation algorithm that allows constant delay enumeration of a spanner's output after a precomputation phase that is linear in the document. While the algorithm assumes that the spanner is specified in a syntactic variant of variable set automata, we also study how it can be applied when the spanner is specified by general variable set automata, regex formulas, or spanner algebras. Finally, we study the related problem of counting the number of outputs of a document spanner, providing a fine grained analysis of the classes of document spanners that support efficient enumeration of their results.
Fernando Florenzano, Cristian Riveros, Martín Ugarte, Stijn Vansummeren, Domagoj Vrgoc
PODS5
2018 Document Spanners for Extracting Incomplete Information: Expressiveness and Complexity
abstract
Rule-based information extraction has lately received a fair amount of attention from the database community, with several languages appearing in the last few years. Although information extraction systems are intended to deal with semistructured data, all language proposals introduced so far are designed to output relations, thus making them incapable of handling incomplete information. To remedy the situation, we propose to extend information extraction languages with the ability to use mappings, thus allowing us to work with documents which have missing or optional parts. Using this approach, we simplify the semantics of regex formulas and extraction rules, two previously defined methods for extracting information. We extend them with the ability to handle incomplete data, and study how they compare in terms of expressive power. We also study computational properties of these languages, focusing on the query enumeration problem, as well as satisfiability and containment.
Francisco Maturana, Cristian Riveros, Domagoj Vrgoc
PODS3
2018 Containment of queries for graphs with data
Egor V. Kostylev, Juan L. Reutter, Domagoj Vrgoc
J. Comput. Syst. Sci.3
2018 TriAL: A Navigational Algebra for RDF Triplestores
abstract
Navigational queries over RDF data are viewed as one of the main applications of graph query languages, and yet the standard model of graph databases—essentially labeled graphs—is different from the triples-based model of RDF. While encodings of RDF databases into graph data exist, we show that even the most natural ones are bound to lose some functionality when used in conjunction with graph query languages. The solution is to work directly with triples, but then many properties taken for granted in the graph database context (e.g., reachability) lose their natural meaning. Our goal is to introduce languages that work directly over triples and are closed, i.e., they produce sets of triples, rather than graphs. Our basic language is called TriAL, or Triple Algebra: it guarantees closure properties by replacing the product with a family of join operations. We extend TriAL with recursion and explain why such an extension is more intricate for triples than for graphs. We present a declarative language, namely a fragment of datalog, capturing the recursive algebra. For both languages, the combined complexity of query evaluation is given by low-degree polynomials. We compare our language with previously studied graph query languages such as adaptations of XPath, regular path queries, and nested regular expressions; many of these languages are subsumed by the recursive triple algebra. We also provide an implementation of recursive TriAL on top of a relational query engine, and we show its usefulness by running a wide array of navigational queries over real-world RDF data, while at the same time testing how our implementation compares to existing RDF systems.
Leonid Libkin, Juan L. Reutter, Adrián Soto, Domagoj Vrgoc
ACM Trans. Database Syst.4
2017 JSON: Data model, Query languages and Schema specification
abstract
Despite the fact that JSON is currently one of the most popular formats for exchanging data on the Web, there are very few studies on this topic and there is no agreement upon a theoretical framework for dealing with JSON. Therefore in this paper we propose a formal data model for JSON documents and, based on the common features present in available systems using JSON, we define a lightweight query language allowing us to navigate through JSON documents. We also introduce a logic capturing the schema proposal for JSON and study the complexity of basic computational tasks associated with these two formalisms.
Pierre Bourhis, Juan L. Reutter, Fernando Suárez, Domagoj Vrgoc
PODS4
2016 Foundations of JSON Schema
abstract
JSON -- the most popular data format for sending API requests and responses -- is still lacking a standardized schema or meta-data definition that allows the developers to specify the structure of JSON documents. JSON Schema is an attempt to provide a general purpose schema language for JSON, but it is still work in progress, and the formal specification has not yet been agreed upon. Why this could be a problem becomes evident when examining the behaviour of numerous tools for validating JSON documents against this initial schema proposal: although they agree on most general cases, when presented with the greyer areas of the specification they tend to differ significantly. In this paper we provide the first formal definition of syntax and semantics for JSON Schema and use it to show that implementing this layer on top of JSON is feasible in practice. This is done both by analysing the theoretical aspects of the validation problem and by showing how to set up and validate a JSON Schema for Wikidata, the central storage for Wikimedia.
Felipe Pezoa, Juan L. Reutter, Fernando Suárez, Martín Ugarte, Domagoj Vrgoc
WWW5
2016 Static analysis of navigational XPath over graph databases
Egor V. Kostylev, Juan L. Reutter, Domagoj Vrgoc
Inf. Process. Lett.3
2016 Querying Graphs with Data
abstract
Graph databases have received much attention as of late due to numerous applications in which data is naturally viewed as a graph; these include social networks, RDF and the Semantic Web, biological databases, and many others. There are many proposals for query languages for graph databases that mainly fall into two categories. One views graphs as a particular kind of relational data and uses traditional relational mechanisms for querying. The other concentrates on querying the topology of the graph. These approaches, however, lack the ability tocombinedata and topology, which would allow queries asking how data changes along paths and patterns enveloping it. In this article, we present a comprehensive study of languages that enable such combination of data and topology querying. These languages come in two flavors. The first follows the standard approach of path queries, which specify how labels of edges change along a path, but now we extend them with ways of specifying how both labels and data change. From the complexity point of view, the right type of formalisms are subclasses of register automata. These, however, are not well suited for querying. To overcome this, we develop several types of extended regular expressions to specify paths with data and study their querying power and complexity. The second approach adopts the popular XML language XPath and extends it from XML documents to graphs. Depending on the exact set of allowed features, we have a family of languages, and our study shows that it includes efficient and highly expressive formalisms for querying both the structure of the data and the data itself.
Leonid Libkin, Wim Martens, Domagoj Vrgoc
J. ACM3
2016 A framework for annotating CSV-like data
abstract
In this paper, we propose a simple and expressive framework for adding metadata to CSV documents and their noisy variants. The framework is based on annotating parts of the document that can be later used to read, query, or exchange the data. The core of our framework is a language based on extended regular expressions that are used for selecting data. These expressions are then combined using a set of rules in order to annotate the data. We study the computational complexity of implementing our framework and present an efficient evaluation algorithm that runs in time proportional to its output and linear in its input. As a proof of concept, we test an implementation of our framework against a large number of real world datasets and show that it can be efficiently used in practice.
Marcelo Arenas, Francisco Maturana, Cristian Riveros, Domagoj Vrgoc
Proc. VLDB Endow.4
2015 XPath for DL Ontologies
abstract
Applications of description logics (DLs) such as ontology-based data access (OBDA) require understanding of how to pose database queries over DL knowledge bases. While there have been many studies regarding traditional relational query formalisms such as conjunctive queries and their extensions, little attention has been paid to graph database queries, despite the fact that graph databases have essentially the same structure as knowledge bases. In particular, not much is known about the interplay between DLs and XPath. The latter is a powerful formalism for querying semistructured data: it is in the core of most practical query languages for XML trees, and it is also gaining popularity in theory and practice of graph databases. In this paper we make a step towards coupling knowledge bases and graph databases by studying how to answer powerful XPath-style queries over simple DLs like DL-Lite and EL. We start with adapting the definition of XPath to the DL context, and then proceed to study the complexity of evaluating XPath queries over knowledge bases. Results show that, while query answering is undecidable for the full XPath, by carefully tuning the shape of negation allowed in the queries we can arrive at XPath fragments that have a potential to be used in practice.
Egor V. Kostylev, Juan L. Reutter, Domagoj Vrgoc
AAAI3
2015 SPARQL with Property Paths
Egor V. Kostylev, Juan L. Reutter, Miguel Romero 0001, Domagoj Vrgoc
ISWC (1)4
2015 Recursion in SPARQL
Juan L. Reutter, Adrián Soto, Domagoj Vrgoc
ISWC (1)3
2015 Using variable automata for querying data graphs
Domagoj Vrgoc
Inf. Process. Lett.1
2015 Regular expressions for data words
Leonid Libkin, Tony Tan, Domagoj Vrgoc
J. Comput. Syst. Sci.3
2014 Containment of Data Graph Queries
abstract
The graph database model is currently one of the most pop-ular paradigms for storing data, used in applications such as social networks, biological databases and the Semantic Web. Despite the popularity of this model, the develop-ment of graph database management systems is still in its infancy, and there are several fundamental issues regarding graph databases that are not fully understood. Indeed, while graph query languages that concentrate on topological prop-erties are now well developed, not much is known about lan-guages that can query both the topology of graphs and their underlying data. Our goal is to conduct a detailed study of static analysis problems for such languages. In this paper we consider the containment problem for several recently proposed classes of queries that manipulate both topology and data: regu-lar queries with memory, regular queries with data tests, and graph XPath. Our results show that the problem is in general undecidable for all of these classes. However, we find natural fragments that enjoy much better static analy-sis properties: the containment problem is decidable, and its computational complexity ranges from PSPACE-complete to EXPSPACE-complete. We also propose several exten-sions of the classes and study containment for them. 1.
Egor V. Kostylev, Juan L. Reutter, Domagoj Vrgoc
ICDT3
2013 Regular Expressions with Binding over Data Words for Querying Graph Databases
Leonid Libkin, Tony Tan, Domagoj Vrgoc
Developments in Language Theory3
2013 Querying graph databases with XPath
abstract
XPath plays a prominent role as an XML navigational language due to several factors, including its ability to express queries of interest, its close connection to yardstick database query languages (e.g., first-order logic), and the low complexity of query evaluation for many fragments. Another common database model---graph databases---also requires a heavy use of navigation in queries; yet it largely adopts a different approach to querying, relying on reachability patterns expressed with regular constraints.
Leonid Libkin, Wim Martens, Domagoj Vrgoc
ICDT3
2013 Trial for RDF: adapting graph query languages for RDF data
abstract
Querying RDF data is viewed as one of the main applications of graph query languages, and yet the standard model of graph databases -- essentially labeled graphs -- is different from the triples-based model of RDF. While encodings of RDF databases into graph data exist, we show that even the most natural ones are bound to lose some functionality when used in conjunction with graph query languages. The solution is to work directly with triples, but then many properties taken for granted in the graph database context (e.g., reachability) lose their natural meaning.
Leonid Libkin, Juan L. Reutter, Domagoj Vrgoc
PODS3
2012 Regular path queries on graphs with data
abstract
Graph data models received much attention lately due to applications in social networks, semantic web, biological databases and other areas. Typical query languages for graph databases retrieve their topology, while actual data stored in them is usually queried using standard relational mechanisms.
Leonid Libkin, Domagoj Vrgoc
ICDT2
2012 Regular Expressions for Data Words
Leonid Libkin, Domagoj Vrgoc
LPAR2