【delphi开源代码栏目提醒】:网学会员在delphi开源代码频道为大家收集整理了“[精品]利用NoteExpress设计与开发DSpace机构知识库资源提交工具 - 期刊论文“提供大家参考,希望对大家有所帮助!
应用实践利用 NoteExpress 设计与开发 DSpace 机构知识库资源提交工具 1 1 2邓 红 丁君涛 涂飞平1 ( 北京工业大学图书馆 北京 100124)2 ( 北京爱琴海软件公司 北京 100107)【摘要】设计开发基于 NoteExpress 的资源提交工具,着重描述数据如何从 NoteExpress 传递到提交工具中,再由提交工具导入到 DSpace 的实施过程。
集成 NoteExpress 提交功能后的机构知识库系统能够快速、灵活、高效地收集数据资源,加快机构知识库的建设步伐。
【关键词】机构知识库 提交工具 数据移植 资源收集 DSpace NoteExpress【分类号】G250. 76Design and Implementation of DSpace Resources Import Tool UsingNoteExpress Deng Hong1 Ding Juntao1 Tu Feiping2 1 ( Beijing Technology University Library,Beijing 100124,China) 2 ( Beijing Aegean Software Company,Beijing 100107,China)【Abstract】This paper designs and develops a NoteExpress - based resources import tool by researching DSpace and Note-Express. It focuses on describing how the data is transferred from NoteExpress to the import tool,then imported intoDSpace. The institutional repository system integrated NoteExpress can quickly collect data resources with flexibility andhigh efficiency,which speeds up the construction of institutional repositories.【Key
words】Institutional repository Import tool Data migration Resources collection DSpace NoteExpress1 引 言 随着开放获取运动在全球范围的开展和长期保存机构人员公开及未公开的电子学术产出的要求,越来越多的高校、研究所等学术机构纷纷建立起自己的机构知识库。
许多高校采用
开源软件 DSpace 构建机构知识库系统平台,并进行了定制和二次开发来满足本机构的需求。
北京工业大学( 北工大) 机构知识库是在 DSpace 系统平台上进行二次开发的。
在实施的过程中发现,本机构数据资源收集、元数据字段信息的补全和更新、数据资源的查重、全文资源的管理等机构库前期数据准备工作的难度随着资源的增多而大幅度增大。
因此必须采用文献类管理
软件来辅助前期资源的整理
工作。
对比常见的几 〔1〕 〔2〕款文献类管理软件 ,北工大选择了 NoteExpress ( NE) ,前期利用 NE 通过外购数据库在线检索和现有资源导入方式将本机构的资源收集,然后进行查重、更新,再将整理后的数据提交到机构库中。
由于 NE 资源与 DSpace 资源存在异构性,所以需要工具来完成这种异构数据的转换,从而实现数据管理与数据提交的有效结合。
本文将介 收稿日期: 2011 - 11 - 09 收修改稿日期: 2011 - 12 - 22 80 现代图书情报技术 总第 215 期 2012 年 第1 期绍该工具开发实施的过程。
也支持转换为其他标准格式,但目前并不支持直接输 出 DC 格式。
所以开发提交工具的第一步是设计 NE2 前期的研究和分析 字段到 DC 字段的映射,为了使整个系统有更好的可 DSpace 机构库的原生 的 资 源 收 集 方 式 主 要 有 4 扩展性和可维护性,采用配置文件 ( mappings. xml) 方种: 适合大量数据批量提交的命令行提交方式; 个人用 式来保存元数据的映射关系。
两种格式转换,有很多户使用的 Web 界面逐条提交方式; 针对 OPM - OAI 协 NE Tag 的字段在 DC 中没有对应的定义。
在添加对应议的数据收割; 管理员 CSV 文件的导入方式。
字段定义时,为了尽量减少因 DC 元数据的扩充而带 由于初期数据提交基本上都是大批量的快速提交 这 来的 数 据 维 护 的 困 难, 里 只 选 择 扩 展 DC 中 的( 北工大第一期数据量大概有 20 000 条) ,且大部分有 dc. identifier数据。
DC 与 NE Tag 的部分元数据字段对全文,所以不能采用第 2 种方式和第 3 种方式,而第 4 照表( 节选部分字段定义) 如表 1 所示:种方式只能提交元数据,没有对全文提供支持。
第 1 表1 DC 与 NE Tag 的部分元数据字段对照表种方案需要自行将大量数据转换为 DSpace 提交文件 编号 DC NE Tag格式,然后提交数据,该方法需要开发特定的工具,以 1 dc. title Title 〔3〕 2 dc. contributor. author Author完成资源到 DSpace 提交文件夹的转换 ,然后上传到 3 dc. date. issued Year服务器。
实施前期,北工大开发了此类工具,但操作比 …… 省略部分字段定义 31 dc. description. uri URL较复杂,需要上传到服务器并使用命令批量导入,同时 32 dc. print. number Reprint Edition还存在转换后数据文件管理和资源更新困难的
问题。
参考其他一些机构知识库实施方案 〔4 - 6〕 ,它们对 以下是配置文件 mappings. xml 文件的部分内容,DSpace 系统的提交部分做了有益的改进,并提供了友 由于有多种不同的数据资源类型,所以该定义文件内好的操作 界 面, 本 都 加 强 了 DSpace 服 务 器 端 的 处 基 容比较多 ( 节 选 默 认 资 源 类 型 - Default 类 型 的 部 分理,但对于用户端的处理比较简单,提交的需求也不尽 数据) 。
< ?
xml version quot 1. 0quot encoding quot UTF - 8quot ? > < modules >相同,但还是提供了很好的参考。
< module description quot quot name quot Defaultquot > 北工大前期采用 NE 进行数据的管理,且以后对 < field dc quot dc. titlequot NE2field quot Titlequot / >于数据的维护,除了使用 DSpace 本身的维护功能外, < field dc quot dc. contributor. authorquot NE2field quot Authorquot to-还会继续采用 NE 作为补充。
NE 提供了完善的二次 ken quot ; quot / > 所开发 接 口, 以 北 工 大 图 书 馆 提 出 了 针 对 NE 和 ……DSpace 系统接口整合的需求: < field dc quot dc. language. isoquot NE2field quot Languagequot / > ) ( 1) 开发一个资源提交工具( 简称“提交工具” , < / module >能够充分利用 NE 管理数据资源的能力,又能快速向 配置文件中每个 module 代表的是一种资源类型,DSpace 系统中提交、更新资源,同时完成元数据字段 如期刊、会议
论文、书籍等,每个 module 中的 field 是字的灵活映射; 段映射关系,其中 dc 和 NE2field 分别对应 Dublin Core ( 2) 提交工具在用户部分做成客户端形式,具有 和 NE Tag 的字段定义。
通过对 mappings. xml 文件的友好的界面,可以由多台
计算机同时使用; 修改或者扩展,可以实现提交资源元数据的灵活定制。
( 3) 服务器端无需 Web 界面支持,以一个服务形 4 提交工具的
设计方案式提供服务即可。
在 NE 中选择需要导入到机构知识库中的记录集3 数据准备及数据转换 合,包括记录的元数据和全文附件信息,通过 NE 接口 NE 和 DSpace 在 元 数 据 字 段 定 义 完 全 不 同, 载入到提交工具中。
在提交工具中通过数据模块,集 〔7〕DSpace 默认采用 Dublin Core( DC) 元数据定义方式 , 成提交用户的账户信息、数据导入目标位置、全文附件NE 是使用其特定的 NE Tag 方式定义元数据,虽然 NE 以及是否去重,提交哪些字段等选项信息。
然后将这 XIANDAI TUSHU QINGBAO JISHU 81 应用实践些数 据 通 过 HTTP 协 议 发 送 到 DSpace 系 统 中。
在 4. 2 提交工具与 DSpace 系统的连接DSpace 系统中再开发一个 Servlet 接收传递过来的数 在提交工具中需要用户选择提交到 DSpace 系统据,最后将数据导入到 DSpace 仓库。
的具体 Collection( 专题) ,所以需要获取 DSpace
系统 提交工具设计方案流程如图 1 所示: 的组织结构信息,同时为了 DSpace 的数据安全,提交 工具将在提交的时候带入 DSpace 的用户验证信息,这 样 DSpace 系统就可以验证是否接受用户提交的资源。
提交工具使用 HTTP 协议访问机构知识库的组织 结 即 构, Community / Collection 页面,然后通 过 页 面 分 析 即可以获取到完整的 Community / Collection 树形图,如 图 3 所示: 图3 提交工具组织结构展现 4. 3 DSpace 接收提交工具数据的设计 提交工具将数据通过网络传递到 DSpace 系统,需 要定义数据规范。
数据按照该规范由提交工具提交到 DSpace 系统,然后 DSpace 服务器端负责解析数据,并 保存到 DSpace 仓库中。
为了简化系统开发,规范采用 图1 提交工具设计方案流程图 “文本 简单标签”方式来传输数据。
该数据传输格4. 1 提交工具获取 NE 数据部分 式简单,便于解析还原出原始的信息。
编码后数据传 由于 NE 提供了接口支持对其保存的资源进行几 输到 DSpace 系统采用的是 HTTP 协议,由于数据资源乎所有的操作,所以提交工具获取资源部分比较简单, 中包含全文附件,所以采用 HTTP Multipart / Form - data仅仅通过界面选择,然后调用接口将需要处理的资源 的编码方式上传数据,这样可以将元数据和附件数据信息导 入 到 提 交 工 具 中 即 可。
NE 接 口 定 义 如 图 2 同时打包发到 DSpace 服务器。
在不更改 DSpace 系统所示: 的情况下, DSpace 服务器端将数据解析和提交的逻 在 辑封装在一个新 Servlet 中,然后配置 DSpace 网站系统 ( 北工大使用的是 JSPUI 应用) 的
web. xml 文件,将该 Servlet 安装到 DSpace 的
JSPUI 子系统中。
5 提交工具的开发与实施 在 客户端的提交工具采用
Delphi2007, Windows 7 下开发。
提交工具使用了一些第三方开发包:
网络部 分采用了 HttpSend 库,数据解析部分采用 NativeXML 图2 NE 接口定义 库和正则表达式库 RegExpr。
服务器部分,DSpace 服 82 现代图书情报技术 总第 215 期 2012 年 第1 期务器端 Servlet 开发工具选择 Eclipse。
式反馈到提交工具界面上( 见图 3) ,在获取组织结构5. 1 通过 NE 接口将数据导入到提交工具 前,系统将弹出用户校验界面,只有通过 DSpace 验证 NE 有比较完善的接口,提交工具需要用到的 NE 的用户才能获取组织结构数据。
接口有: INEHost2、INELibraries、sINEItems、INEItem〔8〕。
按照设计的传输格式,提交工具将转换数据格式,通过以下步骤获取 NE 中选中记录的全部信息: 并且集成用户信息、数据提交目标位置和附件全文等 ( 1 ) 通 过 Windows 的 API 函 数 CreateComObject 信息,然后通过 HttpPost 方法提交到 DSpace 系统中。
( quot NEHost2quot ) ,可以 获 取 NE 的 根 接 口— —INEHost2, — 5. 3 DSpace 接收数据部分的实现它包含 4 个属性,分别是: Libraries,Services,Internals, 为了 接 收 从 客 户 端 提 交 工 具 发 送 过 来 的 数 据,MainForm; DSpace 服务器端需要在 JSPUI 中新建一个 NeImportS- ( 2) 通过根接口 INEHost2 的 Libraries 属性获取当 ervlet,对客户端数据进行解析,然后保存到 DSpace 仓前选择的数据库,该属性返回的是一个 INELibraries 接 库中。
口类型; NeImportServlet 的框架
代码如下: ( 3) 通过当前选择数据库的接口 INELibraries 的 public class NeImportServlet extends DSServlet {SelectedItems 属性获取所有选择的记录集合,该属性返 protected void doDSGet( Context context,HttpServletRequest re- quest,HttpServletResponse response) throws Exception {回的是 INEItems 接口类型; throw new Exeption( quot Get Method Is Not Supported. quot ) ; ( 4) 通过获取的记录集合接口 INEItems 的 Count / / 不支持 get 请求属性和 Items 属性枚举出所有的记录对象; } ( 5) 通过记录对象接口 INEItem 的 Values 属性和 protected void doDSPost( Context context,HttpServletRequest re-AttachmentFiles 属性获取记录的元数据和附件信息。
quest,HttpServletResponse response) throws Exception { 对照 NE 软件,找到接口各自的对应关系如图 4 所 / / 核心处理例程,所有的导入逻辑都将在本函数中处理完成示( 与 MS Office 类似, 的接口封装大部分也可以与 NE …界面元素相对应) : } NeImportServlet 首先使用 DSpace 封装好的 FileUp- loadRequest 对象接收客户端提交过来的数据并解析出 各个部分。
然后采用 DSpace 默认的发布对象来发布 资源,这中间包含字段映射的处理步骤,将资源由网络 .