DigitalPlatform / dp2

Integrated Library System / 图书馆集成系统
http://digitalplatform.github.io/dp2
Apache License 2.0
105 stars 54 forks source link

出版社信息共享 Service 设计 #1161

Open DigitalPlatform opened 1 year ago

DigitalPlatform commented 1 year ago

内务前端详细窗里面的自动创建数据功能中,有根据 010$a 自动创建 102$a$b 和 210$a$c 的功能。这个功能用到了 dp2library 中的一个“出版者”数据库。前端可以把 MARC 记录里面已经存在的对照关系保存到这个数据库中,然后需要的时候检索利用。但这个数据库目前是 dp2library 服务器私有的,不同单位的前端无法共享利用。

这里设想设计一种共享的出版社信息数据库,放在数字平台的服务器上,任何前端只要具备网络条件都可以共享它。

第一种方案,是直接在数字平台的服务器上利用一套 dp2library 服务器,把 dp2library 相关 API 开放出来允许任意内务前端调用即可。这个方案基本上不需要修改现有代码。

第二种方案,是重新设计一套更完美的出版社数据库系统,部署到数字平台的服务器上,提供一套 API,让内务前端调用。这套 API 是专用的 API,不是 dp2library 当前的 API。

第三种方案,提供一种机制让大家交换彼此的数据,导入到自己的本地出版者库。算法可以设计为,自动上传本地记录到共享数据库、合并,然后下载合并后的全部记录回到本地。

优缺点分析: 第一种方案的缺点,主要是在大家向共享数据库中添加条目的时候,如何控制数据质量?也许还需要增加一套机制,允许志愿者管理员经常来整理数据。

由这个问题,联想到,前端其实可以同时检索本地和数字平台的两套“出版者”数据库,都列出来提供选择。这样即便有一边数据质量不佳,也还不至于影响太大。

第二种方案,因为是重新设计,所以应当提供分散和集中管理和修改的机制。比如允许在日常查询界面上对不靠谱的条目进行减分,对靠谱的条目进行加分,这样不靠谱的条目就会慢慢排到后面去了。等志愿者管理员后面整理的时候,可以删除这些不靠谱的词条。

DigitalPlatform commented 1 year ago

新的出版社数据库记录格式设计

<publisher>
    <isbnPrefix>7-5381</isbnPrefix>
    <geoCode>CN:440000</geoCode>
    <name>辽宁科学技术出版社</name>
    <city>沈阳</city>
    <comment>注释</comment>
    <ref>另一个有关联出版社名字</ref>
</publisher>

以下元素要建立检索点: isbnPrefix name ref