I ran wall-clock, Lamport, hybrid and vector clocks through one simulated workload. Logical clocks removed the skew mistakes, yet 0.5% of writes still vanished. Only vector clocks kept them all.
Umami is MIT-licensed, so the identification path is readable. Where, who and when turn out to be a CDN header, a hash that expires on the 1st, and a bucket quantized to the clock hour.
A beginner-friendly comparison of RDF triples (SPARQL, OWL) and property graphs (Cypher), checked on one fact, one class hierarchy and a 1M-edge graph, with runnable code.