53、《Enslaved.Org 中心知识图谱的 Wikibase 方法》

《Enslaved.Org 中心知识图谱的 Wikibase 方法》

1. 可用性与使用情况

1.1 可用性

Enslaved.Org 中心可在 https://enslaved.org/ 进行访问和探索。关于 Enslaved.Org 元数据、本体和受控词汇表的文档可在 https://docs.enslaved.org/ 获取。源代码托管于 https://github.com/matrix - msu/Enslaved - Hub ,采用 GPL 3.0 许可证进行共享,数据本身则遵循 CC BY - NC - SA 4.0 许可证。

1.2 使用情况

Enslaved.Org 受到了公众的广泛关注,还有用户自愿提交额外的历史数据库。在过去一年里,该平台每月约有 3500 个独特用户,在此期间,53000 次访问带来了 334000 次页面浏览量。在过去六个月中,数据集被外部用户下载了 54 次,用于大规模分析。

2. 方法概述

该方法包含七个子步骤,大致可分为三个主要步骤:
- 开发和转移模式
- 知识图谱的实例化、验证和共指消解
- 将知识图谱部署到 Wikibase 平台,并开发定制接口以实现数据的可发现性、可导航性和可视化

下面是方法步骤的 mermaid 流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(开发和转移模式):::process --> B(知识图谱的实例化、验证和共指消解):::process
    B --> C(部署知识图谱到 Wikibase 平台):::process
    C --> D(开发定制接口):::process

3. 开发模式

3.1 遵循最佳实践进行模式开发

Enslaved.Org 本体作为 Enslaved.Org 中心知识图谱的模式,最初是通过执行模块化本体建模(MOMo)方法开发的。MOMo 方法旨在创建可重用和可扩展的模式,其模块化特性利用了本体设计模式中的最佳实践。该过程是对极端设计方法的进一步发展,强调模块化、本体设计模式库、特定类型的模式图的使用以及 OWL 中的公理化系统方法。

MOMo 方法的九个步骤如下:
1. 确定应用领域
2. 识别关键术语
3. 定义术语之间的关系
4. 选择本体设计模式
5. 实例化模式
6. 整合模式
7. 公理化本体
8. 验证和优化本体
9. 文档化本体

3.2 转移模式

项目初期,不确定使用哪个平台来部署知识图谱,曾讨论过使用三元组存储(如 Apache Jena Fuseki)、属性图(如 Neo4j)和 Wikibase 等选项。最初认为将 MOMo 方法生成的本体映射到新平台相对简单,但实际上将传统设计的本体映射到 Wikibase 模型并非易事。

为了解决这个问题,可参考相关研究,提供可直接映射到 Wikibase 的本体原语(模式),同时保留表示其他常见本体形式的能力。Wikibase 的 RDF 结构将所有断言三元组具体化(reify)为“陈述”,可以为其添加限定词和引用,以提供陈述的上下文信息。

下表总结了不同平台的相关信息:
| 平台 | 描述 | 链接 |
| ---- | ---- | ---- |
| Apache Jena Fuseki | 三元组存储平台 | https://jena.apache.org/documentation/fuseki2/ |
| Neo4j | 属性图数据库 | https://neo4j.com/ |
| Wikibase | 用于构建知识图谱的平台 | - |

通过使用特定的模式,可以开发出符合 MOMo 方法精神的模块化本体,并无缝转换为 Wikibase 的 RDF 结构,简化后续步骤并减轻验证任务的负担。

4. 实现知识图谱

4.1 主要工具

知识图谱的实例化本质上是一个经典的提取、转换、加载(ETL)操作,主要使用了两个工具:
- OpenRefine :用于清理脏数据和分析数据,是执行提取和转换步骤的核心工具。
- QuickStatements :一个开源的 Wikibase 软件工具,用于从浏览器进行数据摄入和编辑项目。OpenRefine 可以输出 QuickStatements 格式的三元组。

4.2 提取和转换步骤

