Click or drag to resize

IGraph Interface

A Graph is a container object for a collection of vertices and a collection edges.

Namespace:  Frontenac.Blueprints
Assembly:  VelocityGraph (in VelocityGraph.dll) Version: 10.1.0.0 (10.1)
Syntax
public interface IGraph

The IGraph type exposes the following members.

Properties
  NameDescription
Public propertyFeatures
Get the particular features of the graph implementation. Not all graph implementations are identical nor perfectly implement the Blueprints API. The Features object returned contains meta-data about numerous potential divergences between implementations.
Top
Methods
  NameDescription
Public methodAddEdge
Add an edge to the graph. The added edges requires a recommended identifier, a tail vertex, an head vertex, and a label. Like adding a vertex, the provided object identifier may be ignored by the implementation.
Public methodAddVertex
Create a new vertex, add it to the graph, and return the newly created vertex. The provided object identifier is a recommendation for the identifier to use. It is not required that the implementation use this identifier.
Public methodGetEdge
Return the edge referenced by the provided object identifier. If no edge is referenced by that identifier, then return null.
Public methodGetEdges
Return an iterable to all the edges in the graph. If this is not possible for the implementation, then an NotSupportedException can be thrown.
Public methodGetEdges(String, Object)
Return an iterable to all the edges in the graph that have a particular key/value property. If this is not possible for the implementation, then an NotSupportedException can be thrown. The graph implementation should use indexing structures to make this efficient else a full edge-filter scan is required.
Public methodGetVertex
Return the vertex referenced by the provided object identifier. If no vertex is referenced by that identifier, then return null.
Public methodGetVertices
Return an iterable to all the vertices in the graph. If this is not possible for the implementation, then an NotSupportedException can be thrown.
Public methodGetVertices(String, Object)
Return an iterable to all the vertices in the graph that have a particular key/value property. If this is not possible for the implementation, then a NotSupportedException can be thrown. The graph implementation should use indexing structures to make this efficient else a full vertex-filter scan is required.
Public methodQuery
Generate a query object that can be used to fine tune which edges/vertices are retrieved from the graph.
Public methodRemoveEdge
Remove the provided edge from the graph.
Public methodRemoveVertex
Remove the provided vertex from the graph. Upon removing the vertex, all the edges by which the vertex is connected must be removed as well.
Public methodShutdown
Top
Extension Methods
  NameDescription
Public Extension MethodAddEdge
Add an edge to the graph with specified id and provided properties.
(Defined by GraphHelpers.)
Public Extension MethodAddVertex
Add a vertex to the graph with specified id and provided properties.
(Defined by GraphHelpers.)
Public Extension MethodCopyGraph
Copy the vertex/edges of one graph over to another graph. The id of the elements in the from graph are attempted to be used in the to graph. This method only works for graphs where the user can control the element ids.
(Defined by GraphHelpers.)
Public Extension MethodCreateTinkerGraph (Defined by GraphHelpers.)
Public Extension MethodGraphString (Defined by StringFactory.)
Public Extension MethodLoadGml (Defined by GraphHelpers.)
Public Extension MethodLoadGraphml (Defined by GraphHelpers.)
Public Extension MethodLoadGraphson (Defined by GraphHelpers.)
Public Extension MethodReIndexElementsT
For those graphs that do no support automatic reindexing of elements when a key is provided for indexing, this method can be used to simulate that behavior. The elements in the graph are iterated and their properties (for the provided keys) are removed and then added. Be sure that the key indices have been created prior to calling this method so that they can pick up the property mutations calls. Finally, if the graph is a TransactionalGraph, then a 1000 mutation buffer is used for each commit.
(Defined by KeyIndexableGraphHelpers.)
Public Extension MethodSaveDotNet (Defined by GraphHelpers.)
Public Extension MethodSaveGml (Defined by GraphHelpers.)
Public Extension MethodSaveGraphml (Defined by GraphHelpers.)
Public Extension MethodSaveGraphson (Defined by GraphHelpers.)
Top
See Also