# ProGS: Property Graph Shapes Language (Extended Version)

arXiv: https://arxiv.org/abs/2107.05566 · HTML: https://mlsanity.com/paper/2107.05566/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- Builds on 2 of its 25 references that are in the map.
- First posted on arXiv 12 Jul 2021.

## Builds on (most cited first, 2 of 2)

- [G-CORE: A Core for Future Graph Query Languages](https://mlsanity.com/paper/1712.01550/) (2017)
- [TigerGraph: A Native MPP Graph Database](https://mlsanity.com/paper/1901.08248/) (2019)

## Built on by (most cited first, 1 of 1)

- [Creating Knowledge Graphs Subsets using Shape Expressions](https://mlsanity.com/paper/2110.11709/) (2021)

## Abstract (arXiv)

Property graphs constitute data models for representing knowledge graphs. They allow for the convenient representation of facts, including facts about facts, represented by triples in subject or object position of other triples. Knowledge graphs such as Wikidata are created by a diversity of contributors and a range of sources leaving them prone to two types of errors. The first type of error, falsity of facts, is addressed by property graphs through the representation of provenance and validity, making triples occur as first-order objects in subject position of metadata triples. The second type of error, violation of domain constraints, has not been addressed with regard to property graphs so far. In RDF representations, this error can be addressed by shape languages such as SHACL or ShEx, which allow for checking whether graphs are valid with respect to a set of domain constraints. Borrowing ideas from the syntax and semantics definitions of SHACL, we design a shape language for property graphs, ProGS, which allows for formulating shape constraints on property graphs including their specific constructs, such as edges with identities and key-value annotations to both nodes and edges. We define a formal semantics of ProGS, investigate the resulting complexity of validating property graphs against sets of ProGS shapes, compare with corresponding results for SHACL, and implement a prototypical validator that utilizes answer set programming.
