The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

MARC::Convert::Wikidata::Object::People - Bibliographic Wikidata object for people defined by MARC record.

SYNOPSIS

 use MARC::Convert::Wikidata::Object::People;

 my $obj = MARC::Convert::Wikidata::Object::People->new(%params);
 my $date_of_birth = $obj->date_of_birth;
 my $date_of_death = $obj->date_of_death;
 my $external_ids_ar = $obj->external_ids;
 my $full_name = $obj->full_name;
 my $name = $obj->name;
 my $surname = $obj->surname;
 my $work_period_start = $obj->work_period_start;
 my $work_period_end = $obj->work_period_end;

METHODS

new

 my $obj = MARC::Convert::Wikidata::Object::People->new(%params);

Constructor.

Returns instance of object.

  • date_of_birth

    Date of birth of people.

    Parameter is string with date. See "check_date" in Mo::utils::Date for more information.

    Default value is undef.

  • date_of_death

    Date of death of people.

    Parameter is string with date. See "check_date" in Mo::utils::Date for more information.

    Default value is undef.

  • external_ids

    External ids.

    Need to be a reference to array with MARC::Convert::Wikidata::Object::ExternalId instances.

    Default value is [].

  • name

    Given name of people.

    Default value is undef.

  • surname

    Surname of people.

    Default value is undef.

date_of_birth

 my $date_of_birth = $obj->date_of_birth;

Get date of birth.

Returns string.

date_of_death

 my $date_of_death = $obj->date_of_death;

Get date of death.

Returns string.

external_ids

 my $external_ids_ar = $obj->external_ids;

Get list of external ids.

Returns reference to array with MARC::Convert::Wikidata::Object::ExternalId instances.

full_name

 my $full_name = $obj->full_name;

Get full name.

Returns string.

name

 my $name = $obj->name;

Get given name.

Returns string.

surname

 my $surname = $obj->surname;

Get surname.

Returns string.

work_period_start

 my $work_period_start = $obj->work_period_start;

Get start date of work period.

Returns string.

work_period_end

 my $work_period_end = $obj->work_period_end;

Get end date of work period.

Returns string.

ERRORS

 new():
         From Mo::utils::check_array_object():
                 External id isn't 'MARC::Convert::Wikidata::Object::ExternalId' object.
                         Value: %s
                         Reference: %s
                 Parameter 'external_ids' must be a array.
                         Value: %s
                         Reference: %s
         From Mo::utils::Date::check_date():
                 Parameter 'date_of_birth' for date is in bad format.
                 Parameter 'date_of_birth' has year greater than actual year.
                 Parameter 'date_of_death' for date is in bad format.
                 Parameter 'date_of_death' has year greater than actual year.
         From Mo::utils::Date::check_date_order():
                 Parameter 'date_of_birth' has date greater or same as parameter 'date_of_death' date.

EXAMPLE1

 use strict;
 use warnings;

 use Data::Printer;
 use MARC::Convert::Wikidata::Object::ExternalId;
 use MARC::Convert::Wikidata::Object::People;
 use Unicode::UTF8 qw(decode_utf8);
 
 my $obj = MARC::Convert::Wikidata::Object::People->new(
         'date_of_birth' => '1952-12-08',
         'external_ids' => [
                 MARC::Convert::Wikidata::Object::ExternalId->new(
                         'name' => 'nkcr_aut',
                         'value' => 'jn20000401266',
                 ),
         ],
         'name' => decode_utf8('Jiří'),
         'surname' => 'Jurok',
 );
 
 p $obj;

 # Output:
 # MARC::Convert::Wikidata::Object::People  {
 #     parents: Mo::Object
 #     public methods (4):
 #         BUILD
 #         Mo::utils:
 #             check_array_object
 #         Mo::utils::Date:
 #             check_date, check_date_order
 #     private methods (0)
 #     internals: {
 #         date_of_birth   "1952-12-08" (dualvar: 1952),
 #         external_ids    [
 #             [0] MARC::Convert::Wikidata::Object::ExternalId
 #         ],
 #         name            "Jiří",
 #         surname         "Jurok"
 #     }
 # }

DEPENDENCIES

Mo, Mo::utils, Mo::utils::Date.

SEE ALSO

MARC::Convert::Wikidata

Conversion class between MARC record and Wikidata object.

REPOSITORY

https://github.com/michal-josef-spacek/MARC-Convert-Wikidata-Object

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© Michal Josef Špaček 2021-2024

BSD 2-Clause License

VERSION

0.06