public async Task AddEdgeDefinitionAsync(ArangoHandle database, string graph,
                                          ArangoEdgeDefinition edgeDefinition,
                                          CancellationToken cancellationToken = default)
 {
     await SendAsync <ArangoVoid>(database, HttpMethod.Post,
                                  ApiPath(database, $"gharial/{UrlEncode(graph)}/edge"),
                                  edgeDefinition, cancellationToken : cancellationToken);
 }
        public async Task ReplaceEdgeDefinitionAsync(ArangoHandle database, string graph,
                                                     ArangoEdgeDefinition edgeDefinition,
                                                     bool?dropCollections = null,
                                                     CancellationToken cancellationToken = default)
        {
            var parameter = new Dictionary <string, string>();

            if (dropCollections.HasValue)
            {
                parameter.Add("dropCollections", dropCollections.Value.ToString().ToLowerInvariant());
            }

            await SendAsync <ArangoVoid>(database, HttpMethod.Put,
                                         ApiPath(database, $"gharial/{UrlEncode(graph)}/edge/{UrlEncode(edgeDefinition.Collection)}", parameter),
                                         edgeDefinition, cancellationToken : cancellationToken);
        }