提取和转换步骤分为三个离散步骤:
1. 调和(Reconciliation) :这是一个广泛的术语,用于共指消解和语义协调。在社区驱动的知识图谱中,为防止相似但不同的术语大量出现,通常会控制一些数据字段。OpenRefine 可以连接调和服务,将摄入的数据元素映射到受控词汇表中的标识符。例如,对于“职业”列,“木匠”可以通过模糊搜索匹配到 Wikibase 中的唯一标识符。
2. 实例化(Materialization) :形成三元组(主语 - 谓语 - 宾语)。在所有词汇调和完成后,可以使用 OpenRefine 的 Wikibase 扩展上传数据模型的模式。该过程将表格数据映射到 Wikibase 字段,但将本体公理转换为 Wikibase 结构的方法尚未完全确定,目前 Enslaved.Org 中心的这一过程由经验丰富的专家手动完成。
3. 验证(Validation) :检查数据是否正确实例化,并查找数据中的漏洞或缺失。推荐使用数据形状进行验证,W3C 推荐使用 SHACL,但也可以使用其他方法,如 ShEx。Enslaved.Org 项目针对人员、事件、地点和来源制定了四个形状表达式,并使用 JavaScript ShEx 库进行验证。为了加速过程,验证应纳入 CI/CD 管道,但验证过程通常较慢,修复错误需要手动干预。

以下是 ETL 操作步骤的列表:
1. 使用 OpenRefine 进行数据清理和分析
2. 利用 OpenRefine 的调和服务进行共指消解和语义协调
3. 使用 OpenRefine 的 Wikibase 扩展上传模式并实例化数据
4. 使用数据形状(如 SHACL 或 ShEx)进行数据验证
5. 手动修复验证中发现的错误
6. 重复验证直到数据通过检查

5. 部署知识图谱

5.1 数据摄入工具

选择 Wikibase 主要是考虑到社区数据的可访问性,因此更新和维护知识图谱的任务需要易于操作。对于 Enslaved.Org 项目,由于涉及大量非技术人员,选择了 QuickStatements 作为数据摄入工具。但原始的 QuickStatements 存在性能问题,因此开发了 Enslaved.Org QuickStatements 进行改进,其主要改进包括:
- 去除对浏览器执行的依赖,所有摄入和编辑操作在服务器端进行
- 提高并发性能,使用 40 个机器人并行执行,可在几分钟内摄入数百或数千条记录
- 重构数据库,每个批次使用一个表,便于快速访问单个批次
- 在批次页面添加分页功能
- 改善用户体验
- 修剪不必要的第三方和外部库
- 添加文件摄入功能,而不仅仅依赖浏览器摄入
- 改进错误报告
- 修改工具以使用不同的 API 调用编辑整个项目

5.2 系统挑战与应对措施

运行 Wikibase 超出小规模测试环境时会面临一些挑战。一方面,Wikibase 会保留每个页面(项目或属性)的历史记录,这对于社区来说很重要,但为了语义和空间原因,需要尽量减少数据集中的编辑次数。为此,开发了一种方法,从某个时间点开始创建数据库的完整副本,用于测试编辑和添加操作,避免在主存储库中产生不必要的编辑。

另一方面,像 Enslaved.Org 这样的项目经常需要重新处理数据,而 Wikibase 针对单页查看进行了优化,自由文本搜索需要不断更新和维护索引,图数据库也需要持续请求最新更改。为了减轻系统负担,Enslaved.Org 每月提供所有内容的转储,可作为可下载的数据集,也用于加载自由文本和图搜索工具,鼓励用户使用这些转储进行分析。

5.3 开发定制可视化

知识图谱的使用方式受到用户兴趣、专业知识和背景的影响。Enslaved.Org 中心支持多种交互模式,包括内容转储、传统 Wikibase 视图和知识框视图。虽然前两种服务可以借助 Wikibase 平台轻松提供,但知识框视图需要额外的软件和 UI/UX 开发。这是部署知识图谱时需要考虑的重要因素,特别是对于面向非技术用户或普通大众的知识图谱。

以下是部署知识图谱过程中改进 QuickStatements 的关键改进点表格:
| 改进点 | 描述 |
| ---- | ---- |
| 去除浏览器依赖 | 所有操作在服务器端进行 |
| 提高并发性能 | 使用 40 个机器人并行执行 |
| 重构数据库 | 每个批次使用一个表 |
| 添加分页功能 | 方便浏览批次页面 |
| 改善用户体验 | 优化界面和操作流程 |
| 修剪库 | 去除不必要的第三方和外部库 |
| 添加文件摄入 | 支持文件方式摄入数据 |
| 改进错误报告 | 更清晰地显示错误信息 |
| 修改 API 调用 | 便于编辑整个项目 |

