Click or drag to resize

IGraph Methods

The IGraph type exposes the following members.

Methods
  NameDescription
Public methodAddEdge(IEdge)
Adds an existing IEdge 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.
Public methodAddEdge(EdgeType, INode, INode)
Adds a new edge to the graph.
Public methodAddNode(INode)
Adds an existing INode object to the graph. The node must not be part of any graph, yet! The node may not be connected to any other elements!
Public methodAddNode(NodeType)
Adds a new node to the graph.
Public methodAllocateVisitedFlag
Allocates a visited flag on the graph elements.
Public methodCanonize
Returns a canonical representation of the graph as a string
Public methodChangedEdgeAttribute
Fires an OnChangedEdgeAttribute event. For debugging, won't be automatically called in case of -nodebugevents, attribute change rollback is based on the pre-events.
Public methodChangedNodeAttribute
Fires an OnChangedNodeAttribute event. For debugging, won't be automatically called in case of -nodebugevents, attribute change rollback is based on the pre-events.
Public methodChangingEdgeAttribute
Fires an OnChangingEdgeAttribute event. To be called before changing an attribute of an edge, with exact information about the change to occur, to allow rollback of changes, in case a transaction is underway.
Public methodChangingNodeAttribute
Fires an OnChangingNodeAttribute event. To be called before changing an attribute of a node, with exact information about the change to occur, to allow rollback of changes, in case a transaction is underway.
Public methodChangingObjectAttribute
Fires an OnChangingObjectAttribute event. To be called before changing an attribute of an internal object, with exact information about the change to occur, to allow rollback of changes, in case a transaction is underway.
Public methodCheck
Checks whether the internal data structures are ok (will throw an exception if they are not). This is for debugging the underlying implementation from positions outside the implementation.
Public methodClear
Removes all nodes and edges from the graph (so any variables pointing to them start dangling). Also resets the class object unique id source.
Public methodClone(String)
Duplicates a graph. The new graph will use the same model as the other.
Public methodClone(String, IDictionaryIGraphElement, IGraphElement)
Duplicates a graph. The new graph will use the same model as the other.
Public methodCloneAndAssignNames
Duplicates a graph, assigning names. (Don't use this on a named graph.) The new graph will use the same model and backend as the other.
Public methodCreateEmptyEquivalent
Creates an empty graph using the same model as the other.
Public methodCustom
Does graph-backend dependent stuff.
Public methodFreeVisitedFlag
Frees a visited flag. This is a safe but O(n) operation, as it resets the visited flag in the graph.
Public methodFreeVisitedFlagNonReset
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.
Public methodGetAllocatedVisitedFlags
Returns the ids of the allocated visited flags.
Public methodGetCompatibleEdges
Enumerates all edges compatible to the given edge type.
Public methodGetCompatibleNodes
Enumerates all nodes compatible to the given node type.
Public methodGetEdge
Gets the edge for the given id. Only available if the unique index was declared in the model.
Public methodGetExactEdges
Enumerates all edges with the exact given edge type.
Public methodGetExactNodes
Enumerates all nodes with the exact given node type.
Public methodGetGraphElement
Gets the graph element for the given unique id. Only available if the unique index was declared in the model.
Public methodGetIsomorph
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!
Public methodGetNode
Gets the node for the given unique id. Only available if the unique index was declared in the model.
Public methodGetNumCompatibleEdges
Returns the number of edges compatible to the given edge type.
Public methodGetNumCompatibleNodes
Returns the number of nodes compatible to the given node type.
Public methodGetNumExactEdges
Returns the number of edges with the exact given edge type.
Public methodGetNumExactNodes
Returns the number of nodes with the exact given node type.
Public methodGetSameStructure
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!
Public methodHasSameStructure(IGraph)
Returns whether this graph is isomorphic to that graph, neglecting the attribute values, only structurally
Public methodHasSameStructure(IDictionaryIGraph, SetValueType)
Returns whether this graph is isomorphic to any of the set of graphs given, neglecting the attribute values, only structurally Don't call from a parallelized matcher!
Public methodIsInternallyVisited(IGraphElement)
Returns whether the given graph element has been internally visited. (Used for computing reachability.)
Public methodIsInternallyVisited(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.)
Public methodIsIsomorph(IGraph)
Returns whether this graph is isomorphic 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.)
Public methodIsIsomorph(IDictionaryIGraph, SetValueType)
Returns whether this graph is isomorphic 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!
Public methodIsVisited
Returns whether the given graph element has been visited.
Public methodMerge
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.
Public methodRedirectSource
Changes the source node of the edge from the old source to the given new source.
Public methodRedirectSourceAndTarget
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.
Public methodRedirectTarget
Changes the target node of the edge from the old target to the given new target.
Public methodRemove(IEdge)
Removes the given edge from the graph.
Public methodRemove(INode)
Removes the given node from the graph. There must be no edges left incident to the node (you may use RemoveEdges to ensure this).
Public methodRemoveEdges
Removes all edges from the given node.
Public methodResetVisitedFlag
Resets the visited flag with the given ID on all graph elements, if necessary.
Public methodRetype(IEdge, EdgeType)
Retypes an edge by creating a new edge of the given type. Source and target node as well as all attributes from common super classes are kept.
Public methodRetype(INode, 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.
Public methodSetInternallyVisited(IGraphElement, Boolean)
Sets the internal-use visited flag of the given graph element. (Used for computing reachability.)
Public methodSetInternallyVisited(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.)
Public methodSetVisited
Sets the visited flag of the given graph element.
Public methodValidate
Checks whether a graph meets the connection assertions.
Top
See Also