Skip to content

Releases: RoanH/gMark

v1.3 Operations & RPQ

29 Sep 23:17
v1.3
687b76f
Compare
Choose a tag to compare

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

04 Jul 20:14
v1.2
0aaa010
Compare
Choose a tag to compare

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 to UniqueGraph.
  • Added SimpleGraph which is more performant than UniqueGraph but also limited to unlabelled undirected graphs without parallel edges.
  • Tree implementation for tree graphs.
  • Various utility extensions to the existing CPQ and QueryGraphCPQ 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 not 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

25 Jun 23:42
v1.1
9c7a03f
Compare
Choose a tag to compare

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

18 Mar 00:54
v1.0
30eff57
Compare
Choose a tag to compare

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.