Friday, 15 August 2014

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 theGoogle 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 waswritten 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 uses a RESTful API or a REPL with a query editor and visualizer that can be tested online. The query engine supports Gremlin, a JavaScript DSL for property graph traversal, and a simplified MQL, Freebase’s query language. Cayley can be extended with more back-end stores and query languages if needed.
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.
Related Posts Plugin for WordPress, Blogger...