Bib-CrossRef
view release on metacpan or search on metacpan
lib/Bib/CrossRef.pm view on Meta::CPAN
}
}
return $out;
}
1;
=pod
=head1 NAME
Bib::CrossRef - Uses crossref to robustly parse bibliometric references.
=head1 SYNOPSIS
use strict;
use Bib::CrossRef;
# Create a new object
my $ref = Bib::CrossRef->new();
# Supply some details, Bib::CrossRef will do its best to use this to derive full citation details e.g. the DOI of a document ...
$ref->parse_text('10.1109/jstsp.2013.2251604');
# Show the full citation details, in human readable form
print $ref->print();
article: 2013, Alessandro Checco and Douglas J. Leith, 'Learning-Based Constraint Satisfaction With Sensing Restrictions'. IEEE Journal of Selected Topics in Signal Processing, 7(5),pp811-820, DOI: http://dx.doi.org/10.1109/jstsp.2013.2251604
# Show the full citation details, in html format
$ref->sethtml;
print $ref->printheader;
print $ref->print;
print $ref->printfooter;
=head1 EXAMPLES
A valid DOI will always be resolved to a full citation
e.g.
$ref->sparse_text('10.1109/jstsp.2013.2251604');
print $ref->print();
article: 2013, Alessandro Checco and Douglas J. Leith, 'Learning-Based Constraint Satisfaction With Sensing Restrictions'. IEEE Journal of Selected Topics in Signal Processing, 7(5),pp811-820, DOI: http://dx.doi.org/10.1109/jstsp.2013.2251604
An attempt will be made to resolve almost any text containing citation info
e.g. article title only
$ref->parse_text('Learning-Based Constraint Satisfaction With Sensing Restrictions');
e.g. author and journal
$ref->parse_text('Alessandro Checco, Douglas J. Leith, IEEE Journal of Selected Topics in Signal Processing, 7(5)');
Please bear in mind that crossref provides a great service for free -- don't abuse it by making excessive queries. If making many queries, be
sure to rate limit them to a sensible level or you will likely get blocked.
=head1 METHODS
=head2 new
my $ref = Bib::CrossRef->new();
Creates a new Bib::CrossRef object
=head2 parse_text
$ref->parse_text($string)
Given a text string, Bib::CrossRef will try to resolve into a full citation with the help of crossref.org
=head2 parse_doi
$ref->parse_doi($doi)
Given a string containing a DOI e.g. 10.1109/tnet.2012.2202686, resolve into a full citation with the unixref
interface of crossref.org. This should be definitive publishers DOI and is usually
much as the same as calling $ref->parse_text($doi), but is included completeness.
=head2 doi
my $info = $ref->doi
Returns a string containg the DOI (digital object identifier) field from a full citation. If present, this
should be unique to the document.
=head2 score
my $info = $ref->score
Returns a matching score from crossref.org. If less than 1, the text provided to set_details() was likely
insufficient to allow the correct full citation to be obtained.
=head2 genre
my $info = $ref->genre
Returns the type of publication e.g. jounal paper, conference paper etc
=head2 date
my $info = $ref->date
Returns the year of publication
=head2 atitle
my $info = $ref->atitle
Returns the article title
=head2 jtitle
my $info = $ref->jtitle
Returns the name of the journal (in long form)
( run in 0.850 second using v1.01-cache-2.11-cpan-13bb782fe5a )