Minor usability request. I feel like empty graphs should be searchable as normal, just returning an empty result set. This is useful for applications where you are building up the graph as you go, e.g.
foreach (var item in items)
{
if (has close neighbor in graph) { continue; }
else { add item to graph }
}