Cayley: A Graph Engine Inspired by Google’s Knowledge Graph
Barak Michener, a Software Engineer working for the Google Knowledge Team, has open sourced a personal project called Cayley, a graph database inspired by Freebase and the Google Knowledge Graph, the later powering Google’s search engine. Freebase is a collection of free structured data, currently at ~2.7B facts and counting, and an API for querying this data.
Cayley provides a way to append and query complex semantic data stored in various back-end stores such as LevelDB, MongoDB or in-memory. According to Michener, the graph store was written in Go for performance reasons:
Cayley is written in Go, which was a natural choice. As a backend service that depends upon speed and concurrent access, Go seemed like a good fit. Go did not disappoint; with a fantastic standard library and easy access to open source libraries from the community, the necessary building blocks were already there. Combined with Go’s effective concurrency patterns compared to C, creating a performance-competitive successor to graphd became a reality.
Cayley is currently not a Google project, but it is “created and maintained by a Googler, with permission from and assignment to Google, under the Apache License, version 2.0,” according to this disclaimer.