NAME
    WQS::SPARQL::Result - Processing Wikidata Query Service SPARQL result.

SYNOPSIS
     use WQS::SPARQL::Result;

     my $obj = WQS::SPARQL::Result->new;
     my @res = $obj->result($result_hr, $vars_ar);

DESCRIPTION
    Class which gets structure which is originally JSON result from Wikidata
    Query Service and parse values from it.

METHODS
  "new"
     my $obj = WQS::SPARQL::Result->new;

    Constructor.

    *       "verbose"

            Verbose module flag. If enabled dumps result JSON structure to
            STDERR.

            Default value is 0.

    Returns instance of class.

  "result"
     my @res = $obj->result($result_hr, $vars_ar);

    Select variables from structures and return list.

    Method arguments:

    $result_hr
            Structure converted from JSON string.

    $vars_ar
            Reference to array with keys, which we need to return.

    Returns list of structures with key => value pairs.

ERRORS
     new():
             From Class::Utils::set_params():
                     Unknown parameter '%s'.

     result():
             Type '%s' doesn't supported.

EXAMPLE
     use strict;
     use warnings;

     use WQS::SPARQL::Result;

     my $result_hr = {
             'head' => {
                     'vars' => ['item'],
             },
             'results' => {
                     'bindings' => [{
                             'item' => {
                                     'type' => 'uri',
                                     'value' => 'http://www.wikidata.org/entity/Q27954834',
                             },
                     }],
             },
     };

     my $obj = WQS::SPARQL::Result->new;
     my @ret = $obj->result($result_hr, ['item']);

     # Dump out.
     foreach my $ret_hr (@ret) {
             print "{\n";
             foreach my $key (keys %{$ret_hr}) {
                     print "  $key => ".$ret_hr->{$key}.",\n";
             }
             print "},\n";
     }

     # Output:
     # {
     #   item => Q27954834,
     # },

DEPENDENCIES
    Class::Utils, Data::Printer, Error::Pure, URI.

SEE ALSO
    WQS::SPARQL::Query::Count
        Simple SPARQL count query.

    WQS::SPARQL::Query::Select
        Simple SPARQL select query.

REPOSITORY
    <https://github.com/michal-josef-spacek/WQS-SPARQL-Result>

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

    <http://skim.cz>

LICENSE AND COPYRIGHT
    © Michal Josef Špaček 2020-2023

    BSD 2-Clause License

VERSION
    0.03

