David Bourget > Biblio-Citation-Compare-0.03 > Biblio::Citation::Compare

Download:
Biblio-Citation-Compare-0.03.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 0.03   Source   Latest Release: Biblio-Citation-Compare-0.21

NAME ^

Biblio::Citation::Compare - Perl extension for performing fuzzy comparisons between bibliographic citations

SYNOPSIS ^

  use Biblio::Citation::Compare 'sameWork';

  sameWork(
    # first item
    {
        authors => ['Bourget, D','Lukasiak, Zbigniew'],
        title => "A paper with such and such a title",
        date => 2010
    },
    # second item
    {
        authors => ['Bourget, David J. R.','Lukasiak, Zbigniew'
        title => "A paper with such nd such a tlitle",
        date => undef
    }
   );

   # true!

  );

DESCRIPTION ^

This module exports two subroutines which perform fuzzy comparisons between citations (described using Perl hashes) and author lists. The subroutine attempt to determine if the citations and author lists refer to the same works and ordered lists of authors, respectively.

SUBROUTINES ^

sameWork(hashref citation1, hashref citation2): boolean

Takes as input two citations in a simple format illustrated in the synopsis. Returns true iff the two citations plausibly refer to the same work. A number of factors are taken into account to make the evaluation resistant to random variations. Among them: names are normalized and compared fuzzily using Text::Names, allowances are made for random typos, allowances are made for short and long versions of titles (esp with titles containing a colon), small but important variations as in "Paper title part 1" and "Paper title part 2" are taken into account. The algorithm has been use to merge multiple data sources on PhilPapers.org.

Some advanced additional parameters are not explained here; they can only be explained by pointing to the source code. There use should not normally be necessary.

sameAuthors(arrayref list1, arrayref list2): boolean

Returns true if the two list are plausibly lists of the same authors. This is merely a convenient wrapper over Text::Names::samePerson.

EXPORT

None by default.

SEE ALSO ^

See also Text::Names for name normalization.

AUTHOR ^

David Bourget, http://www.dbourget.com

COPYRIGHT AND LICENSE ^

Copyright (C) 2011 by David Bourget

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: