NAME
Lingua::Thesaurus::IO::LivelinkCollectionServer - IO class for Livelink Collection Server thesaurus files
DESCRIPTION
This class implements the Lingua::Thesaurus::IO role for files issued from the Livelink Collection Server database (formerly known as Basis Plus). Parsing is quite rudimentary and does not claim to comply with the full BasisPlus specification.
File syntax
Files start with a header of shape:
BEGIN_LAYOUT
FORMAT=FREE
DATA_TERM_SEPARATOR='&&&'
END_OF_DATA_STATEMENT='@@@'
DATA_QUAL_SEPARATOR='###'
END_LAYOUT
ACTION_CODE=A
<<<
<<< Thesaurus dump in FREE format.
<<<
which is completely ignored.
Actual data starts with
BEGIN_REL THES_NAME=<thesaurus_name>
and ends with
END_REL.
All data lines are of shape
<relation_name> = <target>
If the last character on the line is '+', then this indicates that the next line is a continuation line, which should be concatenated to the current line.
The relation name 'LT' (for Lead Term) introduces a new term. The following lines are relations for this term, until the next LT. Relations may be :
# rel description reverse is_external
# === =========== ======= ===========
[AB => 'Abbreviation' => AF => undef],
[AF => 'Abbreviation For' => AB => undef],
[EQ => 'See Also' => UF => undef],
[UF => 'Used For' => EQ => undef],
[EQA => 'See AND' => UFA => undef],
[UFA => 'Used For AND' => EQA => undef],
[BT => 'Broad Term' => NT => undef],
[NT => 'Narrow Term' => BT => undef],
[RT => 'Related Term' => RT => undef],
[SN => 'Scope Note' => undef , 1 ],
[HN => 'History Note' => undef , 1 ],
);
METHODS
load
Loading a thesaurus file in LivelinkCollectionServer format.