![]() | LGSPGraph Methods |
The LGSPGraph type exposes the following members.
Name | Description | |
---|---|---|
![]() | AddEdge(IEdge) | (Overrides BaseGraphAddEdge(IEdge)) |
![]() | AddEdge(LGSPEdge) | Adds an existing LGSPEdge object to the graph. The edge must not be part of any graph, yet! Source and target of the edge must already be part of the graph. |
![]() | AddEdge(EdgeType, LGSPNode, LGSPNode) | Adds a new edge to the graph. |
![]() | AddEdge(EdgeType, INode, INode) | (Overrides BaseGraphAddEdge(EdgeType, INode, INode)) |
![]() | AddEdgeWithoutEvents | Adds an existing edge to this graph. The graph may not already contain the edge! The edge may not be connected to any other elements! Intended only for undo, clone, retyping and internal use! |
![]() | AddLGSPNode | Creates a new LGSPNode according to the given type and adds it to the graph. |
![]() | AddNode(INode) | (Overrides BaseGraphAddNode(INode)) |
![]() | AddNode(LGSPNode) | Adds an existing LGSPNode object to the graph. The node must not be part of any graph, yet! The node may not be connected to any other elements! |
![]() | AddNode(NodeType) | (Overrides BaseGraphAddNode(NodeType)) |
![]() | AddNodeWithoutEvents | Adds an existing node to this graph. The graph may not already contain the node! The edge may not be connected to any other elements! Intended only for undo, clone, retyping and internal use! |
![]() | AllocateFurtherIsomorphySpaceNestingLevelForParallelizedMatching | |
![]() | AllocateVisitedFlag |
Allocates a visited flag on the graph elements.
(Overrides BaseGraphAllocateVisitedFlag) |
![]() | AnalyzeGraph | Analyzes the graph. The calculated data is used to generate good searchplans for the current graph. |
![]() | Canonize |
Returns a canonical representation of the graph as a string
(Overrides BaseGraphCanonize) |
![]() | ChangedEdgeAttribute | (Inherited from BaseGraph) |
![]() | ChangedNodeAttribute | (Inherited from BaseGraph) |
![]() | ChangingEdgeAttribute | (Inherited from BaseGraph) |
![]() | ChangingNodeAttribute | (Inherited from BaseGraph) |
![]() | ChangingObjectAttribute | (Inherited from BaseGraph) |
![]() | Check | (Overrides BaseGraphCheck) |
![]() | CheckEdgeAlreadyInTypeRinglist | Checks if the given edge is already available in its type ringlist |
![]() | CheckEmptyFlags | Checks if the matching state flags in the graph are not set, as they should be in case no matching is undereway |
![]() | CheckInOutRinglistsBroken | Checks whether the incoming or outgoing ringlists of the given node are broken. Use for debugging purposes. |
![]() | CheckNodeAlreadyInTypeRinglist | Checks if the given node is already available in its type ringlist |
![]() | CheckTypeRinglistBroken(LGSPEdge) | Checks whether the type ringlist starting at the given head edge is broken. Use for debugging purposes. |
![]() | CheckTypeRinglistBroken(LGSPNode) | Checks whether the type ringlist starting at the given head node is broken. Use for debugging purposes. |
![]() | CheckTypeRinglistsBroken | Checks whether the type ringlists are broken. Use for debugging purposes. |
![]() | Clear |
Removes all nodes and edges (including any variables pointing to them) from the graph.
(Overrides BaseGraphClear) |
![]() | ClearingGraph |
Fires an OnClearingGraph event.
(Inherited from BaseGraph) |
![]() | Clone(String) |
Duplicates a graph.
The new graph will use the same model as the other
Open transaction data will not be cloned.
(Overrides BaseGraphClone(String)) |
![]() | Clone(String, IDictionaryIGraphElement, IGraphElement) |
Duplicates a graph.
The new graph will use the same model as the other.
Open transaction data will not be cloned.
(Overrides BaseGraphClone(String, IDictionaryIGraphElement, IGraphElement)) |
![]() | CloneAndAssignNames |
Duplicates a graph, assigning names.
The new graph will use the same model as the other
Open transaction data will not be cloned.
(Overrides BaseGraphCloneAndAssignNames) |
![]() | CreateEmptyEquivalent |
Creates an empty graph using the same model as the other.
(Overrides BaseGraphCreateEmptyEquivalent(String)) |
![]() | Custom |
Does graph-backend dependent stuff.
(Overrides BaseGraphCustom(Object)) |
![]() | EdgeAdded |
Fires an OnEdgeAdded event.
(Inherited from BaseGraph) |
![]() | EnsureSufficientIsomorphySpacesForParallelizedMatchingAreAvailable | |
![]() | FreeVisitedFlag |
Frees a visited flag.
This is a safe but O(n) operation, as it resets the visited flag in the graph.
(Overrides BaseGraphFreeVisitedFlag(Int32)) |
![]() | FreeVisitedFlagNonReset |
Frees a clean visited flag.
This is an O(1) but potentially unsafe operation.
Attention! A marked element stays marked, so a later allocation hands out a dirty visited flag!
Use only if you can ensure that all elements of that flag are unmarked before calling.
(Overrides BaseGraphFreeVisitedFlagNonReset(Int32)) |
![]() | GetAllocatedVisitedFlags |
Returns the ids of the allocated visited flags.
(Overrides BaseGraphGetAllocatedVisitedFlags) |
![]() | GetCompatibleEdges |
Enumerates all edges compatible to the given edge type.
(Overrides BaseGraphGetCompatibleEdges(EdgeType)) |
![]() | GetCompatibleNodes |
Enumerates all nodes compatible to the given node type.
(Overrides BaseGraphGetCompatibleNodes(NodeType)) |
![]() | GetEdge |
Gets the edge for the given id.
Only available if the unique index was declared in the model.
(Overrides BaseGraphGetEdge(Int32)) |
![]() | GetEdgeType |
Returns the edge type with the given name.
(Inherited from BaseGraph) |
![]() | GetExactEdges |
Enumerates all edges with the exact given edge type.
(Overrides BaseGraphGetExactEdges(EdgeType)) |
![]() | GetExactNodes |
Enumerates all nodes with the exact given node type.
(Overrides BaseGraphGetExactNodes(NodeType)) |
![]() | GetGraphElement |
Gets the graph element for the given unique id.
Only available if the unique index was declared in the model.
(Overrides BaseGraphGetGraphElement(Int32)) |
![]() ![]() | GetGraphName | |
![]() | GetIsomorph |
Returns the graph from the set of graphs given that is isomorphic to this graph (including the attribute values), or null if no such graph exists
If a graph changed only in attribute values since the last comparison, results will be wrong!
(Do a fake node insert and removal to ensure the graph is recognized as having changed.)
Don't call from a parallelized matcher!
(Overrides BaseGraphGetIsomorph(IDictionaryIGraph, SetValueType)) |
![]() | GetNode |
Gets the node for the given unique id.
Only available if the unique index was declared in the model.
(Overrides BaseGraphGetNode(Int32)) |
![]() | GetNodeType |
Returns the node type with the given name.
(Inherited from BaseGraph) |
![]() | GetNumCompatibleEdges |
Returns the number of edges compatible to the given edge type.
(Overrides BaseGraphGetNumCompatibleEdges(EdgeType)) |
![]() | GetNumCompatibleNodes |
Returns the number of nodes compatible to the given node type.
(Overrides BaseGraphGetNumCompatibleNodes(NodeType)) |
![]() | GetNumExactEdges |
Returns the number of edges with the exact given edge type.
(Overrides BaseGraphGetNumExactEdges(EdgeType)) |
![]() | GetNumExactNodes |
Returns the number of nodes with the exact given node type.
(Overrides BaseGraphGetNumExactNodes(NodeType)) |
![]() | GetSameStructure |
Returns the graph from the set of graphs given that is isomorphic to this graph (neglecting the attribute values, only structurally), or null if no such graph exists
Don't call from a parallelized matcher!
(Overrides BaseGraphGetSameStructure(IDictionaryIGraph, SetValueType)) |
![]() | HasSameStructure(IDictionaryIGraph, SetValueType) |
Returns whether this graph is isomorph to any of the set of graphs given, neglecting the attribute values, only structurally
Don't call from a parallelized matcher!
(Overrides BaseGraphHasSameStructure(IDictionaryIGraph, SetValueType)) |
![]() | HasSameStructure(IGraph) |
Returns whether this graph is isomorph to that graph, neglecting the attribute values, only structurally
The other graph we check for isomorphy against, neglecting attribute valuesReturn Valuetrue if that is isomorph (regarding structure) to this, false otherwise(Overrides BaseGraphHasSameStructure(IGraph)) |
![]() | IsInternallyVisited(IGraphElement) |
Returns whether the given graph element has been internally visited.
(Used for computing reachability.)
(Overrides BaseGraphIsInternallyVisited(IGraphElement)) |
![]() | IsInternallyVisited(IGraphElement, Int32) |
Returns whether the given graph element has been internally visited.
(Used for computing reachability when employed from a parallelized matcher executed by the thread pool.)
(Overrides BaseGraphIsInternallyVisited(IGraphElement, Int32)) |
![]() | IsIsomorph(IDictionaryIGraph, SetValueType) |
Returns whether this graph is isomorph to any of the set of graphs given (including the attribute values)
If a graph changed only in attribute values since the last comparison, results will be wrong!
(Do a fake node insert and removal to ensure the graph is recognized as having changed.)
Don't call from a parallelized matcher!
(Overrides BaseGraphIsIsomorph(IDictionaryIGraph, SetValueType)) |
![]() | IsIsomorph(IGraph) |
Returns whether this graph is isomorph to that graph (including the attribute values)
If a graph changed only in attribute values since the last comparison, results will be wrong!
(Do a fake node insert and removal to ensure the graph is recognized as having changed.)
(Overrides BaseGraphIsIsomorph(IGraph)) |
![]() | IsVisited |
Returns whether the given graph element has been visited.
(Overrides BaseGraphIsVisited(IGraphElement, Int32)) |
![]() | Merge(INode, INode, String) |
Merges the source node into the target node,
i.e. all edges incident to the source node are redirected to the target node, then the source node is deleted.
(Overrides BaseGraphMerge(INode, INode, String)) |
![]() | Merge(LGSPNode, LGSPNode, String) | Merges the source node into the target node, i.e. all edges incident to the source node are redirected to the target node, then the source node is deleted. |
![]() | MoveHeadAfter(LGSPEdge) | Moves the type list head of the given edge after the given edge. Part of the "list trick". |
![]() | MoveHeadAfter(LGSPNode) | Moves the type list head of the given node after the given node. Part of the "list trick". |
![]() | NodeAdded |
Fires an OnNodeAdded event.
(Inherited from BaseGraph) |
![]() | ObjectCreated |
Fires an OnObjectCreated event.
(Inherited from BaseGraph) |
![]() | ReallocateVisitedFlag | Called by the transaction manager on flags it reserved from getting handed out again during valloc, when the transaction is rolled back, and the vfree is undone by a realloc. |
![]() | RedirectingEdge |
Fires an OnRedirectingEdge event.
(Inherited from BaseGraph) |
![]() | RedirectSource(IEdge, INode, String) |
Changes the source node of the edge from the old source to the given new source.
(Overrides BaseGraphRedirectSource(IEdge, INode, String)) |
![]() | RedirectSource(LGSPEdge, LGSPNode, String) | Changes the source node of the edge from the old source to the given new source. |
![]() | RedirectSourceAndTarget(IEdge, INode, INode, String, String) |
Changes the source of the edge from the old source to the given new source,
and changes the target node of the edge from the old target to the given new target.
(Overrides BaseGraphRedirectSourceAndTarget(IEdge, INode, INode, String, String)) |
![]() | RedirectSourceAndTarget(LGSPEdge, LGSPNode, LGSPNode, String, String) | Changes the source of the edge from the old source to the given new source, and changes the target node of the edge from the old target to the given new target. |
![]() | RedirectTarget(IEdge, INode, String) |
Changes the target node of the edge from the old target to the given new target.
(Overrides BaseGraphRedirectTarget(IEdge, INode, String)) |
![]() | RedirectTarget(LGSPEdge, LGSPNode, String) | Changes the target node of the edge from the old target to the given new target. |
![]() | Remove(IEdge) |
Removes the given edge from the graph.
(Overrides BaseGraphRemove(IEdge)) |
![]() | Remove(INode) |
Removes the given node from the graph.
(Overrides BaseGraphRemove(INode)) |
![]() | RemoveEdges |
Removes all edges from the given node.
(Overrides BaseGraphRemoveEdges(INode)) |
![]() | RemovingEdge |
Fires an OnRemovingEdge event.
(Inherited from BaseGraph) |
![]() | RemovingEdges |
Fires an OnRemovingEdges event.
(Inherited from BaseGraph) |
![]() | RemovingNode |
Fires an OnRemovingNode event.
(Inherited from BaseGraph) |
![]() | ReplaceEdge | Replaces a given edge by another one. Source and target node are transferred to the new edge, but the new edge must already have source and target set to these nodes. The new edge is added to the graph, the old edge is removed. A SettingEdgeType event is generated before. The attributes are not touched. This function is used for retyping. |
![]() | ReplaceNode | Replaces a given node by another one. All incident edges and variables are transferred to the new node. The attributes are not touched. This function is used for retyping. |
![]() | ReserveVisitedFlag | Called by the transaction manager just when it gets notified about a vfree. The visited flag freed must be reserved until the transaction finished, cause otherwise it might be impossible for the transaction manager to roll the vfree back with a valloc; that may happen if the flag is handed out again in a succeeding valloc, during a transaction pause. |
![]() | ResetVisitedFlag |
Resets the visited flag with the given ID on all graph elements, if necessary.
(Overrides BaseGraphResetVisitedFlag(Int32)) |
![]() | Retype(IEdge, EdgeType) | (Overrides BaseGraphRetype(IEdge, EdgeType)) |
![]() | Retype(INode, NodeType) | (Overrides BaseGraphRetype(INode, NodeType)) |
![]() | Retype(LGSPEdge, EdgeType) | Retypes an edge by replacing it by a new edge of the given type. Source and target node as well as all attributes from common super classes are kept. |
![]() | Retype(LGSPNode, NodeType) | Retypes a node by creating a new node of the given type. All incident edges as well as all attributes from common super classes are kept. |
![]() | RetypingEdge |
Fires an OnRetypingEdge event.
(Inherited from BaseGraph) |
![]() | RetypingNode |
Fires an OnRetypingNode event.
(Inherited from BaseGraph) |
![]() | SetInternallyVisited(IGraphElement, Boolean) |
Sets the internal-use visited flag of the given graph element.
(Used for computing reachability.)
(Overrides BaseGraphSetInternallyVisited(IGraphElement, Boolean)) |
![]() | SetInternallyVisited(IGraphElement, Boolean, Int32) |
Sets the internal-use visited flag of the given graph element.
(Used for computing reachability when employed from a parallelized matcher executed by the thread pool.)
(Overrides BaseGraphSetInternallyVisited(IGraphElement, Boolean, Int32)) |
![]() | SettingAddedEdgeNames | (Inherited from BaseGraph) |
![]() | SettingAddedNodeNames | (Inherited from BaseGraph) |
![]() | SettingVisited |
Fires an OnSettingVisited event.
(Inherited from BaseGraph) |
![]() | SetVisited |
Sets the visited flag of the given graph element.
(Overrides BaseGraphSetVisited(IGraphElement, Int32, Boolean)) |
![]() | ToString | (Overrides ObjectToString) |
![]() | UnreserveVisitedFlag | Called by the transaction manager on flags it reserved from getting handed out again during valloc, when the transaction finished and it is safe to return those flags again on valloc. |
![]() | Validate | (Inherited from BaseGraph) |
![]() | VisitedAlloc |
Fires an OnVisitedAlloc event.
(Inherited from BaseGraph) |
![]() | VisitedFree |
Fires an OnVisitedFree event.
(Inherited from BaseGraph) |