Metric is a distance oracle. It specifies a binary function to compute distance
between two data points in metric space. The distance function should capture the metric
properties, i.e. non-negativity, symmetry and the triangle inequality.