Skip to content

michal-josef-spacek/Wikidata-Reconcilation-Periodical

Repository files navigation

NAME
    Wikidata::Reconcilation::Periodical - Wikidata reconcilation class for
    periodical.

SYNOPSIS
     use Wikidata::Reconcilation::Periodical;

     my $obj = Wikidata::Reconcilation::Periodical->new;
     my @qids = $obj->reconcile($reconcilation_rules_hr);

DESCRIPTION
    Class for Wikidata periodical reconcilation.

METHODS
  "new"
     my $obj = Wikidata::Reconcilation::Periodical->new;

    Constructor.

    Returns instance of object.

  "reconcile"
     my @qids = $obj->reconcile($reconcilation_rules_hr);

    Reconcile information defined in input structure and returns list of
    QIDs.

    TODO Structure

    Returns list of strings.

ERRORS
     new():
             From Class::Utils::set_params():
                     Unknown parameter '%s'.
             Parameter 'lwp_user_agent' must be a 'LWP::UserAgent' instance.

     reconcile():
             This is abstract class. You need to implement _reconcile() method.

EXAMPLE1
     use strict;
     use warnings;

     use Unicode::UTF8 qw(decode_utf8);
     use Wikidata::Reconcilation::Periodical;

     # Object.
     my $obj = Wikidata::Reconcilation::Periodical->new(
             'language' => 'cs',
     );

     # Save cached value.
     my @qids = $obj->reconcile({
             'identifiers' => {
                     'name' => decode_utf8('Česká osvěta'),
                     'start_time' => 1904,
                     'end_time' => '1948',
             },
     });

     # Print out.
     print join "\n", @qids;
     print "\n";

     # Output like:
     # Q118719850

EXAMPLE2
     use strict;
     use warnings;

     use Unicode::UTF8 qw(decode_utf8);
     use Wikidata::Reconcilation::Periodical;

     # Object.
     my $obj = Wikidata::Reconcilation::Periodical->new(
             'language' => 'cs',
             'verbose' => 1,
     );

     # Save cached value.
     my @qids = $obj->reconcile({
             'identifiers' => {
                     'name' => decode_utf8('Česká osvěta'),
                     'start_time' => 1904,
                     'end_time' => '1948',
             },
     });

     # Output like:
     # SPARQL queries:
     # SELECT ?item WHERE {
     #   ?item wdt:P31/wdt:P279* wd:Q1002697.
     #   ?item wdt:P580 ?start_time.
     #   ?item wdt:P582 ?end_time.
     #   ?item wdt:P1476 'Česká osvěta'@cs.
     #   FILTER(?start_time = "1904-00-00T00:00:00"^^xsd:dateTime)
     #   FILTER(?end_time = "1948-00-00T00:00:00"^^xsd:dateTime)
     # }
     # 
     # SELECT ?item WHERE {
     #   ?item wdt:P31/wdt:P279 wd:Q1002697.
     #   ?item wdt:P1476 'Česká osvěta'@cs.
     # }
     # 
     # SELECT ?item WHERE {
     #   ?item wdt:P31/wdt:P279* wd:Q1002697.
     #   ?item wdt:P580 ?start_time.
     #   ?item wdt:P582 ?end_time.
     #   FILTER(YEAR(?start_time) = 1904)
     #   FILTER(YEAR(?end_time) = 1948)
     # }
     # 
     # Results:
     # - Q118719850: 2

DEPENDENCIES
    Wikidata::Reconcilation. WQS::SPARQL::Query::Select.

SEE ALSO
    Wikidata::Reconcilation
        Abstract class for Wikidata reconcilations.

REPOSITORY
    <https://github.com/michal-josef-spacek/Wikibase-Reconcilation-Periodica
    l>

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

    <http://skim.cz>

LICENSE AND COPYRIGHT
    © 2023 Michal Josef Špaček

    BSD 2-Clause License

VERSION
    0.01

About

Wikidata reconcilation class for periodical.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages