Matthias Vandermaesen
and 3 contributors

NAME

Catmandu::Store::VIAF - Retrieve items from VIAF

SYNOPSIS

    # From the command line
    $ catmandu export VIAF --id 102333412 to YAML
    ---
    dcterms:identifier: '102333412'
    guid: http://viaf.org/viaf/102333412
    schema:birthDate: 1775-12-16
    schema:deathDate: 1817-07-18
    schema:description: English novelist
    skos:prefLabel: Jane Austen
    ...

    # From a Catmandu Fix
    lookup_in_store(
        objectName,    # objectName is a field containing the VIAF identifier
        VIAF
    )

    # From Perl code
    use Catmandu;

    my $store = Catmandu->store('VIAF')->bag;

    my $item = $store->get('102333412');

    print $item->{'skos:prefLabel'} , "\n";  # Jane Austen

DESCRIPTION

A Catmandu::Store::VIAF is a Perl package that can query the <VIAF|http://viaf.org/> authority file.

This store supports only one method get to retrieve an AAT record by its identifier

CONFIGURATION

lang

The lang parameter is optional and defaults to nl-NL. It sets the language of the returned prefLabel. If no prefLabel for the viaf_id in provided lang exists, the prefLabel for the fallback_lang is used.

fallback_lang

Optional. Default en-US.

METHODS

new(%configuration)

Create a new Catmandu::Store::VIAF

get($id)

Retrieve a VIAF record given an identifier. Returns a record like:

  {
    'dcterms:identifier' => 'The identifier',
    'guid'               => 'The VIAF URL',
    'schema:birthDate'   => 'Birth date, if provided',
    'schema:deathDate'   => 'Death date, if provided',
    'schema:description' => 'Description, if provided',
    'skos:prefLabel'     => 'prefLabel, in lang or fallback_lang'
  }

add()

Not supported

delete()

Not supported

each()

Not supported

AUTHOR

Pieter De Praetere <pieter at packed.be >

COPYRIGHT

Copyright 2017- PACKED vzw

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Catmandu Catmandu::VIAF Catmandu::Fix::viaf_search Catmandu::Fix::viaf_match