#知识库 #基础 #知识 #rdfs

app yago

RDFS 知识库,基于 Wikidata 的事实集合

1 个稳定版本

4.0.0 2020 年 10 月 30 日

#373科学

GPL-3.0-or-later

23KB

YAGO 4(Pipeline)

actions status [crates.io version4 docs.rs dependency status GNU GPLv3

什么是 YAGO?

YAGO 4 是一个 RDFS 知识库。它是一组事实的集合——基于 Wikidata ——每个事实由一个主题、一个谓词和一个对象组成——如在 yago:Elvis_Presley rdf:type schema:Person 中。

YAGO 将每个实体至少放入一个类中。这些类形成一个分类法,其中高层次的类来自 schema.org(和 bioschemas.org),低层次的类是来自 Wikidata 的类别的选择。最高的类是 schema:Thing

这是运行 YAGO 4 的管道。它允许从 Wikidata 导出中构建 YAGO 4。此管道在“YAGO 4:一个合理的知识库”论文中详细描述。

如何运行

要安装和编译它,您需要安装 Clang、Rust 和 Cargo

  • Ubuntu/Debian: apt-get install cargo clang
  • Arch: pacman -S rust clang
  • Windows: cargo install yago
  • 通用: cargo install yago

然后您需要下载一个全量的 Wikidata 导出,格式为 N-Triples,并使用 GZip 压缩。最新版本可在 https://dumps.wikimedia.org/other/wikibase/wikidatawiki/latest-all.nt.gz(截至 2019 年 12 月为 115GB)获得。

然后您需要使管道预处理文件以供管道使用。可以在代码的根目录中运行以下命令来完成此操作:

cargo运行 --发布 ---c wd-preprocessed.db 分区 -f latest-all.nt.gz

其中 preprocessed.db 是将要存储预处理的数据的目录(请注意,截至 2019 年 12 月需要 300GB)和 latest-all.nt.gz 是下载的 Wikidata 导出。如果使用 SSD,此过程大约需要一夜之间。

完成后,您可以使用以下命令构建 YAGO 4:

cargo运行 --发布 ---c wd-preprocessed.db 构建 -o yago4 --full

其中 yago4 是 YAGO 4 将要写入的输出目录,--full 是构建完整 YAGO 4 的选项。如果您只想构建具有维基百科条目的实体 YAGO 4,请使用 --all-wikis 代替,并使用 --en-wiki 仅包含具有英文维基百科条目的实体。整个过程可能需要几个小时。

如何贡献

YAGO 4 管道的源代码是用 Rust 编写的。

源代码分为多个文件

  • main.rs:程序的入口点,解析命令行参数
  • model.rs:用于在内存中高效表示 RDF 数据的数据结构
  • multimap.rs:一个 Multimap 实现。
  • partitioned_statements.rs:将 Wikidata 溢出文件索引到 RocksDB,并允许高效查询。
  • plan.rs:YAGO 4 的实际构建计划。
  • schema.rs:读取 schema.org 数据和 SHACL 模式。由管道使用。
  • vocab.rs:程序中使用的有用 URI。

使用多个数据文件

  • data/schema.ttl:来自 https://schema.org/version/latest/all-layers.ttl 的 schema.org 的官方 Turtle 定义
  • data/bioschemas.ttl:来自 biochemas 的 Turtle 定义。
  • data/shapes.ttl:来自 Wikidata 的形状定义和映射。
  • data/shapes-bio.ttl:为 bioschemas 来自 Wikidata 的形状定义和映射。

技巧

  • 请使用 cargo fmt 格式化您的源代码。
  • cargo clippy 是一个非常强大的代码检查工具。

许可证

版权 (C) 2019-2020 YAGO 4 贡献者。

本程序是自由软件:您可以在自由软件基金会发布的 GNU 通用公共许可证的条款和条件下重新分发和/或修改它,许可证版本为 3 或(按您选择)任何较新版本。

本程序以希望它将是有用的目的进行分发,但没有任何保证;甚至没有关于适销性或适用于特定目的的隐含保证。有关详细信息,请参阅 GNU 通用公共许可证。

您应该已经收到了一份 GNU 通用公共许可证副本,与该程序一起。如果没有,请参阅 https://www.gnu.org/licenses/

引用

如果您使用本软件进行学术出版,请引用

@inproceedings{DBLP:conf/esws/TanonWS20,
  author    = {Pellissier Tanon, Thomas and Weikum, Gerhard and Suchanek, Fabian M.},
  title     = {{YAGO} 4: {A} Reason-able Knowledge Base},
  booktitle = {The Semantic Web - 17th International Conference, {ESWC} 2020, Heraklion, Crete, Greece, May 31-June 4, 2020, Proceedings},
  series    = {Lecture Notes in Computer Science},
  volume    = {12123},
  pages     = {583--596},
  publisher = {Springer},
  year      = {2020},
  url       = {https://doi.org/10.1007/978-3-030-49461-2_34},
  doi       = {10.1007/978-3-030-49461-2_34}
}

依赖关系

~33MB
~662K SLoC