跳到内容

标志

RedisGraph

论坛不和

RedisGraph是第一个可查询的属性图数据库使用稀疏矩阵来表示邻接矩阵在图表和线性代数查询图形。

主要特点:

  • 基于属性图模型
  • 可能具有属性的节点(顶点)和关系(边)
  • 可以标记的节点
  • 关系有一种关系类型
  • 用稀疏邻接矩阵表示的图
  • 数字作为查询语言
  • Cypher查询转换成线性代数表达式

要查看RedisGraph的运行情况,请访问演示

的信任

IBMFiverrthinkdatasidy

mdmetrixlinkirousgraphileonkineviz

快速入门

  1. 复述,云
  2. 码头工人
  3. 构建
  4. 开始
  5. 从任何客户端使用

复述,云

RedisGraph可在所有Redis云管理服务,包括一个完全免费的管理数据库高达30MB。

在这里选择你的计划

码头工人

要快速尝试RedisGraph,使用docker启动一个实例:

Docker运行-p 6379:6379 -it——rm redislabs/redisgraph

试一下

加载RedisGraph后,可以使用redis-cli与它进行交互。

在这里,我们将快速创建一个小图表,代表参加MotoGP锦标赛的摩托车骑手和车队的子集。创建完成后,我们将开始查询数据。

redis-cli

redis-cli美元127.0.0.1:6379 >图。查询最近“创建(:骑手{名称:“瓦伦蒂诺·罗西”})——(骑):- >(:团队{名称:“雅马哈”}),(:骑手{名称:“丹尼Pedrosa”})——(骑):- >(:团队{名称:“本田”}),(:骑手{名称:“安德里亚Dovizioso”})——(骑):- >(:团队{名称:“杜卡迪”})”11标签补充道:22节点创建:63.属性设置:64创建的关系:3.5"查询内部执行时间:0.399000毫秒"

现在我们的MotoGP图表已经创建好了,我们可以开始提问了。例如:谁是雅马哈队的骑手?

127.0.0.1:6379 >图。查询最近"MATCH (r:Rider)-[:rides]->(t:Team) WHERE t.name = 'Yamaha' RETURN r.name, t.name"11“r.name”2“t.name”211“瓦伦蒂诺·罗西”2“雅马哈”3.1"查询内部执行时间:0.625399毫秒"

杜卡迪车队有多少车手?

127.0.0.1:6379 >图。查询最近“匹配(r:骑手)-(骑):- > (t:团队{名称:“杜卡迪”})返回(r)”11“数(r)”211整数13.1"查询内部执行时间:0.624435毫秒"

下载

可以从。下载预编译版本复述,下载中心

建筑

要求:

  • RedisGraph存储库:git clone——recursor -submodules -j8 https://github.com/RedisGraph/RedisGraph.git

  • 在Ubuntu Linux上,运行:Apt-get install build-essential cmake m4 automake peg libtool autoconf

  • 在OS X上,请验证家酿安装并运行:Brew install cmake m4 automake peg libtool autoconf

    • OS X工具链附带的Clang版本不支持OpenMP,这是RedisGraph的要求。解决这个问题的一种方法是运行Brew安装GCC g++并按照屏幕上的说明更新符号链接。注意,这是一个系统范围的更改——设置环境变量CCCXX如果没办法,那也行。

建立、运行使在项目目录中。

恭喜你!你可以在下面找到编译后的二进制文件:src / redisgraph.so

加载RedisGraph到Redis

RedisGraph由复述,,所以你首先必须将它作为一个模块加载到Redis服务器上运行Redis v4.0或以上版本

我们建议Redis在启动时加载RedisGraph,在你的Redis .conf文件中添加以下内容:

loadmodule / / /模块/ src / redisgraph.so

在上面的行中,替换/ / /模块/ src / redisgraph.so路径使用到RedisGraph库的实际路径。

或者,你可以使用命令行参数语法让Redis加载RedisGraph:

$ redis-server——loadmodule /path/to/module/src/redisgraph.so

你也可以用the模块加载命令。但是请注意,模块加载是一个危险的命令,出于安全考虑,将来可能会被阻止/弃用。

当你成功加载RedisGraph后,你的Redis日志应该包含类似的条目:

...30707:M 20 Jun 02:08:12.314 * Module 'graph' loaded from /src/redisgraph. txt;所以…

如果服务器启动失败,输出类似于:

/usr/lib/redis/modules/redisgraph #模块。加载失败:libgomp.so。1:cannot open shared object file: No such file or directory # Can't load module from /usr/lib/redis/modules/redisgraph.so: server aborting

系统缺少运行时依赖OpenMP。这可以安装在Ubuntuapt-get安装libgomp1,在RHEL/CentOS上yum安装libgomp,在OSX上酿造安装libomp

使用RedisGraph

在使用RedisGraph之前,您应该熟悉它的命令和语法,详见命令参考

你可以从任何Redis客户端调用RedisGraph的命令。

redis-cli

redis-cli美元127.0.0.1:6379 >图。查询社会"CREATE (:person {name: 'roi', age: 33, gender: 'male', status: 'married'})"

与任何其他客户

您可以使用您的客户端发送原始Redis命令的能力与RedisGraph进行交互。具体的方法取决于你选择的客户。

Python示例

这个代码片段展示了如何使用原始的Redis命令从Python使用redis-py

进口复述,r复述,StrictRedis()回复rexecute_command的图。查询的“社会”"CREATE (:person {name:'roi', age:33, gender:'male', status:'married'})"

客户端库

社区和RedisGraph团队已经为6种语言编写了特定语言的客户端。

完整的列表和链接可以在客户端页面

数据导入

RedisGraph团队维护redisgraph-bulk-loader用于从CSV文件导入新图形。

该工具使用的数据格式在图。大部分实现细节

邮寄名单/论坛

有问题吗?请随便问RedisGraph论坛

许可证

Redis源代码可用许可协议-参见许可证

Baidu