Code4Lib Journal 十周年

code{4}lib

Code4Lib 是图书馆程序员组成的志愿者集体,从2003年秋天邮件讨论组开始,经历并保持着邮件组、聊天室、博客、各种社交网络、面对面会议(2005年开始的年会)以及编辑一份在线期刊——Code4Lib Journal。

Code4Lib Journal (ISSN 1940-5758)
本刊为季刊,2007-12-17发布第1期,今年是十周年。其宗旨是:在对图书馆、技术与未来交叉点感兴趣者中培育社区、共享信息。
2017年4月20日出版的第36期,编辑 Peter E. Murray 回顾了期刊的十年:
Editorial: Reflecting on the success and risks to the Code4Lib Journal
作为开放获取的在线期刊,本刊既不收版面费也不付稿费,十年累计网页浏览150万(来自中国的不少),标签云显示前35期333篇文章的关注热点:数据,数字,开放,元数据……。

该刊文章特别具有时效性,反映当前图书馆的技术热点。第36期文章概要如下:
Linked Data is People: Building a Knowledge Graph to Reshape the Library Staff Directory / Jason A. Clark and Scott W. H. Young
蒙大拿州立大学图书馆,采用 schema.org 发布员工名录,改善SEO,同时以可视化方式展示馆员的专长、学科领域及与其他馆员的关系。【可视为试手用schema.org发布关联数据】

Recommendations for the application of Schema.org to aggregated Cultural Heritage metadata to increase relevance and visibility to search engines: the case of Europeana / Richard Wallis, Antoine Isaac, Valentine Charles, and Hugo Manguinhas
建议采用 schema.org 集成 Europeana 的文化遗产元数据,以增加对搜索引擎的相关性与可见性。【第1作者Richard Wallis当年曾致力于Schema.org的图书馆扩展】

Autoload: a pipeline for expanding the holdings of an Institutional Repository enabled by ResourceSync / James Powell, Martin Klein and Herbert Van de Sompel
洛斯阿拉莫斯国家实验室的机构库LARO,只收到10%全文。通过“资源同步”(ResourceSync)标准,结合机构库Solr索引曝光元数据,自动发现未收的内容。原型 solrSync 应用,使用 Python 的 resync 库。

Outside The Box: Building a Digital Asset Management Ecosystem for Preservation and Access / Andrew Weidner, Sean Watkins, Bethany Scott, Drew Krewer, Anne Washington, Matthew Richardson
休斯顿大学图书馆,2015年承诺升级数字文化遗产馆藏的数据为开源保存与获取系统。使用关联数据词表管理器 Cedar:基于DPLA MAP(美国数字公共图书馆元数据应用纲要)的本地 SKOS 词表。

Medici 2: A Scalable Content Management System for Cultural Heritage Datasets / Constantinos Sophocleous, Luigi Marini, Ropertos Georgiou, Mohammed Elfarargy, Kenton McHenry
文化遗产数据集内容管理系统“美第奇2”:项目由NCSA、亚历山大图书馆、塞浦路斯学院合作开发,属于欧洲项目“欧洲和东地中海2 关联科学计算”,得到以下机构资助:美国国家科学基金NSF、美国档案与记录管理局NARA、美国国立卫生研究院NIH、美国国家人文基金会NEH、美国海军研究所ONR、美国环境保护署EPA及其他私营机构。【如此多公共基金资助,应当免费吧?不知道哪里可下载】

An Interactive Map for Showcasing Repository Impacts / Hui Zhang and Camden Lopez
显示机构库影响的交互地图。使用Google Analytics,近乎实时的机构库实际访问可视化,显示浏览或下载的城市,以及题名、到该页面的超链接。

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数据集的理想格式。

用Schema.org描述数据集

随着开放信息、开放政府、开放科学的发展,互联网上各类数据集越来越多。Schema.org的“数据集”就是专用于对这类数据集进行结构化描述的元数据方案。它描述的是数据集的基本信息,而不是数据集当中的数据,其目的是改进对数据集的搜索。

制订“数据集”的工作始于2012年[1]。按Dataset页末致谢部分说明,工作由W3C DCAT承担,同时得益于DCAT, ADMS和VoID [2]。数据集(Dataset)目前仍在开发中,欢迎实验并征求反馈意见。作为“创作作品”的子集,未列入组织架构图(Organization of Schemas)。当然作为小众应用,很可能作为“扩展”而不列入核心词表。

在Google开发者网站的文档中,有Science Datasets [3] ,介绍“数据集”相关属性及其使用。属性可分为7个部分,其中不少并非Dataset所特有:
1、基本数据集属性:必备属性 (括号中为取值类型)
name 名称(文本)
description 描述(文本)简单概要
url 网址(URL)描述该数据集页面的网址
sameAs 等同网址(URL)可用于访问该数据集页面的其他网址
version 版本(文本、数字)
keywords 关键词(文本)
variableMeasured 测度变量(文本、属性值)
creator.name 创建者名称(Person, Organization)个人、组织
其中“测度变量”指数据集测度什么,比如温度、压力。本属性尚未确定,正征求反馈意见。
2、数据目录属性
includedInDataCatalog 包含在数据目录(DataCatalog)数据集所属存储库
3、下载信息属性
distribution 发行(DataDownload)描述数据集下载位置、文件格式
distribution.fileFormat 文件格式(文本)
distribution.contentURL 内容网址(URL)下载链接
4、时间范围
temporalCoverage(ISO 8601)
数据集中的数据覆盖的特定时间间隔,可以是单一数据或时间段。
5、空间范围
spatialCoverage
数据集中的数据覆盖的空间方位。可以是单一点(GeoCoordinates)或区域(GeoShape)的坐标,也可以是命名位置(地理名称)。
6、引文和出版物
citation(文本、创作作品)引用描述该数据集的出版物(被引)
7、出处和许可信息
license 许可(URL、文本)数据集发布许可的URL

文档最后对“出处”使用 sameAs 还是 isBasedOn 作了说明。
文档中还有一个完整样例,是用上述属性描述美国政府开放数据 NCDC Storm Events Database。在原数据介绍页面下部,有描述元数据,但未做结构化标识。

——— Dataset新增类及属性 ———
根据开发网页即W3C的WebSchemas/Datasets [4],本扩展目前含3个新类型及相应属性(未包括前述:variableMeasured 测度变量)
– Thing > CreativeWork > Dataset 数据集
catalog(DataCatalog) 目录(数据目录:容纳数据集的数据目录)
distribution(DataDownload) 发布(数据下载:该数据集的可下载形式,在特定位置、以特定格式)
spatial(Place) 空间(地点:数据集的空间适用范围)
temporal(DateTime) 时间(日期时间:数据集的时间适用范围)
– Thing > CreativeWork > DataCatalog 数据目录(数据集的集合)
dataset(Dataset) 数据集(包含在目录中的数据集)
– Thing > CreativeWork > MediaObject > DataDownload 数据下载(可下载形式的数据集)

参见(梯子自备):
[1] schema blog: Describing Datasets with schema.org (JULY 11, 2012)
[2]Schema.org – Dataset
关于DCAT、ADMS和VoID词表:
DCAT:数据目录词表 Data Catalog Vocabulary (W3C Recommendation 16 January 2014)
ADMS:资产描述元数据方案 Asset Description Metadata Schema (W3C Working Group Note 01 August 2013)
VoID:互联数据集词表 Vocabulary of Interlinked Datasets (最后更新 06 March 2011)
[3] Google Search — Documentation: Science Datasets
[4] W3C wiki: WebSchemas/Datasets