Options
All
  • Public
  • Public/Protected
  • All
Menu

Represents a graph in a Database.

Hierarchy

  • Graph

Index

Accessors

isArangoGraph

  • get isArangoGraph(): true
  • internal

    Indicates that this object represents an ArangoDB Graph.

    Returns true

name

  • get name(): string
  • Name of the graph.

    Returns string

Methods

addEdgeDefinition

  • Adds an edge definition to this graph.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    await graph.addEdgeDefinition({
      collection: "edges",
      from: ["start-vertices"],
      to: ["end-vertices"],
    });
    // The edge definition has been added to the graph
    

    Parameters

    Returns Promise<GraphInfo>

addVertexCollection

  • Adds the given collection to this graph as a vertex collection.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    await graph.addVertexCollection("more-vertices");
    // The collection "more-vertices" has been added to the graph
    const extra = db.collection("extra-vertices");
    await graph.addVertexCollection(extra);
    // The collection "extra-vertices" has been added to the graph
    

    Parameters

    Returns Promise<GraphInfo>

create

  • Creates a graph with the given edgeDefinitions and options for this graph's name.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    // graph now exists
    

    Parameters

    Returns Promise<GraphInfo>

drop

  • drop(dropCollections?: boolean): Promise<boolean>
  • Deletes the graph from the database.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    await graph.drop();
    // the graph "some-graph" no longer exists
    

    Parameters

    • dropCollections: boolean = false

      If set to true, the collections associated with the graph will also be deleted.

    Returns Promise<boolean>

edgeCollection

  • Returns a GraphEdgeCollection instance for the given collection name representing the collection in this graph.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    const graphEdgeCollection = graph.edgeCollection("edges");
    // Access the underlying EdgeCollection API:
    const edgeCollection = graphEdgeCollection.collection;
    

    Type parameters

    • T: Record<string, unknown> = any

      Type to use for document data. Defaults to any.

    Parameters

    Returns GraphEdgeCollection<T>

edgeCollections

  • Fetches all edge collections of this graph from the database and returns an array of GraphEdgeCollection instances.

    See also Graph.listEdgeCollections.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    const graphEdgeCollections = await graph.edgeCollections();
    for (const collection of graphEdgeCollection) {
      console.log(collection.name);
      // "edges"
    }
    

    Returns Promise<GraphEdgeCollection<any>[]>

exists

  • exists(): Promise<boolean>
  • Checks whether the graph exists.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const result = await graph.exists();
    // result indicates whether the graph exists
    

    Returns Promise<boolean>

get

  • Retrieves general information about the graph.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const data = await graph.get();
    // data contains general information about the graph
    

    Returns Promise<GraphInfo>

listEdgeCollections

  • listEdgeCollections(): Promise<string[]>
  • Fetches all edge collections of this graph from the database and returns an array of their names.

    See also Graph.edgeCollections.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    const edgeCollectionNames = await graph.listEdgeCollections();
    // ["edges"]
    

    Returns Promise<string[]>

listVertexCollections

  • listVertexCollections(): Promise<string[]>
  • Fetches all vertex collections of this graph from the database and returns an array of their names.

    See also Graph.vertexCollections.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    const vertexCollectionNames = await graph.listVertexCollections();
    // ["start-vertices", "end-vertices"]
    

    Returns Promise<string[]>

removeEdgeDefinition

  • Removes the edge definition for the given edge collection from this graph.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    await graph.removeEdgeDefinition("edges");
    // The edge definition for "edges" has been replaced
    

    Parameters

    • collection: string | ArangoCollection

      Edge collection for which to remove the definition.

    • dropCollection: boolean = false

      If set to true, the collection will also be deleted from the database.

    Returns Promise<GraphInfo>

removeVertexCollection

  • Removes the given collection from this graph as a vertex collection.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    await graph.removeVertexCollection("start-vertices");
    // The collection "start-vertices" is no longer part of the graph.
    

    Parameters

    • collection: string | ArangoCollection

      Collection to remove from the graph.

    • dropCollection: boolean = false

      If set to true, the collection will also be deleted from the database.

    Returns Promise<GraphInfo>

replaceEdgeDefinition

  • Replaces an edge definition in this graph. The existing edge definition for the given edge collection will be overwritten.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    await graph.replaceEdgeDefinition({
      collection: "edges",
      from: ["start-vertices"],
      to: ["other-vertices"],
    });
    // The edge definition for "edges" has been replaced
    

    Parameters

    Returns Promise<GraphInfo>

  • Replaces an edge definition in this graph. The existing edge definition for the given edge collection will be overwritten.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    await graph.replaceEdgeDefinition("edges", {
      collection: "edges",
      from: ["start-vertices"],
      to: ["other-vertices"],
    });
    // The edge definition for "edges" has been replaced
    

    Parameters

    Returns Promise<GraphInfo>

traversal

  • Performs a traversal starting from the given startVertex and following edges contained in this graph.

    See also EdgeCollection.traversal.

    deprecated

    Simple Queries have been deprecated in ArangoDB 3.4 and can be replaced with AQL queries.

    example
    const db = new Database();
    const graph = db.graph("my-graph");
    const collection = graph.edgeCollection("edges").collection;
    await collection.import([
      ["_key", "_from", "_to"],
      ["x", "vertices/a", "vertices/b"],
      ["y", "vertices/b", "vertices/c"],
      ["z", "vertices/c", "vertices/d"],
    ]);
    const result = await graph.traversal("vertices/a", {
      direction: "outbound",
      init: "result.vertices = [];",
      visitor: "result.vertices.push(vertex._key);",
    });
    console.log(result.vertices); // ["a", "b", "c", "d"]
    

    Parameters

    • startVertex: string

      Document _id of a vertex in this graph.

    • Optional options: TraversalOptions

      Options for performing the traversal.

    Returns Promise<any>

vertexCollection

  • Returns a GraphVertexCollection instance for the given collection name representing the collection in this graph.

    Type parameters

    • T: Record<string, unknown> = any

      Type to use for document data. Defaults to any.

    Parameters

    Returns GraphVertexCollection<T>

vertexCollections

  • Fetches all vertex collections of this graph from the database and returns an array of GraphVertexCollection instances.

    See also Graph.listVertexCollections.

    example
    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
      {
        collection: "edges",
        from: ["start-vertices"],
        to: ["end-vertices"],
      },
    ]);
    const vertexCollections = await graph.vertexCollections();
    for (const vertexCollection of vertexCollections) {
      console.log(vertexCollection.name);
      // "start-vertices"
      // "end-vertices"
    }
    

    Returns Promise<GraphVertexCollection<any>[]>

Generated using TypeDoc