The libGr class library together with the libGr search plan backend v2.5
PatternGraph Class
Namespacesde.unika.ipd.grGen.lgspPatternGraph
Representation of the pattern to search for, containing nested alternative, iterated, negative, and independent-patterns, plus references to the rules of the used subpatterns. Accessible via IPatternGraph as meta information to the user about the matching action. Skeleton data structure for the matcher generation pipeline which stores intermediate results here, which saves us from representing the nesting structure again and again in the pipeline's data structures
Declaration Syntax
C#
public class PatternGraph : IPatternGraph
Members
All MembersConstructorsMethodsPropertiesFields



IconMemberDescription
PatternGraph(String, String, Boolean, array<PatternNode>[]()[], array<PatternEdge>[]()[], array<PatternVariable>[]()[], array<PatternGraphEmbedding>[]()[], array<Alternative>[]()[], array<PatternGraph>[]()[], array<Int32>[]()[], array<Int32>[]()[], array<PatternGraph>[]()[], array<PatternGraph>[]()[], array<PatternCondition>[]()[], array<Boolean,2>[,](,)[,], array<Boolean,2>[,](,)[,], array<Boolean,2>[,](,)[,], array<Boolean,2>[,](,)[,])
Constructs a PatternGraph object.

alternatives
An array of alternatives, each alternative contains in its cases the subpatterns to choose out of.

Alternatives
An array of alternatives, each alternative contains in its cases the subpatterns to choose out of.

Conditions
The conditions used in this pattern graph or it's nested graphs

edges
An array of all pattern edges.

Edges
An array of all pattern edges.

edgeToSourceNode
contains the source node of the pattern edges in this graph if specified

edgeToTargetNode
contains the target node of the pattern edges in this graph if specified

embeddedGraphs
An array with subpattern embeddings, i.e. subpatterns and the way they are connected to the pattern

EmbeddedGraphs
An array with subpattern embeddings, i.e. subpatterns and the way they are connected to the pattern

embeddingGraph
The pattern graph which contains this pattern graph, null if this is a top-level-graph

EmbeddingGraph
The pattern graph which contains this pattern graph, null if this is a top-level-graph

GetSource(IPatternEdge)
Returns the source pattern node of the given edge, null if edge dangles to the left

GetSource(PatternEdge)
Returns the source pattern node of the given edge, null if edge dangles to the left

GetTarget(IPatternEdge)
Returns the target pattern node of the given edge, null if edge dangles to the right

GetTarget(PatternEdge)
Returns the target pattern node of the given edge, null if edge dangles to the right

homomorphicEdges
A two-dimensional array describing which pattern edge may be matched non-isomorphic to which pattern edge.

HomomorphicEdges
A two-dimensional array describing which pattern edge may be matched non-isomorphic to which pattern edge.

homomorphicEdgesGlobal
A two-dimensional array describing which pattern edge may be matched non-isomorphic to which pattern edge globally, i.e. the edges are contained in different, but locally nested patterns (alternative cases, iterateds).

HomomorphicEdgesGlobal
A two-dimensional array describing which pattern edge may be matched non-isomorphic to which pattern edge globally, i.e. the edges are contained in different, but locally nested patterns (alternative cases, iterateds).

homomorphicNodes
A two-dimensional array describing which pattern node may be matched non-isomorphic to which pattern node.

HomomorphicNodes
A two-dimensional array describing which pattern node may be matched non-isomorphic to which pattern node.

homomorphicNodesGlobal
A two-dimensional array describing which pattern node may be matched non-isomorphic to which pattern node globally, i.e. the nodes are contained in different, but locally nested patterns (alternative cases, iterateds).

HomomorphicNodesGlobal
A two-dimensional array describing which pattern node may be matched non-isomorphic to which pattern node globally, i.e. the nodes are contained in different, but locally nested patterns (alternative cases, iterateds).

independentPatternGraphs
An array of independent pattern graphs which must get matched in addition to the main pattern (PACs - Positive Application Conditions).

IndependentPatternGraphs
An array of independent pattern graphs which must get matched in addition to the main pattern (PACs - Positive Application Conditions).

isPatternpathLocked
NIY

iterateds
An array of iterated patterns, each iterated is matched at least as specified in minMatches and at most as specified in maxMatches.

Iterateds
An array of iterateds, each iterated is matched as often as possible.

maxMatches
An array of integers specifiying how often the corresponding(by array position) iterated pattern must get matched at most, with 0 meaning unlimited / as often as possible

minMatches
An array of integers specifiying how often the corresponding(by array position) iterated pattern must get matched at least

name
The name of the pattern graph

Name
The name of the pattern graph

neededEdges
The edges from the enclosing graph(s) used in this graph or one of it's subgraphs. Set of names, with dummy bool due to lacking set class in c#

neededNodes
The nodes from the enclosing graph(s) used in this graph or one of it's subgraphs. Set of names, with dummy bool due to lacking set class in c#

negativePatternGraphs
An array of negative pattern graphs which make the search fail if they get matched (NACs - Negative Application Conditions).

NegativePatternGraphs
An array of negative pattern graphs which make the search fail if they get matched (NACs - Negative Application Conditions).

nodes
An array of all pattern nodes.

Nodes
An array of all pattern nodes.

pathPrefix
Prefix for name from nesting path

pathPrefixesAndNamesOfNestedIndependents
The path prefixes and names of the independents nested within this pattern graph only in top-level-patterns, alternatives, iterateds, only independents not nested within negatives

patternGraphsOnPathToEnclosedSubpatternOrAlternativeOrIteratedOrPatternpath
The names of the pattern graphs which are on a path to some enclosed subpattern usage/alternative/iterated or negative/independent with patternpath modifier. Needed for patternpath processing setup.

schedule
A schedule for this pattern graph without any nested pattern graphs.

scheduleIncludingNegativesAndIndependents
A schedule for this pattern graph including negatives and independents (and subpatterns?). TODO

usedSubpatterns
The subpatterns used by this pattern (directly as well as indirectly), only filled/valid if this is a top level pattern graph of a rule or subpattern. Set of matching patterns, with dummy null matching pattern due to lacking set class in c#

variables
An array of all pattern variables.

Variables
An array of all pattern variables.

Inheritance Hierarchy
Object
PatternGraph

Assembly: lgspBackend (Module: lgspBackend) Version: 2.5.26185.0 (2.5.26185.0)