NAME
MARC::Convert::Wikidata::Object - Bibliographic Wikidata object defined by MARC record.
SYNOPSIS
use MARC::Convert::Wikidata::Object;
my $obj = MARC::Convert::Wikidata::Object->new(%params);
my $authors_ar = $obj->authors;
my $authors_of_afterword_ar = $obj->authors_of_afterword;
my $authors_of_introduction_ar = $obj->authors_of_introduction;
my $compilers = $obj->compilers;
my $cover = $obj->cover;
my $cycles_ar = $obj->cycles;
my $directors_ar = $obj->directors;
my $dml = $obj->dml;
my $edition_number = $obj->edition_number;
my $editors_ar = $obj->editors;
my $end_time = $obj->end_time;
my $external_ids_ar = $obj->external_ids;
my $full_name = $obj->full_name;
my $illustrators_ar = $obj->illustrators;
my $isbns_ar = $obj->isbns;
my $issn = $obj->issn;
my $kramerius_ar = $obj->krameriuses;
my $languages_ar = $obj->languages;
my $narrators_ar = $obj->narrators;
my $number_of_pages = $obj->number_of_pages;
my $photographers_ar = $obj->photographers;
my $publication_date = $obj->publication_date;
my $publishers_ar = $obj->publishers;
my $series_ar = $obj->series;
my $start_time = $obj->start_time;
my $subtitles_ar = $obj->subtitles;
my $title = $obj->title;
my $translators_ar = $obj->translators;
METHODS
new
my $obj = MARC::Convert::Wikidata::Object->new(%params);
Constructor.
Returns instance of object.
authors
List of authors. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
authors_of_afterword
List of authors of afterword. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
authors_of_introduction
List of authors of introduction. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
compilers
List of compilers. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
cover
Book cover. Possible values: * hardback * paperback
Default value is undef.
cycles
List of book cycles. Reference to array with MARC::Convert::Wikidata::Object::Series instances.
Default value is [].
directors
List of directors. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
dml
DML id.
Default value is undef.
edition_number
Edition number.
Default value is undef.
editors
List of editors. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
end_time
End time.
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 [].
illustrators
List of illustrators. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
isbns
List of ISBNs. Reference to array with MARC::Convert::Wikidata::Object::ISBN instances.
Default value is reference to blank array.
issn
ISSN number.
Default value is undef.
krameriuses
List of Kramerius systems with digitized scan. Reference to array with MARC::Convert::Wikidata::Object::Kramerius instances.
Default value is reference to blank array.
languages
List of languages of book edition (TODO Format)
Default value is reference to blank array.
narrators
List of narrators. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
number_of_pages
Number of pages.
Default value is undef.
photographers
List of photographers. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
publication_date
Publication date.
Default value is undef.
publishers
List of Publishers. Reference to array with MARC::Convert::Wikidata::Object::Publisher instances.
Default value is [].
series
List of book series. Reference to array with MARC::Convert::Wikidata::Object::Series instances.
Default value is [].
start_time
Start time.
Default value is undef.
subtitles
List of subtitles. Reference to array with strings.
Default value is [].
title
Title of book edition.
Default value is undef.
translators
List of translators. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
authors
my $authors_ar = $obj->authors;
Get reference to array with author objects.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
authors_of_afterword
my $authors_of_afterword_ar = $obj->authors_of_afterword;
Get reference to array with author of afterword objects.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
authors_of_introduction
my $authors_of_introduction_ar = $obj->authors_of_introduction;
Get reference to array with author of introduction objects.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
compilers
my $compilers_ar = $obj->compilers;
Get list of compilers.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
cover
my $cover = $obj->cover;
Get book cover.
Returns string (hardback or paperback).
cycles
my $cycles_ar = $obj->cycles;
Get reference to array with Serie item objects.
Returns reference to array of MARC::Convert::Wikidata::Object::Series instances.
directors
my $directors_ar = $obj->directors;
Get list of directors.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
dml
my $dml = $obj->dml;
Get DML id.
Returns number.
edition_number
my $edition_number = $obj->edition_number;
Get edition number.
Returns number.
editors
my $editors_ar = $obj->editors;
Get list of editors.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
end_time
my $end_time = $obj->end_time;
Get end time.
Returns number.
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 of edition in format '__TITLE__: __SUBTITLE__'.
Returns string.
illustrators
my $illustrators_ar = $obj->illustrators;
Get list of illustrators.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
isbns
my $isbns_ar = $obj->isbns;
Get list of ISBNs.
Returns reference to array of MARC::Convert::Wikidata::Object::ISBN instances.
issn
my $issn = $obj->issn;
Get ISSN number.
Returns string.
c<krameriuses>
my $kramerius_ar = $obj->krameriuses;
Get reference to array with Kramerius item objects.
Returns reference to array of MARC::Convert::Wikidata::Object::Kramerius instances.
languages
my $languages_ar = $obj->languages;
TODO
narrators
my $narrators_ar = $obj->narrators;
Get list of narrators.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
number_of_pages
my $number_of_pages = $obj->number_of_pages;
TODO
photographers
my $photographers_ar = $obj->photographers;
Get reference to array with photographers objects.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
publication_date
my $publication_date = $obj->publication_date;
TODO
publishers
my $publishers_ar = $obj->publishers;
Get list of publishing houses.
Returns reference to array of MARC::Convert::Wikidata::Object::Publisher instances.
series
my $series_ar = $obj->series;
Get reference to array with Serie item objects.
Returns reference to array of MARC::Convert::Wikidata::Object::Series instances.
start_time
my $start_time = $obj->start_time;
Get start time.
Returns number.
subtitle
my $subtitles_ar = $obj->subtitles;
Get reference to array with subtitles.
Returns reference to array of strings.
title
my $title = $obj->title;
Get title.
Returns string.
translators
my $translators_ar = $obj->translators;
Get list of translators.
Returns reference to array of MARC::Convert::Wikidata::Object::People instances.
ERRORS
new():
From Mo::utils::check_array_object():
Author isn't 'MARC::Convert::Wikidata::Object::People' object.
Author of afterword isn't 'MARC::Convert::Wikidata::Object::People' object.
Author of introduction isn't 'MARC::Convert::Wikidata::Object::People' object.
Book series isn't 'MARC::Convert::Wikidata::Object::Series' object.
Book cover '%s' doesn't exist.
Book cycle isn't 'MARC::Convert::Wikidata::Object::Series' object.
Compiler isn't 'MARC::Convert::Wikidata::Object::People' object.
Director isn't 'MARC::Convert::Wikidata::Object::People' object.
Editor isn't 'MARC::Convert::Wikidata::Object::People' object.
External id isn't 'MARC::Convert::Wikidata::Object::ExternalId' object.
Illustrator isn't 'MARC::Convert::Wikidata::Object::People' object.
Narrator isn't 'MARC::Convert::Wikidata::Object::People' object.
Parameter 'authors' must be a array.
Parameter 'authors_of_afterword' must be a array.
Parameter 'authors_of_introduction' must be a array.
Parameter 'compilers' must be a array.
Parameter 'cycles' must be a array.
Parameter 'directors' must be a array.
Parameter 'editors' must be a array.
Parameter 'end_time' must be a number.
Parameter 'external_ids' must be a array.
Parameter 'illustrators' must be a array.
Parameter 'languages' must be a array.
Parameter 'narrators' must be a array.
Parameter 'publishers' must be a array.
Parameter 'series' must be a array.
Parameter 'start_time' must be a number.
Parameter 'translators' must be a array.
Publisher isn't 'MARC::Convert::Wikidata::Object::Publisher' object.
Translator isn't 'MARC::Convert::Wikidata::Object::People' object.
From Mo::utils::check_number():
Parameter '%s' must a number.
Value: %s
EXAMPLE1
use strict;
use warnings;
use Data::Printer;
use MARC::Convert::Wikidata::Object;
use MARC::Convert::Wikidata::Object::ExternalId;
use MARC::Convert::Wikidata::Object::ISBN;
use MARC::Convert::Wikidata::Object::People;
use MARC::Convert::Wikidata::Object::Publisher;
use Unicode::UTF8 qw(decode_utf8);
my $aut = 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',
);
my $publisher = MARC::Convert::Wikidata::Object::Publisher->new(
'name' => decode_utf8('Město Příbor'),
'place' => decode_utf8('Příbor'),
);
my $isbn = MARC::Convert::Wikidata::Object::ISBN->new(
'isbn' => '80-238-9541-9',
'publisher' => $publisher,
);
my $obj = MARC::Convert::Wikidata::Object->new(
'authors' => [$aut],
'date_of_publication' => 2002,
'edition_number' => 2,
'external_ids' => [
MARC::Convert::Wikidata::Object::ExternalId->new(
'name' => 'cnb',
'value' => 'cnb001188266',
),
MARC::Convert::Wikidata::Object::ExternalId->new(
'name' => 'lccn',
'value' => '53860313',
),
],
'isbns' => [$isbn],
'number_of_pages' => 414,
'publishers' => [$publisher],
);
p $obj;
# Output:
# MARC::Convert::Wikidata::Object {
# parents: Mo::Object
# public methods (8):
# BUILD, full_name
# Error::Pure:
# err
# List::MoreUtils::XS:
# none
# Mo::utils:
# check_array, check_array_object, check_number
# Readonly:
# Readonly
# private methods (0)
# internals: {
# authors [
# [0] MARC::Convert::Wikidata::Object::People
# ],
# date_of_publication 2002,
# edition_number 2,
# external_ids [
# [0] MARC::Convert::Wikidata::Object::ExternalId,
# [1] MARC::Convert::Wikidata::Object::ExternalId
# ],
# isbns [
# [0] MARC::Convert::Wikidata::Object::ISBN
# ],
# number_of_pages 414,
# publishers [
# [0] MARC::Convert::Wikidata::Object::Publisher
# ]
# }
# }
DEPENDENCIES
Error::Pure, List::MoreUtils, Mo, Mo::utils, Readonly.
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
LICENSE AND COPYRIGHT
© Michal Josef Špaček 2021-2024
BSD 2-Clause License
VERSION
0.09