bibframe(书目框架)的python工具,例如,一个用于图书馆书目描述的web友好框架。

pybibframe的Python项目详细描述


Pybibframe

需要Python3.5+。要安装:

python setup.py install

用法

将marc/xml转换为rdf或相反的输出(命令行)

注意:Versa是Web资源和关系的模型。想想看 作为资源描述框架(RDF)的一个演进 更简单,更具表现力。它是默认的内部表示 对于pybibframe,尽管常规rdf是可选输出。

marc2bf records.mrx

从records.mrx文件中读取marc/xml并输出相反的结果 以json格式表示生成的bibframe记录。你可以 也将输出发送到文件:

marc2bf -o resources.versa.json records.mrx

Versa表示是进行中的管道的主要格式 处理。

如果您想要此文件的rdf/turtle表示,可以执行以下操作:

marc2bf -o resources.versa.json --rdfttl resources.ttl records.mrx

如果需要此文件的rdf/xml表示,可以执行以下操作:

marc2bf -o resources.versa.json --rdfxml resources.rdf records.mrx

这些选项确实在内存中构建了完整的rdf模型,因此它们可以减慢 事情有点糟。

您可以从标准输入获取源marc/xml:

curl http://lccn.loc.gov/2006013175/marcxml | marc2bf -c /Users/uche/dev/zepheira/pybibframe-plus/test/resource/config1.json --mod=bibframe.zextra -o /tmp/marc2bf.versa.json

在这种情况下,将从Web中提取记录,特别是 国会在线目录/LCCN永久链接。另一个例子,达斯·因内尔 伦敦格拉斯帕拉斯特酒店:

curl http://lccn.loc.gov/2012659481/marcxml | marc2bf -c /Users/uche/dev/zepheira/pybibframe-plus/test/resource/config1.json --mod=bibframe.zextra -o /tmp/marc2bf.versa.json

一次可以处理多个marc/xml文件,方法是将它们列在 命令行:

marc2bf records1.mrx records2.mrx records3.mrx

或者使用通配符:

marc2bf records?.mrx

pybibframe是高度可配置和可扩展的。您可以指定 命令行中的插件。您需要指定python模块 从中可以导入插件和配置文件 指定如何使用插件。例如,使用 linkreportpybibframe附带的插件,您可以做到:

marc2bf -c config1.json --mod=bibframe.plugin records.mrx

其中config1.json的内容可能是:

{
    "plugins": [
            {"id": "http://bibfra.me/tool/pybibframe#labelizer",
             "lookup": {
                 "http://bibfra.me/vocab/lite/Work": "http://bibfra.me/vocab/lite/title",
                 "http://bibfra.me/vocab/lite/Instance": "http://bibfra.me/vocab/lite/title"
            }
    ]
}

在本例中,它将为works和 输出的实例。

将marc/xml转换为rdf或相反的输出(api)

bibframe.reader.bfconvert函数可以用作要运行的api 转变。

>>> from bibframe.reader import bfconvert
>>> inputs = open('records.mrx', 'r')
>>> out = open('resorces.versa.json', 'w')
>>> bfconvert(inputs=inputs, entbase='http://example.org', out=out)

配置

  • marcspecials-vocab-要限定的词汇表(基)iris列表 处理 特别马克领域006007 008和领袖。

变换

'transforms': {     'bib': 'http://example.org/vocab/marc-bib-transforms', }

另请参见

使用bibframe的一些开源工具(请参见 http://bibframe.org

注意:在Yaz Marcdump周围使用非常有用(例如,您可以使用 将其他marc格式转换为marc/xml)

http://ftp.indexdata.com/pub/yaz/下载,解包然后执行:

$ ./configure --prefix=$HOME/.local
$ make && make install

如果您使用的是基于debian的linux,您可能会发现these installation notes非常有用。

MarcEdit也可以转换为marc/xml。 只需安装,从菜单中选择“MARC工具”,选择输入文件, 指定输出文件,并指定需要执行的转换, 例如,“marc21->;marc21 xml”,用于marc到marc/xml。注意可用性 utf-8输出选项。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring AOP:在方法之间交换信息   数组Java将字符串转换为字符[]   堆内存java。lang.OutOfMemoryError:PermGen space+java   安卓 Java。lang.ClassCastException:无法将活动强制转换到接口   java尝试使用气泡排序将随机整数数组从最大到最小排序   线程“main”java中的indexoutofboundsexception异常。lang.ArrayIndexOutofBounds异常:发电机处为3。main(Generator.java:35)   java“宽大”有什么用?   java SimpleCaptcha NoSuchMethodError   java在哪里部署Web服务的jar依赖项?   Java8获取列表中连续数字的函数方法   java为什么JWT令牌不安全?   java Uber API:在请求或发出令牌时指定多个作用域会返回无效的请求参数   java如何使用映射器从包含多个引用单元的JSON字符串中获取对象列表?   java警告匿名子类(?)没有串行版本   Jackson 2.9.0中的java JsonGenerationException。pr1   java试图打印多个catch语句   java如何创建一个sql表并获得每个唯一字段的平均价格?   java为什么SetMinimumSize设置最小高度而不是宽度?   java与使用POI合并的混淆   java在Xpath中使用“AND”和“normalizespace”时在不同浏览器中遇到不同的错误