File: VIAF.pm

package info (click to toggle)
libcatmandu-viaf-perl 0.05-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 180 kB
  • sloc: perl: 447; makefile: 2
file content (123 lines) | stat: -rw-r--r-- 2,596 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package Catmandu::Store::VIAF;

use Catmandu::Sane;
use Moo;

use Catmandu::Store::VIAF::Bag;

with 'Catmandu::Store';

has lang          => (is => 'ro', default => 'nl-NL');
has fallback_lang => (is => 'ro', default => 'en-US');

1;
__END__

=encoding utf-8

=head1 NAME

=for html <a href="https://travis-ci.org/thedatahub/Catmandu-VIAF"><img src="https://travis-ci.org/thedatahub/Catmandu-VIAF.svg?branch=master"></a>

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

=head1 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

=head1 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 C<get> to retrieve an AAT record by its identifier

=head1 CONFIGURATION

=head2 lang

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

=head2 fallback_lang

Optional. Default I<en-US>.

=head1 METHODS

=head2 new(%configuration)

Create a new Catmandu::Store::VIAF

=head2 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'
  }

=head2 add()

Not supported

=head2 delete()

Not supported

=head2 each()

Not supported

=head1 AUTHOR

Pieter De Praetere E<lt>pieter at packed.be E<gt>

=head1 COPYRIGHT

Copyright 2017- PACKED vzw

=head1 LICENSE

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

=head1 SEE ALSO

L<Catmandu>
L<Catmandu::VIAF>
L<Catmandu::Fix::viaf_search>
L<Catmandu::Fix::viaf_match>

=cut