知识图谱构建工具

BioCypher项目模板是一个快速构建生物医学知识图谱的工具,提供本地和Docker两种安装方式,支持自定义适配器和Neo4j数据库集成。

  • by biocypher
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 biocypher/mcp-template

使用说明

BioCypher项目模板

建立BioCypher驱动的知识图管道的快速方法。请制作 一定要参考 用法 有关其工作原理的详细信息,请参阅第节。

使用GitHub模板功能

您可以直接在GitHub中使用此模板。只需选择 biocypher/project-template 作为创建新存储库时的模板 在GitHub上。

⚙️ 安装(本地,docker见下文)

[!注意] 这些是手动安装说明。如果您创建了存储库 使用上述GitHub模板功能,您不需要执行 前两个步骤。相反,只需克隆您创建的存储库。

  1. 克隆此存储库并重命名为您的项目名称。
git clone https://github.com/biocypher/project-template.git
mv project-template my-project
cd my-project
  1. 使存储库成为您自己的。
rm -rf .git
git init
git add .
git commit -m "Initial commit"
# (you can add your remote repository here)
  1. 使用安装依赖项 诗歌(或感觉 免费使用您自己的依赖管理系统。我们提供 pyproject.toml 定义依赖关系。)
poetry install
  1. 你准备好了!
poetry shell
python create_knowledge_graph.py

🛠 用法

结构

项目模板的结构如下:

.
│  # Project setup
│
├── LICENSE
├── README.md
├── pyproject.toml
│
│  # Docker setup
│
├── Dockerfile
├── docker
│   ├── biocypher_entrypoint_patch.sh
│   ├── create_table.sh
│   └── import.sh
├── docker-compose.yml
├── docker-variables.env
│
│  # Project pipeline
│
├── create_knowledge_graph.py
├── config
│   ├── biocypher_config.yaml
│   ├── biocypher_docker_config.yaml
│   └── schema_config.yaml
└── template_package
    └── adapters
        └── example_adapter.py

BioCypher管道的主要组成部分是 create_knowledge_graph.py,中的配置 config 目录,以及 适配器模块 template_package 目录。后者可以使用 发布您自己的适配器(见下文)。您还可以使用其他适配器 GitHub、PyPI或本地计算机上的任何位置。

BioCypher生态系统依赖于适配器的集合(计划中 开发中或已经可用),以告知社区可用的 数据源,并促进知识图的创建。如果你认为 您的适配器可能对其他人有用,请在 主BioCypher存储库.

此外,还提供了docker设置来运行管道(来自同一个 python脚本),然后加载知识图 进入Neo4j实例(也来自docker容器)。如果你愿意,这很有用 在服务器上运行管道,或者如果你想在可复制的环境中运行它 环境。

运行管道

python create_knowledge_graph.py 将从以下内容创建知识图 此存储库中包含的示例数据(从 BioCypher 教程).为此,它使用 以下组件:

  • create_knowledge_graph.py:编排管道的主脚本。 它将BioCypher包与数据源结合在一起。构建一个 知识图,您至少需要一个适配器(见下文)。对于普通 资源,BioCypher软件包中可能已经有可用的适配器,或者 在单独的存储库中。如果没有适配器,您也可以编写自己的适配器 可用于您的数据。

  • example_adapter.py (in template_package.adapters):一个定义 数据源的适配器。在这种情况下,它是一个随机生成器脚本。 如果您想创建自己的适配器,我们建议使用示例适配器 作为蓝图,为每个数据源创建一个python文件,并适当命名。 然后,您可以将适配器导入 create_knowledge_graph.py 并将其添加到 管道。这样,您可以确保其他人可以轻松安装和使用您的 适配器。

  • schema_config.yaml:配置文件(位于 config 目录) 它定义了知识图的模式。BioCypher使用它来绘制地图 基于本体的知识表示的数据源(参见 BioCypher的这一部分 教程).

  • biocypher_config.yaml:配置文件(位于 config 目录)定义了一些BioCypher参数,如模式、 使用的分隔符和其他选项。有关其使用的更多信息,请参阅 文档.

发布自己的适配器

将适配器添加到 adapters 目录,您可能需要 发布它们以便于重用。创建一个包来分发您自己的 适配器,我们建议使用 诗歌诗, 安装后,允许您使用几个简单的工具将包发布到PyPI 命令。要设置包,请重命名 template_package 目录到 您所需的包名称并更新 pyproject.toml 文件相应。大多数 重要的是,更新 name,author,以及 version 领域。您还可以添加 一 description 以及a license。然后,您可以将包发布到PyPI 使用以下命令:

poetry build
poetry publish

如果你不想将你的包发布到PyPI,你也可以从 GitHub使用诗歌或pip的相应功能。

进一步阅读/代码

如果您想查看工作流的第二个示例,请查看我们的 CollecTRI 管道。其README描述 更详细地介绍了数据评估和适配器创建的过程。

🐳 码头工人

此repo还包含 docker compose 创建示例的工作流 使用BioCypher数据库并将其加载到一个停靠的Neo4j实例中 自动。要运行它,只需执行 docker compose up -d 在根 项目的目录。这将启动一个单独的(分离的)docker 具有Neo4j实例的容器,该实例包含由构建的知识图 BioCypher作为数据库 neo4j (默认数据库),您可以连接到和 浏览本地主机:7474。默认情况下,身份验证已停用,可以 修改于 docker_variables.env 文件(在这种情况下,您需要提供 将.env文件转移到部署阶段 docker-compose.yml).

关于BioCypher构建程序 biocypher_docker_config.yaml 文件 代替 biocypher_config.yaml (配置于 scripts/build.sh).其他一切都与本地设置中的相同。这 第一个集装箱(build)安装并运行BioCypher管道,第二个 集装箱(import)安装Neo4j并运行导入和第三个容器 (deploy)在本地主机上部署Neo4j实例。这些文件是通过某种方式共享的 Docker卷。这种三阶段设置对于安装来说绝对不是必需的 Neo4j的读写实例,但如果目的是提供 定期更新的只读实例(例如,用于web应用程序);为了一个 示例,请参见 元图 仓库。只读设置为 配置在 docker-compose.yml 文件 (NEO4J_dbms_databases_default__to__read__only: "false")并通过以下方式停用 违约。