1
0
Fork 0
arangodb/RestServer/module-graph.dox

229 lines
7.7 KiB
Plaintext

////////////////////////////////////////////////////////////////////////////////
/// @brief module "graph"
///
/// @file
///
/// DISCLAIMER
///
/// Copyright 2012 triAGENS GmbH, Cologne, Germany
///
/// Licensed under the Apache License, Version 2.0 (the "License");
/// you may not use this file except in compliance with the License.
/// You may obtain a copy of the License at
///
/// http://www.apache.org/licenses/LICENSE-2.0
///
/// Unless required by applicable law or agreed to in writing, software
/// distributed under the License is distributed on an "AS IS" BASIS,
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/// See the License for the specific language governing permissions and
/// limitations under the License.
///
/// Copyright holder is triAGENS GmbH, Cologne, Germany
///
/// @author Dr. Frank Celler
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page Graphs First Steps with Graphs
///
/// A Graph consists of vertices and edges. The vertex collection contains the
/// documents forming the vertices. The edge collection contains the documents
/// forming the edges. Together both collections form a graph. Assume that
/// the vertex collection is called @LIT{vertices} and the edges collection
/// @LIT{edges}, then you can build a graph using the @FN{Graph} constructor.
///
/// @verbinclude graph25
///
/// It is possible to use different edges with the same vertices. For
/// instance, to build a new graph with a different edge collection use
///
/// @verbinclude graph26
///
/// It is, however, impossible to use different vertices with the same
/// edges. Edges are tied to the vertices.
///
/// Next steps: learn more about
///
/// - @ref JSModuleGraph
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page JSModuleGraphTOC
///
/// <ol>
/// <li>@ref JSModuleGraphGraph
/// <ol>
/// <li>@ref JSModuleGraphGraphAddEdge "Graph.addEdge"</li>
/// <li>@ref JSModuleGraphGraphAddVertex "Graph.addVertex"</li>
/// <li>@ref JSModuleGraphGraphConstructor "Graph constructor"</li>
/// <li>@ref JSModuleGraphGraphGetVertex "Graph.getEdges"</li>
/// <li>@ref JSModuleGraphGraphGetVertex "Graph.getVertex"</li>
/// <li>@ref JSModuleGraphGraphGetVertices "Graph.getVertices"</li>
/// <li>@ref JSModuleGraphGraphRemoveEdge "Graph.removeEdge"</li>
/// <li>@ref JSModuleGraphGraphRemoveVertex "Graph.removeVertex"</li>
/// <li>@ref JSModuleGraphGraphDrop "Graph.drop"</li>
/// </ol>
/// </li>
/// <li>@ref JSModuleGraphVertex
/// <ol>
/// <li>@ref JSModuleGraphVertexAddInEdge "Vertex.addInEdge"</li>
/// <li>@ref JSModuleGraphVertexAddOutEdge "Vertex.addOutEdge"</li>
/// <li>@ref JSModuleGraphVertexEdges "Vertex.edges"</li>
/// <li>@ref JSModuleGraphVertexGetId "Vertex.getId"</li>
/// <li>@ref JSModuleGraphVertexGetInEdges "Vertex.getInEdges"</li>
/// <li>@ref JSModuleGraphVertexGetOutEdges "Vertex.getOutEdges"</li>
/// <li>@ref JSModuleGraphVertexGetProperty "Vertex.getProperty"</li>
/// <li>@ref JSModuleGraphVertexGetPropertyKeys "Vertex.getPropertyKeys"</li>
/// <li>@ref JSModuleGraphVertexProperties "Vertex.properties"</li>
/// <li>@ref JSModuleGraphVertexSetProperty "Vertex.setProperty"</li>
/// </ol>
/// </li>
/// <li>@ref JSModuleGraphEdge
/// <ol>
/// <li>@ref JSModuleGraphEdgeGetId "Edge.getId"</li>
/// <li>@ref JSModuleGraphEdgeGetInVertex "Edge.getInVertex"</li>
/// <li>@ref JSModuleGraphEdgeGetLabel "Edge.getLabel"</li>
/// <li>@ref JSModuleGraphEdgeGetOutVertex "Edge.getOutVertex"</li>
/// <li>@ref JSModuleGraphEdgeGetProperty "Edge.getProperty"</li>
/// <li>@ref JSModuleGraphEdgeGetPropertyKeys "Edge.getPropertyKeys"</li>
/// <li>@ref JSModuleGraphEdgeProperties "Edge.properties"</li>
/// <li>@ref JSModuleGraphEdgeSetProperty "Edge.setProperty"</li>
/// </ol>
/// </li>
/// </ol>
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page JSModuleGraph Module "graph"
///
/// The graph module provides basic functions dealing with graph structures.
/// The examples assume
///
/// @verbinclude graph-setup
///
/// <hr>
/// @copydoc JSModuleGraphTOC
/// <hr>
///
/// @section JSModuleGraphGraph Graph Constructors and Methods
//////////////////////////////////////////////////////////////
///
/// @anchor JSModuleGraphGraphConstructor
/// @copydetails JSF_Graph
/// <hr>
///
/// @anchor JSModuleGraphGraphAddEdge
/// @copydetails JSF_Graph_prototype_addEdge
/// <hr>
///
/// @anchor JSModuleGraphGraphAddVertex
/// @copydetails JSF_Graph_prototype_addVertex
/// <hr>
///
/// @anchor JSModuleGraphGraphGetEdges
/// @copydetails JSF_Graph_prototype_getEdges
/// <hr>
///
/// @anchor JSModuleGraphGraphGetVertex
/// @copydetails JSF_Graph_prototype_getVertex
/// <hr>
///
/// @anchor JSModuleGraphGraphGetVertices
/// @copydetails JSF_Graph_prototype_getVertices
/// <hr>
///
/// @anchor JSModuleGraphGraphRemoveVertex
/// @copydetails JSF_Graph_prototype_removeVertex
/// <hr>
///
/// @anchor JSModuleGraphGraphRemoveEdge
/// @copydetails JSF_Graph_prototype_removeEdge
/// <hr>
///
/// @anchor JSModuleGraphGraphDrop
/// @copydetails JSF_Graph_prototype_drop
///
/// @section JSModuleGraphVertex Vertex Methods
///////////////////////////////////////////////
///
/// @anchor JSModuleGraphVertexAddInEdge
/// @copydetails JSF_Vertex_prototype_addInEdge
/// <hr>
///
/// @anchor JSModuleGraphVertexAddOutEdge
/// @copydetails JSF_Vertex_prototype_addOutEdge
/// <hr>
///
/// @anchor JSModuleGraphVertexEdges
/// @copydetails JSF_Vertex_prototype_edges
/// <hr>
///
/// @anchor JSModuleGraphVertexGetId
/// @copydetails JSF_Vertex_prototype_getId
/// <hr>
///
/// @anchor JSModuleGraphVertexGetInEdges
/// @copydetails JSF_Vertex_prototype_getInEdges
/// <hr>
///
/// @anchor JSModuleGraphVertexGetOutEdges
/// @copydetails JSF_Vertex_prototype_getOutEdges
/// <hr>
///
/// @anchor JSModuleGraphVertexGetProperty
/// @copydetails JSF_Vertex_prototype_getProperty
/// <hr>
///
/// @anchor JSModuleGraphVertexGetPropertyKeys
/// @copydetails JSF_Vertex_prototype_getPropertyKeys
/// <hr>
///
/// @anchor JSModuleGraphVertexProperties
/// @copydetails JSF_Vertex_prototype_properties
/// <hr>
///
/// @anchor JSModuleGraphVertexSetProperty
/// @copydetails JSF_Vertex_prototype_setProperty
///
/// @section JSModuleGraphEdge Edge Methods
///////////////////////////////////////////
///
/// @anchor JSModuleGraphEdgeGetId
/// @copydetails JSF_Edge_prototype_getId
/// <hr>
///
/// @anchor JSModuleGraphEdgeGetInVertex
/// @copydetails JSF_Edge_prototype_getInVertex
/// <hr>
///
/// @anchor JSModuleGraphEdgeGetLabel
/// @copydetails JSF_Edge_prototype_getLabel
/// <hr>
///
/// @anchor JSModuleGraphEdgeGetOutVertex
/// @copydetails JSF_Edge_prototype_getOutVertex
/// <hr>
///
/// @anchor JSModuleGraphEdgeGetProperty
/// @copydetails JSF_Edge_prototype_getProperty
/// <hr>
///
/// @anchor JSModuleGraphEdgeGetPropertyKeys
/// @copydetails JSF_Edge_prototype_getPropertyKeys
/// <hr>
///
/// @anchor JSModuleGraphEdgeProperties
/// @copydetails JSF_Edge_prototype_properties
/// <hr>
///
/// @anchor JSModuleGraphEdgeSetProperty
/// @copydetails JSF_Edge_prototype_setProperty
////////////////////////////////////////////////////////////////////////////////
// Local Variables:
// mode: outline-minor
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)"
// End: