////////////////////////////////////////////////////////////////////////////////
/// @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
///
///
/// - @ref JSModuleGraphGraph
///
/// - @ref JSModuleGraphGraphAddEdge "Graph.addEdge"
/// - @ref JSModuleGraphGraphAddVertex "Graph.addVertex"
/// - @ref JSModuleGraphGraphConstructor "Graph constructor"
/// - @ref JSModuleGraphGraphGetVertex "Graph.getEdges"
/// - @ref JSModuleGraphGraphGetVertex "Graph.getVertex"
/// - @ref JSModuleGraphGraphGetVertices "Graph.getVertices"
/// - @ref JSModuleGraphGraphRemoveEdge "Graph.removeEdge"
/// - @ref JSModuleGraphGraphRemoveVertex "Graph.removeVertex"
/// - @ref JSModuleGraphGraphDrop "Graph.drop"
///
///
/// - @ref JSModuleGraphVertex
///
/// - @ref JSModuleGraphVertexAddInEdge "Vertex.addInEdge"
/// - @ref JSModuleGraphVertexAddOutEdge "Vertex.addOutEdge"
/// - @ref JSModuleGraphVertexEdges "Vertex.edges"
/// - @ref JSModuleGraphVertexGetId "Vertex.getId"
/// - @ref JSModuleGraphVertexGetInEdges "Vertex.getInEdges"
/// - @ref JSModuleGraphVertexGetOutEdges "Vertex.getOutEdges"
/// - @ref JSModuleGraphVertexGetProperty "Vertex.getProperty"
/// - @ref JSModuleGraphVertexGetPropertyKeys "Vertex.getPropertyKeys"
/// - @ref JSModuleGraphVertexProperties "Vertex.properties"
/// - @ref JSModuleGraphVertexSetProperty "Vertex.setProperty"
///
///
/// - @ref JSModuleGraphEdge
///
/// - @ref JSModuleGraphEdgeGetId "Edge.getId"
/// - @ref JSModuleGraphEdgeGetInVertex "Edge.getInVertex"
/// - @ref JSModuleGraphEdgeGetLabel "Edge.getLabel"
/// - @ref JSModuleGraphEdgeGetOutVertex "Edge.getOutVertex"
/// - @ref JSModuleGraphEdgeGetProperty "Edge.getProperty"
/// - @ref JSModuleGraphEdgeGetPropertyKeys "Edge.getPropertyKeys"
/// - @ref JSModuleGraphEdgeProperties "Edge.properties"
/// - @ref JSModuleGraphEdgeSetProperty "Edge.setProperty"
///
///
///
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page JSModuleGraph Module "graph"
///
/// The graph module provides basic functions dealing with graph structures.
/// The examples assume
///
/// @verbinclude graph-setup
///
///
/// @copydoc JSModuleGraphTOC
///
///
/// @section JSModuleGraphGraph Graph Constructors and Methods
//////////////////////////////////////////////////////////////
///
/// @anchor JSModuleGraphGraphConstructor
/// @copydetails JSF_Graph
///
///
/// @anchor JSModuleGraphGraphAddEdge
/// @copydetails JSF_Graph_prototype_addEdge
///
///
/// @anchor JSModuleGraphGraphAddVertex
/// @copydetails JSF_Graph_prototype_addVertex
///
///
/// @anchor JSModuleGraphGraphGetEdges
/// @copydetails JSF_Graph_prototype_getEdges
///
///
/// @anchor JSModuleGraphGraphGetVertex
/// @copydetails JSF_Graph_prototype_getVertex
///
///
/// @anchor JSModuleGraphGraphGetVertices
/// @copydetails JSF_Graph_prototype_getVertices
///
///
/// @anchor JSModuleGraphGraphRemoveVertex
/// @copydetails JSF_Graph_prototype_removeVertex
///
///
/// @anchor JSModuleGraphGraphRemoveEdge
/// @copydetails JSF_Graph_prototype_removeEdge
///
///
/// @anchor JSModuleGraphGraphDrop
/// @copydetails JSF_Graph_prototype_drop
///
/// @section JSModuleGraphVertex Vertex Methods
///////////////////////////////////////////////
///
/// @anchor JSModuleGraphVertexAddInEdge
/// @copydetails JSF_Vertex_prototype_addInEdge
///
///
/// @anchor JSModuleGraphVertexAddOutEdge
/// @copydetails JSF_Vertex_prototype_addOutEdge
///
///
/// @anchor JSModuleGraphVertexEdges
/// @copydetails JSF_Vertex_prototype_edges
///
///
/// @anchor JSModuleGraphVertexGetId
/// @copydetails JSF_Vertex_prototype_getId
///
///
/// @anchor JSModuleGraphVertexGetInEdges
/// @copydetails JSF_Vertex_prototype_getInEdges
///
///
/// @anchor JSModuleGraphVertexGetOutEdges
/// @copydetails JSF_Vertex_prototype_getOutEdges
///
///
/// @anchor JSModuleGraphVertexGetProperty
/// @copydetails JSF_Vertex_prototype_getProperty
///
///
/// @anchor JSModuleGraphVertexGetPropertyKeys
/// @copydetails JSF_Vertex_prototype_getPropertyKeys
///
///
/// @anchor JSModuleGraphVertexProperties
/// @copydetails JSF_Vertex_prototype_properties
///
///
/// @anchor JSModuleGraphVertexSetProperty
/// @copydetails JSF_Vertex_prototype_setProperty
///
/// @section JSModuleGraphEdge Edge Methods
///////////////////////////////////////////
///
/// @anchor JSModuleGraphEdgeGetId
/// @copydetails JSF_Edge_prototype_getId
///
///
/// @anchor JSModuleGraphEdgeGetInVertex
/// @copydetails JSF_Edge_prototype_getInVertex
///
///
/// @anchor JSModuleGraphEdgeGetLabel
/// @copydetails JSF_Edge_prototype_getLabel
///
///
/// @anchor JSModuleGraphEdgeGetOutVertex
/// @copydetails JSF_Edge_prototype_getOutVertex
///
///
/// @anchor JSModuleGraphEdgeGetProperty
/// @copydetails JSF_Edge_prototype_getProperty
///
///
/// @anchor JSModuleGraphEdgeGetPropertyKeys
/// @copydetails JSF_Edge_prototype_getPropertyKeys
///
///
/// @anchor JSModuleGraphEdgeProperties
/// @copydetails JSF_Edge_prototype_properties
///
///
/// @anchor JSModuleGraphEdgeSetProperty
/// @copydetails JSF_Edge_prototype_setProperty
////////////////////////////////////////////////////////////////////////////////
// Local Variables:
// mode: outline-minor
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)"
// End: