The graph module provides basic functions dealing with graph structures. The examples assume
arango> var Graph = require("graph").Graph; arango> g = new Graph("graph", "vertices", "edges"); Graph("graph")
Graph(name, vertices, edges)
Graph(name)
Examples
arango> var Graph = require("graph").Graph; arango> new Graph("graph", db.vertices, db.edges); Graph("graph") arango> new Graph("graph", "vertices", "edges"); Graph("graph")
graph.addEdge(out, in, id)
graph.addEdge(out, in, id, label)
graph.addEdge(out, in, id, data)
graph.addEdge(out, in, id, label, data)
Examples
arango> v1 = g.addVertex(1); Vertex(1) arango> v2 = g.addVertex(2); Vertex(2) arango> e = g.addEdge(v1, v2, 3); Edge(3)
arango> e = g.addEdge(v1, v2, 4, "1->2", { name : "Emil"); Edge(4)
graph.addVertex(id)
graph.addVertex(id, data)
Examples
Without any properties:
arango> v = g.addVertex("hugo"); Vertex("hugo")
With given properties:
arango> v = g.addVertex("Emil", { age : 123 }); Vertex("Emil") arango> v.getProperty("age"); 123
graph.getEdges()
hasNext
and next
.
Examples
arango> f = g.getEdges(); [edge iterator] arango> f.hasNext(); true arango> e = f.next(); Edge(<graph>, "2141724:4636053")
graph.getVertex(id)
null
.
Examples
arango> g.addVertex(1); Vertex(1) arango> g.getVertex(1) Vertex(1)
graph.getVertices()
hasNext
and next
.
Examples
arango> f = g.getVertices(); [vertex iterator] arango> f.hasNext(); true arango> v = f.next(); Vertex(18364)
graph.removeVertex(vertex)
Examples
arango> v1 = g.addVertex(1); Vertex(1) arango> v2 = g.addVertex(2); Vertex(2) arango> e = g.addEdge(v1, v2, 3); Edge(3) arango> g.removeVertex(v1); arango> v2.edges(); [ ]
graph.removeEdge(vertex)
Examples
arango> v1 = g.addVertex(1); Vertex(1) arango> v2 = g.addVertex(2); Vertex(2) arango> e = g.addEdge(v1, v2, 3); Edge(3) arango> g.removeEdge(e); arango> v2.edges(); [ ]
graph.drop()
vertex.addInEdge(peer, id)
vertex.addInEdge(peer, id, label)
vertex.addInEdge(peer, id, label, data)
Examples
arango> v1 = g.addVertex(1); Vertex(1) arango> v2 = g.addVertex(2); Vertex(2) arango> v1.addInEdge(v2, "2 -> 1"); Edge("2 -> 1") arango> v1.getInEdges(); [ Edge("2 -> 1") ]
arango> v1.addInEdge(v2, "D", "knows", { data : 1 }); Edge("D") arango> v1.getInEdges(); [ Edge("K"), Edge("2 -> 1"), Edges("D") ]
vertex.addOutEdge(peer)
vertex.addOutEdge(peer, label)
vertex.addOutEdge(peer, label, data)
Examples
arango> v1 = g.addVertex(1); Vertex(1) arango> v2 = g.addVertex(2); Vertex(2) arango> v1.addOutEdge(v2, "1->2"); Edge("1->2") arango> v1.getOutEdges(); [ Edge(1->2") ]
arango> v1.addOutEdge(v2, 3, "knows"); Edge(3)
arango> v1.addOutEdge(v2, 4, "knows", { data : 1 }); Edge(4)
vertex.edges()
Examples
arango> v1 = g.addVertex(1); Vertex(1) arango> v2 = g.addVertex(); Vertex(2) arango> e = g.addEdge(v1, v2, "1->2"); Edge("1->2") arango> v1.edges(); [ Edge("1->2") ] arango> v2.edges(); [ Edge("1->2") ]
vertex.getId()
undefined
is returned.
Examples
arango> v = g.addVertex(1, { name : "Hugo" }); Vertex(1) arango> v.getId(); "1"
vertex.getInEdges(label, ...)
Examples
arango> v1 = g.addVertex(1, { name : "Hugo" }); Vertex(1) arango> v2 = g.addVertex(2, { name : "Emil" }); Vertex(2) arango> e1 = g.addEdge(v1, v2, 3, "knows"); Edge(3) arango> e2 = g.addEdge(v1, v2, 4, "hates"); Edge(4) arango> v2.getInEdges(); [ Edge(3), Edge(4) ] arango> v2.getInEdges("knows"); [ Edge(3) ] arango> v2.getInEdges("hates"); [ Edge(4) ] arango> v2.getInEdges("knows", "hates"); [ Edge(3), Edge(4) ]
vertex.getOutEdges(label, ...)
Examples
arango> v1 = g.addVertex(1, { name : "Hugo" }); Vertex(1) arango> v2 = g.addVertex(2, { name : "Emil" }); Vertex(2) arango> e1 = g.addEdge(v1, v2, 3, "knows"); Edge(3) arango> e2 = g.addEdge(v1, v2, 4, "hates"); Edge(4) arango> v1.getInEdges(); [ Edge(3), Edge(4) ] arango> v1.getInEdges("knows"); [ Edge(3) ] arango> v1.getInEdges("hates"); [ Edge(4) ] arango> v1.getInEdges("knows", "hates"); [ Edge(3), Edge(4) ]
vertex.getProperty(name)
Examples
arango> v = g.addVertex(1, { name : "Hugo" }); Vertex(1) arango> v.getProperty("name"); Hugo
vertex.getPropertyKeys()
Examples
arango> v = g.addVertex(1, { name : "Hugo" }); Vertex(1) arango> v.getPropertyKeys(); [ "name" ] arango> v.setProperty("email", "hugo@hugo.de"); "hugo@hugo.de" arango> v.getPropertyKeys(); [ "name", "email" ]
vertex.properties()
Examples
arango> v = g.addVertex(1, { name : "Hugo" }); Vertex(1) arango> v.properties(); { name : "Hugo" }
vertex.setProperty(name, value)
Examples
arango> v = g.addVertex(1, { name : "Hugo" }); Vertex(1) arango> v.getProperty("name"); "Hugo" arango> v.setProperty("name", "Emil"); "Emil" arango> v.getProperty("name"); "Emil"
edge.getId()
Examples
arango> v = g.addVertex("v"); Vertex("v") arango> e = g.addEdge(v, v, 1, "self"); Edge(1) arango> e.getId(); 1
edge.getInVertex()
Examples
arango> v1 = g.addVertex(1); Vertex(1) arango> e = g.addEdge(v, v, 2, "self"); Edge(2) arango> e.getInVertex(); Vertex(1)
edge.getLabel()
Examples
arango> v = g.addVertex(1); Vertex(1) arango> e = g.addEdge(v, v, 2, "knows"); Edge(2) arango> e.getLabel(); knows
edge.getOutVertex()
Examples
arango> v = g.addVertex(1); Vertex(1) arango> e = g.addEdge(v, v, 2, "self"); Edge(2) arango> e.getOutVertex(); Vertex(1)
edge.getProperty(name)
Examples
arango> v = g.addVertex(1); Vertex(1) arango> e = g.addEdge(v, v, 2, "self", { "weight" : 10 }); Edge(2) arango> e.getProperty("weight"); 10
edge.getPropertyKeys()
Examples
arango> v = g.addVertex(1); Vertex(1) arango> e = g.addEdge(v, v, 2, "self", { weight: 10 }) Edge(2) arango> e.getPropertyKeys() [ "weight" ] arango> e.setProperty("name", "Hugo"); Hugo arango> e.getPropertyKeys() [ "weight", "name" ]
edge.properties()
Examples
arango> v = g.addVertex(1); Vertex(1) arango> e = g.addEdge(v, v, 2, "knows"); Edge(2) arango> e.properties(); { "weight" : 10 }
edge.setProperty(name, value)
Examples
arango> v = g.addVertex(1); Vertex(1) arango> e = g.addEdge(v, v, 2, "self", { weight: 10 }) Edge(2) arango> e.getPropert("weight") 10 arango> e.setProperty("weight", 20); 20 arango> e.getPropert("weight") 20