Package graphql.schema.diffing
Class DiffImpl
java.lang.Object
graphql.schema.diffing.DiffImpl
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 ClassesModifier and TypeClassDescriptionstatic class
An optimal edit from one graph to another. -
Constructor Summary
ConstructorsConstructorDescriptionDiffImpl
(PossibleMappingsCalculator possibleMappingsCalculator, SchemaGraph completeSourceGraph, SchemaGraph completeTargetGraph, PossibleMappingsCalculator.PossibleMappings possibleMappings, graphql.schema.diffing.SchemaDiffingRunningCheck runningCheck) -
Method Summary
-
Constructor Details
-
DiffImpl
public DiffImpl(PossibleMappingsCalculator possibleMappingsCalculator, SchemaGraph completeSourceGraph, SchemaGraph completeTargetGraph, PossibleMappingsCalculator.PossibleMappings possibleMappings, graphql.schema.diffing.SchemaDiffingRunningCheck runningCheck)
-