text

Usage    - print $def->text() or $def->text($text)
Returns  - the definition text (string)
Args     - the definition text (string)
Function - gets/sets the definition text

dbxref_set

Usage    - $def->dbxref_set() or $def->dbxref_set($dbxref_set)
Returns  - the definition dbxref set (OBO::Util::DbxrefSet)
Args     - the definition dbxref set (OBO::Util::DbxrefSet)
Function - gets/sets the definition dbxref set

dbxref_set_as_string

Usage    - $definition->dbxref_set_as_string() or $definition->dbxref_set_as_string("[GOC:elh, PMID:9334324]")
Returns  - the dbxref set (string) of this definition; [] if the set is empty
Args     - the dbxref set (string) describing the source(s) of this definition
Function - gets/sets the dbxref set of this definition. The set operation actually *adds* the new dbxrefs to the existing set
Remark   - make sure that colons (,) are scaped (\,) when necessary

equals

Usage    - $def->equals($another_def)
Returns  - either 1 (true) or 0 (false)
Args     - the definition to compare with
Function - tells whether this definition is equal to the parameter

NAME

OBO::Core::Def - A definition structure of a term. A term should have zero or one instance of this type per term description.

SYNOPSIS

use OBO::Core::Def;

use OBO::Core::Dbxref;

use strict;

# three new def's

my $def1 = OBO::Core::Def->new();

my $def2 = OBO::Core::Def->new();

my $def3 = OBO::Core::Def->new();

$def1->text("APO:vm text");

$def2->text("APO:ls text");

$def3->text("APO:ea text");

my $ref1 = OBO::Core::Dbxref->new();

my $ref2 = OBO::Core::Dbxref->new();

my $ref3 = OBO::Core::Dbxref->new();

$ref1->name("APO:vm");

$ref2->name("APO:ls");

$ref3->name("APO:ea");

my $dbxref_set1 = OBO::Util::DbxrefSet->new();

$dbxref_set1->add($ref1);

my $dbxref_set2 = OBO::Util::DbxrefSet->new();

$dbxref_set2->add($ref2);

my $dbxref_set3 = OBO::Util::DbxrefSet->new();

$dbxref_set3->add($ref3);

$def1->dbxref_set($dbxref_set1);

$def2->dbxref_set($dbxref_set2);

$def3->dbxref_set($dbxref_set3);

# dbxref_set_as_string

$def2->dbxref_set_as_string('[APO:vm, APO:ls, APO:ea "Erick Antezana"] {opt=first}');

my @refs_def2 = $def2->dbxref_set()->get_set();

my %r_def2;

foreach my $ref_def2 (@refs_def2) {

$r_def2{$ref_def2->name()} = $ref_def2->name();

}

DESCRIPTION

A OBO::Core::Def object encapsules a definition for a universal. There must be zero or one instance of this type per term description. An object of this type should have a quote enclosed definition text, and a OBO::Core::Dbxref set containing data base cross references which describe the origin of this definition (see OBO::Core::Dbxref for information on how Dbxref lists are used).

c.f. OBO flat file specification.

AUTHOR

Erick Antezana, <erick.antezana -@- gmail.com>

COPYRIGHT AND LICENSE

Copyright (c) 2006-2012 by Erick Antezana

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