学习

使用 RedisGraph 探索 Python 代码库

Ajeet Raina
作者
Ajeet Raina, Redis 前开发者增长经理
生命周期结束通知

Redis 正在逐步淘汰 RedisGraph这篇博文 解释了这一决定的动机以及对现有 Redis 客户和社区成员的影响。

支持将于 2025 年 1 月 31 日结束。

从 Redis Stack 7.2.x-y 开始,Redis Stack 将不再包含图功能 (RedisGraph)。

Pycograph 是一款开源工具,可以创建 Python 代码的 RedisGraph 模型。该工具允许您使用图查询探索 Python 代码库。使用 Pycograph,您可以使用 Cypher 查询 Python 代码。此外,还可以使用 RedisInsight 可视化图模型。

该项目托管在 https://pycograph.com/ 上,并且该包在 PyPI 存储库 中可用。它由 Reka Horvath 在 RedisConf 2021 上首次推出。

让我们看看如何在下面使用 Pycograph 和 RedisGraph 探索 Python 代码

步骤 1. 安装 Docker#

 curl -sSL https://get.docker.com/ | sh

步骤 2. 从 PyPI 安装 Pycograph#

 pip install pycograph

步骤 3. 启动 RedisGraph 模块#

redis/redis-stack Docker 镜像为您提供了所有必要的 Redis 模块。

 docker run -d -p 6379:6379 redis/redis-stack

步骤 4. 运行 RedisInsight#

 docker run -d -v redisinsight:/db -p 8001:8001 redislabs/redisinsight:latest

步骤 5. 加载示例 Python 代码#

我们将使用一个流行的 Docker compose 项目作为我们的示例 Python 代码。克隆 Docker Compose 项目存储库

  git clone https://github.com/docker/compose

步骤 6. 加载 Python 代码#

使用 pycograph load 命令加载您的项目的代码

 pycograph load --project-dir compose

结果:

 Graph successfully updated.
 {'graph name': 'compose', 'nodes added': 2428, 'edges added': 11239}

步骤 7. 可视化项目#

打开 RedisInsight,在左侧菜单中选择 RedisGraph 并运行以下查询

查询 #1:返回每个节点#

 MATCH (n) RETURN n

您将看到以下输出

查询 #2:返回每个非测试对象#

查询 #3. 显示 docker-compose up 命令背后的函数#

一个使用唯一的 full_name 属性返回正好一个节点的查询。双击该节点以显示其所有关系。

查询 #4. 显示“docker-compose up”及其调用关系#

查询 #5. 显示“docker-compose up”与“docker-compose run”#

参考资料:#

Docker Compose 顶级命令 up 和 run 调用的函数