-
Reversibility and Composition of Rewriting in Hierarchies
Authors:
Russ Harmer,
Eugenia Oshurko
Abstract:
In this paper, we study how graph transformations based on sesqui-pushout rewriting can be reversed and how the composition of rewrites can be constructed. We illustrate how such reversibility and composition can be used to design an audit trail system for individual graphs and graph hierarchies. This provides us with a compact way to maintain the history of updates of an object, including its mul…
▽ More
In this paper, we study how graph transformations based on sesqui-pushout rewriting can be reversed and how the composition of rewrites can be constructed. We illustrate how such reversibility and composition can be used to design an audit trail system for individual graphs and graph hierarchies. This provides us with a compact way to maintain the history of updates of an object, including its multiple versions. The main application of the designed framework is an audit trail of updates to knowledge represented by hierarchies of graphs. Therefore, we introduce the notion of rule hierarchy that represents a transformation of the entire hierarchy, study how rule hierarchies can be applied to hierarchies and analyse the conditions under which this application is reversible. We then present a theory for constructing the composition of consecutive hierarchy rewrites. The prototype audit trail system for transformations in hierarchies of simple graphs with attributes is implemented as part of the ReGraph Python library.
△ Less
Submitted 2 December, 2020;
originally announced December 2020.
-
Knowledge representation and update in hierarchies of graphs
Authors:
Russ Harmer,
Eugenia Oshurko
Abstract:
A mathematical theory is presented for the representation of knowledge in the form of a directed acyclic hierarchy of objects in a category where all paths between any given pair of objects are required to be equal. The conditions under which knowledge update, in the form of the sesqui-pushout rewriting of an object in a hierarchy, can be propagated to the rest of the hierarchy, in order to mainta…
▽ More
A mathematical theory is presented for the representation of knowledge in the form of a directed acyclic hierarchy of objects in a category where all paths between any given pair of objects are required to be equal. The conditions under which knowledge update, in the form of the sesqui-pushout rewriting of an object in a hierarchy, can be propagated to the rest of the hierarchy, in order to maintain all required path equalities, are analysed: some rewrites must be propagated forwards, in the direction of the arrows, while others must be propagated backwards, against the direction of the arrows, and, depending on the precise form of the hierarchy, certain composability conditions may also be necessary. The implementation of this theory, in the ReGraph Python library for (simple) directed graphs with attributes on nodes and edges, is then discussed in the context of two significant use cases.
△ Less
Submitted 5 February, 2020;
originally announced February 2020.
-
Schema Validation and Evolution for Graph Databases
Authors:
Angela Bonifati,
Peter Furniss,
Alastair Green,
Russ Harmer,
Eugenia Oshurko,
Hannes Voigt
Abstract:
Despite the maturity of commercial graph databases, little consensus has been reached so far on the standardization of data definition languages (DDLs) for property graphs (PG). The discussion on the characteristics of PG schemas is ongoing in many standardization and community groups. Although some basic aspects of a schema are already present in Neo4j 3.5, like in most commercial graph databases…
▽ More
Despite the maturity of commercial graph databases, little consensus has been reached so far on the standardization of data definition languages (DDLs) for property graphs (PG). The discussion on the characteristics of PG schemas is ongoing in many standardization and community groups. Although some basic aspects of a schema are already present in Neo4j 3.5, like in most commercial graph databases, full support is missing allowing to constraint property graphs with more or less flexibility. In this paper, we focus on two different perspectives from which a PG schema should be considered, as being descriptive or prescriptive, and we show how it would be possible to switch from one to another as the application under development gains more stability. Apart from proposing concise schema DDL inspired by Cypher syntax, we show how schema validation can be enforced through homomorphisms between PG schemas and PG instances; and how schema evolution can be described through the use of graph rewriting operations. Our prototypical implementation demonstrates feasibility and shows the need of offering high-level query primitives to accommodate flexible graph schema requirements as showcased in our work.
△ Less
Submitted 18 February, 2019;
originally announced February 2019.