BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

Cayley: A Graph Engine Inspired by Google’s Knowledge Graph

| by Abel Avram on Jun 26, 2014. Estimated reading time: 1 minute |

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 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.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and dont miss out on content that matters to you

BT