That would be Cypher, however it only runs on Neo4J: https://en.wikipedia.org/wiki/Cypher_Query_LanguageGremlin has the advantage it can run on multiple graph databases: https://en.wikipedia.org/wiki/Gremlin_(programming_language)Note you do things like can annotate any graph edge with a weight (or other property) so you can express confidence levels directly. You can then write queries to only retrieve nodes linked by a confidence greater than some value. There are differences in how each database supports edge properties. They can also be proxied by building new nodes to connect other nodes but that get's ugly fast if you need to do any amount of it.In your case the problem will be building the edges (relationships) in the first place if you don't already have them. Once you have some basic relationships built out both languages will give you capabilities for things like cluster analysis.Peter HunsbergerOn Wed, Jul 1, 2015 at 5:36 PM, Ihe Onwuka <ihe.onwuka@gmail.com> wrote:On Wed, Jul 1, 2015 at 3:23 PM, Peter Hunsberger <peter.hunsberger@gmail.com> wrote:. The learning curve will be languages like Gremlin or Cypher, though you could also write Java plugins for Neo if need be.Which is the more declarative of the two?