//////////////////////////////////////////////////////////////////////////////// /// @brief over the wire protocol /// /// @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 RestEdgeTOC /// ///
    ///
  1. @ref RestEdgeIntro
  2. ///
  3. @ref RestEdgeResource
  4. ///
  5. @ref RestEdgeHttp /// @copydetails RestEdgeCallsTOC ///
  6. ///
//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page RestEdgeCallsTOC /// ///
    ///
  1. @ref RestEdgeRead "GET /edge/document-handle"
  2. ///
  3. @ref RestEdgeCreate "POST /edge?collection=collection-identifier&from=from-handle&to=to-handle"
  4. ///
  5. @ref RestEdgeUpdate "PUT /edge/document-handle"
  6. ///
  7. @ref RestEdgeDelete "DELETE /edge/document-handle"
  8. ///
  9. @ref RestEdgeHead "HEAD /edge/document-handle"
  10. ///
  11. @ref RestEdgeEdges "GET /edges/collection-identifier?vertex=vertex-handle&directory=direction"
  12. ///
//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page RestEdge REST Interface for Edges /// /// This is an introduction to AvocadoDB's REST interface for edges. /// /// AvocacadoDB offers also some graph functionality. A graph consists of nodes, /// edges and properties. AvocadoDB stores the information how the nodes relate /// to each other aside from the properties. /// /// So a graph data model always consists of two collections: the relations /// between the nodes in the graphs are stored in an "edges collection", the /// nodes in the graph are stored in documents in regular collections. /// /// Example: /// - the edge collection stores the information that a company's reception is /// sub-unit to the services unit and the services unit is sub-unit to the /// CEO. You would express this relationship with the @LIT{_from} and /// @LIT{_to} property /// /// - the "normal" collection stores all the properties about the reception, /// e.g. that 20 people are working there and the room number etc. /// /// @LIT{_from} is the document handle of the linked vertex (incoming relation), /// @LIT{_to} is the document handle of the linked vertex (outgoing relation). /// ///
/// @copydoc RestEdgeTOC ///
/// /// @section RestEdgeIntro Documents, Identifiers, Handles ////////////////////////////////////////////////////////////// /// /// @copydoc GlossaryEdge /// /// @section RestEdgeResource Address and ETag of an Edge ///////////////////////////////////////////////////////// /// /// All documents in AvocadoDB have a document handle. This handle uniquely /// defines a document and is managed by AvocadoDB. All documents are /// found under the URI /// /// @LIT{http://@FA{server}:@FA{port}/document/@FA{document-handle}} /// /// For edges you can use the special address /// /// @LIT{http://@FA{server}:@FA{port}/edge/@FA{document-handle}} /// /// For example: Assume that the document handle, which is stored in /// the @LIT{_id} field of the edge, is @LIT{7254820/362549736}, /// then the URL of that edge is: /// /// @LIT{http://localhost:8529/edge/7254820/362549736} /// /// @section RestEdgeHttp Working with Edges using REST /////////////////////////////////////////////////////// /// /// @anchor RestEdgeRead /// @REST{GET /edge/@FA{document-handle}} /// /// See @ref RestDocument for details. /// ///
/// /// @anchor RestEdgeCreate /// @copydetails triagens::avocado::RestEdgeHandler::createDocument ///
/// /// @anchor RestEdgeUpdate /// @REST{PUT /edge/@FA{document-handle}} /// /// See @ref RestDocument for details. /// ///
/// /// @anchor RestEdgeDelete /// @REST{DELETE /edge/@FA{document-handle}} /// /// See @ref RestDocument for details. /// ///
/// /// @anchor RestEdgeHead /// @REST{HEAD /document/@FA{document-handle}} /// /// See @ref RestDocument for details. /// ///
/// /// @anchor RestEdgeEdges /// @copydetails JSF_GET_edges //////////////////////////////////////////////////////////////////////////////// // Local Variables: // mode: c++ // mode: outline-minor // outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)" // End: