-
Notifications
You must be signed in to change notification settings - Fork 6
Home
This wiki is the main source of documentation for the GProM system.
If you are new to GProM, then we recommend you to have a look at the installation guide and tutorial.
Currently, GProM supports two frontend languages:
- SQL: A subset of Oracle's SQL dialect with some features from other databases extended with provenance features supporting provenance computation for SQL queries, updates, and transaction as well as sequenced temporal queries, and uncertain query processing. Furthermore, the system supports export of provenance into the JSON serialization defined for the WWW PROV standard. The following wiki page describes the supported provenance extensions.
- Datalog with support for generating provenance graphs that explain why a tuple exists or is missing from the answer of a query and for computing linage. This frontend language is described here.
- gprom - default gprom commandline client
- JDBC - a JDBC driver that wraps vendor specific drivers and adds provenance support through GProM
- libgprom - a shared library
- provgraph viewer - a web app that renders provenance graphs for Datalog queries generated by GProM
Currently, GProM supports PostgreSQL, Duckdb, SQLite, MonetDB, Oracle, SQLServer.
Most components in GProM are pluggable and can be replaced. Plugins are used to select the frontend language, backend, and several other functionality in the system.
GProM features a heuristic and cost-based optimizer for relational algebra and provenance instrumentation.
The functionality of GProM is based on a long term research effort by the UIC DBGroup studying how to capture provenance on-demand using instrumentation. Links to publications and more research oriented descriptions of the techniques implemented in GProM can be found at https://www.cs.uic.edu/~bglavic/dbgroup/projects/gprom.html.
