Exemplo n.º 1
0
    def build_dist(task):
        logger.info('Building new dist')
        roald = Roald()
        roald.load('src/', format='roald2', language='en')
        roald.set_uri_format('http://data.ub.uio.no/%s/c{id}' %
                             config['basename'])
        roald.save('%s.json' % config['basename'])
        logger.info('Wrote %s.json', config['basename'])

        marc21options = {'vocabulary_code': 'noubomr', 'created_by': 'NoOU'}
        roald.export('dist/%s.marc21.xml' % config['basename'],
                     format='marc21',
                     **marc21options)
        logger.info('Wrote dist/%s.marc21.xml', config['basename'])

        prepared = roald.prepare_export(format='rdfskos',
                                        include=[
                                            '%s.scheme.ttl' %
                                            config['basename'],
                                            'src/ub-onto.ttl',
                                        ])
        prepared.write('dist/%s.ttl' % config['basename'], format='turtle')
        logger.info('Wrote dist/%s.ttl', config['basename'])
        prepared.write('dist/%s.nt' % config['basename'], format='nt')
        logger.info('Wrote dist/%s.nt', config['basename'])
Exemplo n.º 2
0
    def build(task):
        logger.info('Building extras')
        roald = Roald()
        roald.load('src/', format='roald2', language='nb')
        roald.set_uri_format('http://data.ub.uio.no/%s/c{id}' % config['basename'], 'REAL')

        roald.load('src/categories_and_mappings.ttl', format='skos')  # From soksed
        roald.load('src/real_hume_mappings.ttl', format='skos')  # Humord mappings from mymapper

        # 1) MARC21 with $9 fields for CCMapper
        marc21options = {
            'vocabulary_code': 'noubomn',
            'created_by': 'NO-TrBIB',
            'include_extras': True,
            'include_memberships': True,
        }
        roald.export('dist/%s.ccmapper.marc21.xml' %
                     config['basename'], format='marc21',
                     **marc21options)
        logger.info('Wrote dist/%s.ccmapper.marc21.xml', config['basename'])

        roald.load('src/real_tekord_mappings.ttl', format='skos')  # Tekord mappings
        roald.load('src/real_agrovoc_mappings.ttl', format='skos')  # Agrovoc mappings
        roald.load('src/ccmapper_mappings.ttl', format='skos')  # Mappings from CCMapper
        roald.load('src/msc-ubo.mappings.nt', format='skos')  # MSC mappings

        # 1) MARC21 for Alma and general use
        marc21options = {
            'vocabulary_code': 'noubomn',
            'created_by': 'NO-TrBIB',
            'include_extras': False,
            'include_memberships': False,
        }
        roald.export('dist/%s.marc21.xml' %
                     config['basename'], format='marc21', **marc21options)
        logger.info('Wrote dist/%s.marc21.xml', config['basename'])

        # 3) RDF (core + mappings)
        prepared = roald.prepare_export(format='rdfskos',
            include=[
                '%s.scheme.ttl' % config['basename'],
                'src/ub-onto.ttl',
                'src/categories_and_mappings.ttl',
            ],
            with_ccmapper_candidates=True,
            infer=True
        )
        prepared.write('dist/%s.complete.ttl' % config['basename'], format='turtle')
        logger.info('Wrote dist/%s.complete.ttl', config['basename'])
        prepared.write('dist/%s.complete.nt' % config['basename'], format='nt')
        logger.info('Wrote dist/%s.complete.nt', config['basename'])