Package graphql.schema.diffing
Class DiffImpl
- java.lang.Object
-
- graphql.schema.diffing.DiffImpl
-
public class DiffImpl extends java.lang.Object
This is an algorithm calculating the optimal edit to change the source graph into the target graph.It is based on the following two papers (both papers are from the same authors. The first one is newer, but the older one is more detailed in some aspects)
Accelerating Graph Similarity Search via Efficient GED Computation (https://lijunchang.github.io/pdf/2022-ged-tkde.pdf)
Efficient Graph Edit Distance Computation and Verification via Anchor-aware Lower Bound Estimation (https://arxiv.org/abs/1709.06810)
The algorithm is a modified version of "AStar-BMao". It is adapted to directed graphs as a GraphQL schema is most naturally represented as directed graph (vs the undirected graphs used in the papers).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DiffImpl.OptimalEdit
An optimal edit from one graph to another.
-
Constructor Summary
Constructors Constructor Description DiffImpl(PossibleMappingsCalculator possibleMappingsCalculator, SchemaGraph completeSourceGraph, SchemaGraph completeTargetGraph, PossibleMappingsCalculator.PossibleMappings possibleMappings, graphql.schema.diffing.SchemaDiffingRunningCheck runningCheck)
-
-
-
Constructor Detail
-
DiffImpl
public DiffImpl(PossibleMappingsCalculator possibleMappingsCalculator, SchemaGraph completeSourceGraph, SchemaGraph completeTargetGraph, PossibleMappingsCalculator.PossibleMappings possibleMappings, graphql.schema.diffing.SchemaDiffingRunningCheck runningCheck)
-
-