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 $covers_ar = $obj->covers;
my $cycles_ar = $obj->cycles;
my $directors_ar = $obj->directors;
my $dml = $obj->dml;
my $edition_number = $obj->edition_number;
my $edition_of_work = $obj->edition_of_work;
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.
authorsList of authors. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
authors_of_afterwordList of authors of afterword. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
authors_of_introductionList of authors of introduction. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
compilersList of compilers. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
coverParameter is deprecated. Use covers instead of it.
Book cover. Possible values: * hardback * paperback
Default value is undef.
coversBook covers.
It's reference to array with 'hardback', 'paperback' values.
Default value is [].
cyclesList of book cycles. Reference to array with MARC::Convert::Wikidata::Object::Series instances.
Default value is [].
directorsList of directors. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
dmlDML id.
Default value is undef.
edition_numberEdition number.
Default value is undef.
edition_of_workEdition of work.
Default value is undef.
editorsList of editors. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
end_timeEnd time.
Default value is undef.
external_idsExternal ids.
Need to be a reference to array with MARC::Convert::Wikidata::Object::ExternalId instances.
Default value is [].
illustratorsList of illustrators. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
isbnsList of ISBNs. Reference to array with MARC::Convert::Wikidata::Object::ISBN instances.
Default value is reference to blank array.
issnISSN number.
Default value is undef.
krameriusesList of Kramerius systems with digitized scan. Reference to array with MARC::Convert::Wikidata::Object::Kramerius instances.
Default value is reference to blank array.
languagesList of languages of book edition (TODO Format)
Default value is reference to blank array.
narratorsList of narrators. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
number_of_pagesNumber of pages.
Default value is undef.
photographersList of photographers. Reference to array with MARC::Convert::Wikidata::Object::People instances.
Default value is reference to blank array.
publication_datePublication date.
Default value is undef.
publishersList of Publishers. Reference to array with MARC::Convert::Wikidata::Object::Publisher instances.
Default value is [].
seriesList of book series. Reference to array with MARC::Convert::Wikidata::Object::Series instances.
Default value is [].
start_timeStart time.
Default value is undef.
subtitlesList of subtitles. Reference to array with strings.
Default value is [].
titleTitle of book edition.
Default value is undef.
translatorsList 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).
covers
my $covers_ar = $obj->covers;
Get book covers.
Returns reference to array with cover strings.
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.
edition_of_work
my $edition_of_work = $obj->edition_of_work;
Get edition of work.
Returns MARC::Convert::Wikidata::Object::Work instance.
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():
Book cover '%s' doesn't exist.
Parameter 'end_time' must be a number.
Parameter 'start_time' must be a number.
From Mo::utils::check_isa():
Parameter 'edition_of_work' must be a 'MARC::Convert::Wikidata::Object::Work' object.
Value: %s
Reference: %s
From Mo::utils::check_number():
Parameter '%s' must a number.
Value: %s
From Mo::utils::Array::check_array():
Parameter 'languages' must be a array.
Value: %s
Reference: %s
Parameter 'subtitles' must be a array.
Value: %s
Reference: %s
From Mo::utils::Array::check_array_object():
Parameter 'authors' must be a array.
Parameter 'authors' with array must contain 'MARC::Convert::Wikidata::Object::People' objects.
Parameter 'authors_of_afterword' must be a array.
Parameter 'authors_of_afterword' with array must contain 'MARC::Convert::Wikidata::Object::People' objects.
Parameter 'authors_of_introduction' must be a array.
Parameter 'authors_of_introduction' with array must contain 'MARC::Convert::Wikidata::Object::People' objects.
Parameter 'compilers' must be a array.
Parameter 'compilers' with array must contain 'MARC::Convert::Wikidata::Object::People' objects.
Parameter 'cycles' must be a array.
Parameter 'cycles' with array must contain 'MARC::Convert::Wikidata::Object::Series' objects.
Parameter 'directors' must be a array.
Parameter 'directors' with array must contain 'MARC::Convert::Wikidata::Object::People' objects.
Parameter 'editors' must be a array.
Parameter 'editors' with array must contain 'MARC::Convert::Wikidata::Object::People' objects.
Parameter 'external_ids' must be a array.
Parameter 'external_ids' with array must contain 'MARC::Convert::Wikidata::Object::ExternalId' objects.
Parameter 'illustrators' must be a array.
Parameter 'illustrators' with array must contain 'MARC::Convert::Wikidata::Object::People' objects.
Parameter 'narrators' must be a array.
Parameter 'narrators' with array must contain 'MARC::Convert::Wikidata::Object::People' objects.
Parameter 'publishers' must be a array.
Parameter 'publishers' with array must contain 'MARC::Convert::Wikidata::Object::Publisher' objects.
Parameter 'series' must be a array.
Parameter 'series' with array must contain 'MARC::Convert::Wikidata::Object::Series' objects.
Parameter 'translators' must be a array.
Parameter 'translators' with array must contain 'MARC::Convert::Wikidata::Object::People' objects.
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 MARC::Convert::Wikidata::Object::Work;
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,
'edition_of_work' => MARC::Convert::Wikidata::Object::Work->new(
'title' => decode_utf8('Dějiny města Příbora'),
'title_language' => 'cze',
),
'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],
'title' => decode_utf8('Dějiny města Příbora'),
);
p $obj;
# Output:
# MARC::Convert::Wikidata::Object {
# parents: Mo::Object
# public methods (9):
# BUILD, full_name
# Error::Pure:
# err
# List::Util:
# none
# Mo::utils:
# check_isa, check_number
# Mo::utils::Array:
# check_array, check_array_object
# Readonly:
# Readonly
# private methods (0)
# internals: {
# authors [
# [0] MARC::Convert::Wikidata::Object::People
# ],
# covers [],
# date_of_publication 2002,
# edition_number 2,
# edition_of_work MARC::Convert::Wikidata::Object::Work,
# 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
# ],
# title "Dějiny města Příbora"
# }
# }
DEPENDENCIES
Error::Pure, List::Util, Mo, Mo::utils, Mo::utils::Array, 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-2025
BSD 2-Clause License
VERSION
0.15