anchor.diff:  edge_get_adjacent_vertices(?EDGE(_Id,_Type,A,B)) ->
       {?VERTEX(A),?VERTEX(B)}.
   
  +% @doc Get the start vertex of an edge.
   edge_get_start_vertex(Edge) ->
       {Start,_End} = edge_get_adjacent_vertices(Edge),
       Start.
   
  +% @doch Get the end ertex of an edge.
   edge_get_end_vertex(Edge) ->
       {_Start,End} = edge_get_adjacent_vertices(Edge),
       End.
   
  +% @doc Get the type of an ede.
   edge_get_type(?EDGE(_Id,Type,_A,_B)) ->
       Type.
   
  +% @doc Set a property at an edge.
   edge_set_property(?EDGE(Id,_Type,_A,_B), Key, Val) ->
       private_set_property(edge, Id, Key, Val).
   
  +% @doc Delete a property at an edge.
   edge_del_property(?EDGE(Id,_Type,_A,_B), Key) ->
       private_del_property(edge, Id, Key).
   
  +% @doc Get a property at an edge.
   edge_get_property(?EDGE(Id,_Type,_A,_B), Key) ->
       private_get_property(edge, Id, Key).
   
  +% @doc Get all properties at an edge.
   edge_get_properties(?EDGE(Id,_Type,_A,_B)) ->
       private_get_properties(edge, Id).
   
  
positive.code:         Error -> Error
      end.
  
  
  
  
negative.code: vertex_get_edges(V=?VERTEX(Id), Type) ->
      [ E || E=?EDGE(EId,T,A,B) <- vertex_get_edges(V), T =:= Type ].
  
  % @doc Get all vertices connected ith a given vertex.
  vertex_get_neighbourhood(V=?VERTEX(Id)) ->
      get_other_nodes(Id,vertex_get_edges(V)).
  
  % @doc Get all vertices connected with a given vertex
  % by an edge of a given type.
  vertex_get_neighbourhood(V=?VERTEX(Id), Type) ->
      get_other_nodes(Id,vertex_get_edges(V, Type)).
  
  % @doc Set a property at a vertex.
  vertex_set_property(?VERTEX(Id), Key, Val) ->
      private_set_property(vertex, Id, Key, Val).
  
  % @doc Delete a property at a vertex.
  vertex_del_property(?VERTEX(Id), Key) ->
      private_del_property(vertex, Id, Key).
  
  % @doc Get a property at a vertex.
  vertex_get_property(?VERTEX(Id), Key) ->
      private_get_property(vertex, Id, Key).
  
  % @doc Get all properties at a vertex.
  vertex_get_properties(?VERTEX(Id)) ->
      private_get_properties(vertex, Id).
  
  