The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::DigitalNZ - Perl interface to digitalnz.org 's open data api.

DESCRIPTION

The metadata available through DigitalNZ comes from content providers across the New Zealand cultural and heritage, broadcasting, education, and government sectors; as well as local community sources and individuals.

You will need to obtain your own API key from http://digitalnz.org

SYNOPSIS

     use Net::DigitalNZ;
     my $query = 'Waitangi';
     my $api_key = 'get your own api key';
     my $searcher = Net::DigitalNZ->new(api_key => $api_key);
     my $results = $searcher->search($query);

METHODS

The search records API call is passed a search query and returns a corresponding result set

     # simple query
     my $results = $searcher->search($query);

     # more complicated query
     my $results = $searcher->search($query, {key => value});

Parameters

num_results

the number of results the user wishes returned

start

the offset from which the result list should start

sort

the field upon which results are sorted. If sort_field isn't specified the results are sorted by relevance. The sort_field must be one of: category, content_provider, date, syndication_date, title

direction

the direction in which the results are sorted. Can only be used in conjunction with the sort field and must be either asc or desc. If not specified, sort_direction defaults to asc

facets

a list of facet fields to include in the output. See the note on facets below for more information.

facet_num_results

the number of facet results to include. Only used if the facets parameter is specified, and defaults to 10.

facet_start

the offset from which the facet value list should start. Only used if the facets parameter is specified, and defaults to 0.

Example

     use Net::DigitalNZ;

     my $query = 'Waitangi';
     my $api_key = 'get your own api key from http://digitalnz.org';

     my $searcher = Net::DigitalNZ->new(api_key => $api_key);
     my $results = $searcher->search($query, {
                          start=>10,
                          num_results => 2}
                   );

     print $results->{result_count} . " items found\n";

     foreach my $r (@{ $results->{results} } ) {
          print $r->{id} . ': '. $r->{title} ."\n";
     }

More info at http://www.digitalnz.org/developer/api-docs/search-records

Response elements

The search results will return the following elements:

num_results_requested

the value of the num_results parameter sent to the API method

result_count

the total number of results matching this search

start

the value of the start parameter sent to the API method

results

the search results data. The results element will contain 0 or more result elements, each containing the following elements:

category

a string containing one or more category names separated by a comma (e.g. Images, Web pages)

content_provider

the institution holding the content to which the record refers

date

a date associated with the record (e.g. 1996-01-01T00:00:00.000Z). This field may be empty

description

text describing the record

display_url

the url for the content on the content provider's website

id

the internal DigitalNZ identifier (used by the Get Metadata API)

metadata-url

the url to the DigitalNZ API method that will return the full metadata for the record

source-url

the url that will redirect users directly to the content_url

thumbnail-url

the url of for a thumbnail image of the content to which the record refers. This field may be empty.

facets

the facet result data (if requested). The facets element will contain one facet-field element corresponding to each facet requested. Each facet-field element contains a sorted list of value elements that are made up of a name and num-results element. See the note below for more information on facets.

LICENCE AND COPYRIGHT

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.

VERSION CONTROL

http://github.com/Br3nda/perl-net-digitalnz/tree/master

AUTHOR

Brenda Wallace <brenda@wallace.net.nz> http://br3nda.com

Based heavily on Net::Twitter by Chris Thompson

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.