Astro::Bibcode - Parse standardised astronomical journal bibcode


Astro-Bibcode documentation  | view source Contained in the Astro-Bibcode distribution.

Index


NAME

Top

Astro::Bibcode - Parse standardised astronomical journal bibcode

SYNOPSIS

Top

  use Astro::Bibcode;
  $bib = new Astro::Bibcode( '2002MNRAS.336...14J' );

  print $bib->journal(),"\n";
  print $bib->volume(),"\n";
  print $bib->year(),"\n";

DESCRIPTION

Top

This module parses a standardised astronomical journal bibcode (see references at end of this documentation) and allows the individual parts to be extracted.

METHODS

Top

Constructor

new

Create a new Astro::Bibcode object. This constructor can be called in a number of ways.

If a single argument is provided it is assumed to be a bibcode. This code will be parsed, if the parse fails the object will not be created.

  $bib = new Astro::Bibcode( '1995MNRAS.276.1024J' );

THE REST OF THIS SECTION IS PROPOSED INTERFACE AND IS NOT IMPLEMENTED

If it is called without arguments an empty object will be created. Further calls to the bibcode method or the individual components will be required to configure the object.

  $bib = new Astro::Bibcode;




If a series of hash arguments are provided, the object will be configured by calling the individual accessors in turn.

  $bib = new Astro::Bibcode( journalcode => 'ApJ',
                             year => 2002,
                           );

NOTE THAT BIBCODE CREATION IS NOT YET IMPLEMENTED

Accessor Methods

bibcode

Returns the bibcode associated with this object. It will be generated from the other object attributes if undefined (which it will be after something in the object has changed).

  $bib->bibcode( '1998adass...7..216J' );
  $code = $bib->bibcode;

Can return undef if the bibcode did not pass verification (see verify_bibcode).

year

Year of publication.

 $year = $bib->year;

journalcode

The Journal code associated with this bib code.

For the current list of journal codes see:

  http://simbad.u-strasbg.fr/simjnl.pl

See the journal method in order to translate this code to a full journal name.

  $jcode = $bib->journalcode;

classflag

Classification flag of this bib code. Current allowed values are:

     B textbook
     C catalog
     M digited version
     P preprint
     R report or conference proceedings
     T thesis
     U unpublished

and also from ADS:

     book => 'book'
     work => 'workshop'
     conf => 'conference proceeding'
     symp => 'symposium'
     rept => 'report'
     meet => 'meeting'

Note that a null string is used to indicate a periodical.

 $code = $bib->classflag;

See the class method for the translation.

volume

Volume number.

misc

Value of the miscellaneous field "M" used to remove ambiguity.

page

Page number.

initial

Either the first initial of the first author's last name, or ":" for no author. Also can be "%" to indicate that some of the other fields may be invalid.

General Methods

journal

Retrieve the full journal name.

 $journal = $bib->journal;

Returns the code if the code can not be translated.

Does try to recognize ADS conference codes.

class

Retrieve the full name associated with the classification flag.

 $class = $bib->class;

Returns undef if no name can be translated.

confcode

Returns the ADS conference code associated with this bibcode. Returns undef if this bibcode is not associated with a conference.

  $confcode = $bib->confcode;

In some cases (eg 2000immm.proc...77G), a "proc" classification is used when the ADS standard seems to imply "conf" instead. This is taken into account when returning the confcode.

summary

Return a multi-line summary string describing the bibcode status.

 $text = $bib->summary;

verify_bibcode

Given a bibcode, return false if the bibcode does not seem to be valid (e.g. it is the wrong lenght, first 4 characters are not digits), returns the bibcode in scalar context.

  $ok = $bib->verify_bibcode( '1999adass...8...11E' );

In list context returns a hash consisting of the constituent (untranslated) parts of the bib code.

  %parts = $bib->verify_bibcode( '1998SPIE.3357..548J' );

Since ADS is prone to replacing & with & in Journal codes due to HTML transport, this routine will reverse this.

Note that in some special cases a bibcode can be specified such that it is known not to match all the rules (last character is a '%'). In such cases only the length of the bicode is checked.

REFERENCES

Top

Details on the bibcode standard can be obtained from

 http://cdsweb.u-strasbg.fr/simbad/refcode.html

A complete description of the reference coding has been published as a chapter of the book "Information & On-Line Data in Astronomy", 1995, D. Egret and M. A. Albrecht (Eds), Kluwer Acad. Publ.

ADS seems to use non-standard bibcodes for meetings and conferences:

  http://adsabs.harvard.edu/abs_doc/conferences.html

ADS Journal codes are here:

  http://adsabs.harvard.edu/abs_doc/all_journals.html

but are not currently used.

NOTES

Top

Currently the lookup tables for the journal translation and ADS conference proceedings are embedded in the module. There is no facility for triggering a remote update from the referenced web sites or for easily updating a configuration file as new codes are issued. This will probably change in future releases.

AUTHOR

Top

Tim Jenness <tjenness@cpan.org>

COPYRIGHT

Top

SEE ALSO

Top

Astro::ADS


Astro-Bibcode documentation  | view source Contained in the Astro-Bibcode distribution.