MARC数据转换为RDF流程:芬兰国家图书馆实践

GitHub上芬兰国家图书馆的 bib-rdf-pineline ,包含各种脚本和配置,供转换MARC书目记录为RDF,对有意实施类似项目者当有不少参考价值。
芬兰国家图书馆的关联数据采用Schema.org,以BIBFRAME作为转换MARC格式的中间步骤。如果直接采用BIBFRAME,步骤当可简化,而汇集“作品”的部分必然会有所不同。
翻译repo中的README文件中的转换步骤备记:

1、ILS系统导出的全部MARC记录文件
2、分割为较小的批处理文件
3、使用unix工具(如grep和sed)除去MARC记录中本地特殊内容
4、使用Catmandu转换为MARCXML并强化MARC记录
5、运行LC的 marc2bibframe2 转换MARC为BIBFRAME的RDF
6、计算”作品“键(如:作者+题名组合),供后续合并相同创作作品的数据
7、转换BIBFRAME数据为Schema.org的RDF,N-Triples格式
8、按相同作品合并Schema.org数据
9、转换原始Schema.org数据为HDT格式,如此完整数据集可通过命令行用SPARQL查询
10、统一数据,如通过重写URI,把主题移到原始作品
11、转换统一后的数据为HDT
12、(待续)
13、获益!

查了下其中提到的另外两个陌生的名词:Catmandu、HDT,附后。

关于marc2bibframe2,参见:MARC到BIBFRAME 2.0转换工具:使用报告(2017-3-24)

——— Catmandu数据处理工具 ———
Catmandu:命令行工具,从数字图书馆、研究服务或任何其他开放数据集,访问和转换数据 。
性能:
– 通过多种协议下载数据,包括:OAI-PMH, SRU, SPARQL 和 Linked Data Fragments
– 转换格式,如:MARC, MODS, Dublin Core 等等
– 生成 RDF,说语义网的语言
– 索引数据到数据库如:Solr, Elasticsearch 和 MongoDB
– 使用简单的 Fix 语言,转换元数据为任何格式

——— HDT格式 ———
HDT (Header, Dictionary, Triples) 头标、词典、三元组
RDF的紧凑数据结构和二进制序列化格式,压缩大数据集以节省空间,同时维持查询和浏览操作而无需预先解压缩。是在Web上存储和共享RDF数据集的理想格式。