cayley README

The project's README from github.com/cayleygraph/cayley. As one markdown file: README.md.

Cayley

Tests

Cayley is an open-source database for Linked Data. It is inspired by the graph database behind Google's Knowledge Graph (formerly Freebase).

Get it from the Snap Store

Documentation

Features

Performance

Rough performance testing shows that, on 2014 consumer hardware and an average disk, 134m quads in LevelDB is no problem and a multi-hop intersection query -- films starring X and Y -- takes ~150ms.

Community

cayley (cayleygraph/cayley)

Searching Database…

15.1K ·GitHub
这是什么?Cayley 是一个面向关联数据(Linked Data)的开源图数据库,其灵感来自 Google 知识图谱(前身为 Freebase)背后的图数据库。
它是我自己运行的服务端程序,还是嵌入到我代码里的库?它是一个需要你自己运行的数据库服务端,但设计上有意模块化——README 强调可以轻松连接你喜欢的编程语言和后端存储。
我怎么把它跑起来?仓库里自带 Dockerfile,所以用 Docker 是最快的途径;否则就用 Go 从源码构建。跑起来之后,你可以通过内置的查询编辑器、可视化界面或 REPL 来使用它。
我还需要在电脑上另外装其他软件吗?不需要——它是一个自包含的 Go 程序,存储由自己处理,所以不用先单独安装数据库引擎或消息中间件。
有什么坑或局限性我需要提前知道的?README 没有记载任何硬性限制,并称 Cayley 已可用于生产环境、测试充分,而且被多家公司在生产中使用——不过它公布的性能数据来自 2014 年的消费级硬件。
什么情况下我会选它而不是普通的 SQL 数据库?当你的数据以关系为先时——也就是知识图谱式的关联数据,需要沿着实体之间的连接往下遍历,就像它所模仿的 Freebase 图那样——而不是表格里的一行行记录。
它只能在 Linux 服务器上跑,还是我的笔记本上也能跑?凡是 Go 能编译的地方都能跑——Linux、macOS 和 Windows 都行,通常是自己部署;仓库里带有 Dockerfile,查询编辑器直接在浏览器里打开。
我怎么查询里面的数据?内置了三种查询语言:受 Gremlin 启发的 Gizmo;一种受 GraphQL 启发的语言;还有 MQL,一个面向 Freebase 爱好者的简化版本。
它能处理多大规模的数据?粗略的基准测试显示,它可以把 1.34 亿条 quad 存进 LevelDB,一次多跳交集查询——比如查找同时由 X 和 Y 主演的电影——在普通磁盘上大约耗时 150 毫秒。
quad 到底是什么?一条由四个部分组成的关联数据语句——主语、谓语、宾语,外加一个额外的值(比如上下文)——Cayley 就是以它为单位来存储图里的每条事实。
What are similar projects?dgraph, nebula, neo4j, gun, surrealdb, FalkorDB, arangodb, flowsint
Size
20 MB
Stars
15.1K
Age
12y
Commits · 90 Days