该扩展名为想要在Wikimedia Commons上编辑(图像,视频,PDFS ...)的OpenRefine用户提供了几个有用的功能。有关Wikimedia Commons的有关OpenRefine的更多信息,文档和How-TO,请参见https://commons.wikimedia.org/wiki/commons:ponsemons:openrefine 。
此扩展中包含的功能:
通过从一个或多个Wikimedia Commons类别(包括类别深度)加载文件名来启动OpenRefine项目
添加每个文件名称的Commons类别和/或M-IDS的列
启动项目时,文件名将已经进行调解
一些专用的GREL命令允许wikitext的基本处理和提取: extractFromTemplate和value.extractCategories
(在此扩展程序的0.1.1发行版中)对现有Wikimedia Commons文件的文件缩略图预览的基本支持。显示一些(但不是全部)文件类型/扩展名的缩略图。当前有缩略图支持JPEG,GIF,PNG,DJVU,PDF,SVG,WebM和OGV文件。
它可与OpenRefine 3.6.x和更高版本的OpenRefine一起使用。它与OpenRefine 3.5.x或更早的OpenRefine不兼容。 (OpenRefine支持版本3.6的Wikimedia Commons编辑;这在早期版本中是不可能的。)
该扩展名于2022年10月首次发布。它是由Wikimedia Project Grant资助的。
下载此扩展程序最新版本的.zip文件。解压缩此文件,然后将未拉链的文件夹放入OpenRefine扩展文件夹中。阅读有关在OpenRefine的用户手册中安装扩展的更多信息。
正确安装此扩展程序后,现在您将在OpenRefine启动新项目时看到其他选项“ Wikimedia Commons”。
安装此扩展程序后,单击“ Wikimedia Commons”选项,以在OpenRefine中启动一个新项目。将提示您添加一个或多个Wikimedia Commons类别。
无需键入类别:前缀。
您可以通过在每个类别之后输入或在输入字段中选择一个数字来指定类别深度。深度0仅表示当前类别级别的文件;深度1将从一个子类别级别下降,等等。
接下来,在项目预览屏幕( Configure parsing options )中,您还可以选择在每个文件的M-ID(唯一的MediaInfo标识符)和/或CONSON类别中包括一个列。
当您的项目启动时,文件名将已经进行调解。
当您将较大类别(数千个文件)加载到一个新项目中时,OpenRefine将开始缓慢启动,并会为您提供记忆警告。这是一个已知的问题。等待一点;该项目最终将开始。 Commons扩展已通过超过450,000个文件进行了测试。
Wikimedia Commons扩展程序还启用了两个专用的GREL命令,这些命令有助于从Wikimedia Commons文件的Wikitext提取特定信息。 (Grel,一般的精炼表达语言,是一种专用的脚本语言,用于OpenRefine中用于许多灵活的数据操作。有关OpenRefine中使用Grel的一般参考,请参见https://docs.openrefine.org/manual/grelfelfunctions。)
首先,从项目中的Commons文件列表中检索Wikitext。在“对帐”文件名的“列”列列中,选择Edit column > Add column from reconciled values...然后在“结果”对话框窗口中选择Wikitext 。
从Wikitext的新列中,您现在可以提取如下所述提取值和类别。首先选择Edit column > Add column based on this column...在列菜单中。在下一个对话框窗口中,您可以使用各种特定的GREL命令:
extractFromTemplate使用以下语法:
extractFromTemplate(value, "BHL", "source")[0]
在哪里替换BHL用模板的名称(无卷曲括号)和source为要提取值的参数。该GREL语法将返回上述参数的第一个(通常是唯一的)值,例如https://www.flickr.com/photos/biodivlibrary/10329116385 。
value.extractCategories使用以下语法:
value.extractCategories().join('#')该GREL语法将返回Wikitext中提到的所有类别,该类别由#字符隔开,然后您可以根据需要将其用于进一步分配结果单元格。
跑步
mvn package
这将在target文件夹中创建一个ZIP文件,然后可以将其安装在OpenRefine中。
为了避免在每次要测试时都必须在相应目录中解压缩扩展程序,您也可以使用另一个设置:只需在OpenRefine中的扩展程序文件夹中创建一个符号链接到此存储库的本地副本。使用此设置,您无需在更改扩展程序时运行mvn package ,但是如果您要更改Java文件,则仍将使用mvn compile进行编译,如果您对任何文件进行更改,请重新启动OpenRefine。
确保您在master分支上,并且是最新的( git pull )
打开pom.xml并将版本设置为所需的版本编号,例如<version>0.1.0</version>
提交并将这些更改推向主人
添加一个相应的git标签,带有git tag -a v0.1.0 -m "Version 0.1.0" (从github桌面上工作时,您可以遵循此过程,并手动添加v0.1.0标签,并带有描述Version 0.1.0 )
将标签推到github: git push --tags (在github桌面中,只需再次推动)
在https://github.com/openrefine/commonsextension/releases/new上在github上创建新版本,提供了一个发行标题(例如“ Commons Extension 0.1.0”),并描述了此版本中的功能。
打开pom.xml并将版本设置为预期的下一个版本号,然后将版本设置为-SNAPSHOT 。例如,如果您刚刚发布了0.1.0,则可以设置<version>0.1.1-SNAPSHOT</version>
提交并推动这些变化。