Before starting the implementation, a survey on the area will be performed identifying languages, best practices and tools focusing on PGs. This will enable all team members to build a comprehensive understanding of the area and the challenges involved in the various tasks. This task aims to formally define a query language that can operate at the level of graphs, i.e., by taking graphs as inputs and producing graphs as outputs. Three different approaches will be explored.

  • First, we shall look at leveraging existing work on query languages over tree-structured data, such as XML. These output tree-structured data, and we shall investigate the applicability of approaches of languages such as XQuery in the graph context, based on the earlier work that adapted XPath in the graph setting.
  • Second, we consider graphs as collections of paths or as spanning trees enriched with collections of back edges, bringing them closer to the realm where query compositionality is the normal everyday practice.
  • Third, we shall look at adding custom operators on top of existing graph-to-relational languages, in the spirit of libraries currently deployed by products, but doing so in the context of a declarative language.