综上所述,通过遵循上述方法和应对挑战的措施,可以成功开发、实现和部署 Enslaved.Org 中心知识图谱,为用户提供丰富的交互体验和有价值的历史数据。

6. 整体流程总结

为了更清晰地展示整个 Enslaved.Org 中心知识图谱的构建与部署流程,我们将前面的步骤进行整合,形成如下的 mermaid 流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(确定可用性):::process --> B(开发模式):::process
    B --> C(实现知识图谱):::process
    C --> D(部署知识图谱):::process
    D --> E(开发定制可视化):::process
    F(数据摄入):::process --> D
    G(数据验证):::process --> C
    H(数据调和):::process --> C
    I(数据实例化):::process --> C

从流程图可以看出,整个过程是一个循序渐进的过程,从最初的确定可用性,到模式开发,再到知识图谱的实现、部署以及最后的定制可视化开发,每个步骤都紧密相连,缺一不可。

7. 关键技术点分析

7.1 MOMo 方法的优势

MOMo 方法在开发 Enslaved.Org 本体时发挥了重要作用。其模块化的特性使得本体具有可重用和可扩展的优点。通过利用本体设计模式中的最佳实践,能够更灵活地捕捉本体实体之间的复杂关系,就像人类专家进行概念化一样。而且,在开发过程中使用简化的模式图,有助于弥合跨学科的差距,让领域专家无需关注技术细节。

7.2 Wikibase 的特点

Wikibase 的 RDF 结构将断言三元组具体化(reify)为“陈述”,并可以添加限定词和引用,为陈述提供了丰富的上下文信息。这种结构在处理复杂数据关系时具有很大的优势,虽然在传统 RDF 图中实现相对复杂,但在 Wikibase 中能够很好地发挥作用。

7.3 ETL 工具的选择

OpenRefine 和 QuickStatements 作为主要的 ETL 工具,各自发挥了重要作用。OpenRefine 强大的数据清理和分析功能,为数据的提取和转换提供了有力支持。而 QuickStatements 则方便了数据的摄入和编辑,特别是经过改进后的 Enslaved.Org QuickStatements,大大提高了性能和用户体验,使得非技术人员也能轻松使用。

以下是关键技术点的对比表格:
| 技术点 | 优势 | 应用场景 |
| ---- | ---- | ---- |
| MOMo 方法 | 可重用、可扩展,灵活捕捉复杂关系,弥合跨学科差距 | 本体开发 |
| Wikibase | 丰富的上下文信息,处理复杂数据关系 | 知识图谱部署 |
| OpenRefine | 数据清理和分析能力强 | 数据提取和转换 |
| QuickStatements | 方便数据摄入和编辑,改进后性能和用户体验好 | 数据摄入 |

8. 未来展望

虽然目前 Enslaved.Org 中心知识图谱已经取得了一定的成果,但仍有一些方面可以进一步改进和拓展。

8.1 本体公理转换方法的完善

目前将本体公理转换为 Wikibase 结构的方法尚未完全确定,主要依靠专家手动完成。未来可以进一步研究和开发一套更加系统和自动化的转换方法,提高转换的效率和准确性。

8.2 系统性能优化

随着数据量的不断增加,Wikibase 在处理大规模数据时可能会面临更多的性能挑战。可以进一步优化系统架构,提高数据处理和查询的速度,减少系统响应时间。

8.3 可视化功能的拓展

目前 Enslaved.Org 中心提供了几种基本的交互模式,但可以进一步拓展可视化功能,开发更多适合不同用户需求的可视化方式,如动态图形、交互式地图等,让用户能够更直观地探索和分析数据。

以下是未来展望的任务列表:
1. 研究和开发本体公理转换的自动化方法
2. 优化 Wikibase 系统架构,提高性能
3. 拓展可视化功能,开发更多交互方式

总之,Enslaved.Org 中心知识图谱的构建和部署是一个不断发展和完善的过程。通过持续的改进和创新,将能够为用户提供更加优质、高效的历史数据服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值