Releases: RoanH/gMark
v1.3 Operations & RPQ
This release focusses on making all the components that make up a query language more explicit and identifiable by introducing operations. This is an important step towards bridging the gap between the query language theory and evaluation in a database. A short report was also written to explain the general concepts and terminology in more detail: Graph Database & Query Evaluation Terminology.
Notable changes:
- Fully implement support for RPQ as a query language complete with its own API:
- Support for programmatically constructing RPQs.
- Support for parsing RPQs from text.
- Support for random RPQ generation.
- Support for RPQ to SQL conversion.
- Implement abstract syntax trees (AST), which CPQ and RPQ can be converted to (and constructed from).
- Prettier SQL output (properly indented now and no longer a single line).
- Add
formal
as an output format for the formal logic form of queries. - Support
xml
as an output format for individually exporting queries as XML. - Update the readme to better match the current state of the repository.
- Make it clear in the GUI that RPQ workloads are not yet supported.
- Build & project setup improvements.
Downloads
Requires Java 17 or higher
v1.2 CPQ Cores
This release again focuses on introducing a number of CPQ related utilities, most notably CPQ core computation. These features were added for use in my Master's Thesis project.
Notable changes:
- CPQ Core computation.
- CPQ Homomorphism testing.
- The
Graph
class was renamed toUniqueGraph
. - Added
SimpleGraph
which is more performant thanUniqueGraph
but also limited to unlabelled undirected graphs without parallel edges. Tree
implementation for tree graphs.- Various utility extensions to the existing
CPQ
andQueryGraphCPQ
APIs.- Getting the diameter of a CPQ.
- Checking if a CPQ is a loop.
- More CPQ construction subroutines.
- Option to reverse a query graph.
- Support for parsing text form CPQs.
GraphPanel
now supports undirected graphs.GraphPanel
factory methods to quickly show CPQs/query graphs/unique graphs.- Tree decomposition algorithm implementation for graphs of treewidth at most 2.
- Support to copy unique graphs, rename nodes in them and restore deleted edges.
- Maximal matching algorithm implementation
- Cartesian product algorithm implementation
- All subsets algorithm implementation.
- Update to Java 17 and minor code improvements.
v1.1 CPQ Utilties
This release includes various utilities for working with CPQs. Notably, random CPQ generation and CPQ query graph generation. Most of these features were introduced for the CPQ Keys project: https://cpqkeys.roanh.dev/
v1.0 Initial Release
The initial public release of the gMark rewrite. This version only has support for CPQ based queries but does provide a graphical interface. There is no support for graph generation or RPQ based queries in this version.