Bio::Phylo::NeXML::Meta(3)

NAME
Bio::Phylo::NeXML::Meta - Single predicate/object annotation, attached to an xml-writable subject

SYNOPSIS
 use Bio::Phylo::Factory;
 use Bio::Phylo::Util::CONSTANT ':namespaces';
 my $fac = Bio::Phylo::Factory->new;
 my $url = 'http://purl.org/phylo/treebase/phylows/study/TB2:S1787';
 my $proj = $fac->create_project->add_meta(
     $fac->create_meta(
         '-namespaces' => { 'cdao' => _NS_CDAO_ },
         '-triple'     => {
             'cdao:hasMeta' => $fac->create_meta(
                 '-namespaces' => { 'cdao' => _NS_CDAO_ },
                 '-triple'     => { 'cdao:has_External_Reference' => $url }
             )
         }
     )
 );

DESCRIPTION
To comply with the NeXML standard (<http://www.nexml.org>), Bio::Phylo implements metadata annotations which consist conceptually of RDF triples where the subject is a container object that subclasses Bio::Phylo::NeXML::Writable, and the predicate and object are defined in this class.

The objects of the triples provided by this class can be of any simple type (string, number) or one of XML::DOM, XML::GDOME, XML::LibXML, XML::Twig, XML::DOM2, XML::DOMBacked, XML::Handler, XML::Element, XML::API, XML::Code or XML::XMLWriter or RDF::Core::Model.

When serialized, the Bio::Phylo::NeXML::Meta object in NeXML is typically written out as an element called 'meta', with RDFa compliant attributes.

METHODS

  CONSTRUCTOR

new()
     Type    : Constructor
     Title   : new
     Usage   : my $anno = Bio::Phylo::NeXML::Meta->new;
     Function: Initializes a Bio::Phylo::NeXML::Meta object.
     Returns : A Bio::Phylo::NeXML::Meta object.
     Args    : optional constructor arguments are key/value
                       pairs where the key corresponds with any of
                       the methods that starts with set_ (i.e. mutators)
                       and the value is the permitted argument for such
                       a method. The method name is changed such that,
                       in order to access the set_value($val) method
                       in the constructor, you would pass -value => $val

  MUTATORS

set_triple()
    Populates the triple, assuming that the invocant is attached to a subject.

     Type    : Mutator
     Title   : set_triple
     Usage   : $meta->set_triple( $predicate, $object );
     Function: Populates the triple.
     Returns : Modified object.
     Args    : $predicate - a CURIE whose namespace prefix must
                            have been bound previously using
                            $meta->set_namespaces( $prefix, $uri );
               $object    - any of the valid object types: a number,
                            a string, a url, a nested annotation
                            or anything that can be adapted by
                            Bio::Phylo::NeXML::Meta::XMLLiteral

  ACCESSORS

get_triple ()
    Returns predicate and object for the triple

     Type    : Accessor
     Title   : get_triple
     Usage   : my ( $predicate, $object ) = $anno->get_triple;
     Function: Returns triple
     Returns : Predicate and object of a triple
     Args    : NONE

get_object()
    Returns triple object

     Type    : Accessor
     Title   : get_object
     Usage   : my $val = $anno->get_object;
     Function: Returns triple object
     Returns : A triple object
     Args    : NONE

get_predicate()
    Returns triple predicate

     Type    : Accessor
     Title   : get_predicate
     Usage   : my $val = $anno->get_predicate;
     Function: Returns triple predicate
     Returns : A triple predicate
     Args    : NONE

get_predicate_namespace()
    Returns predicate namespace

     Type    : Accessor
     Title   : get_predicate_namespace
     Usage   : my $val = $anno->get_predicate_namespace;
     Function: Returns predicate namespace
     Returns : A namespace
     Args    : NONE

get_predicate_local()
    Returns predicate without prefix

     Type    : Accessor
     Title   : get_predicate_local
     Usage   : my $val = $anno->get_predicate_local;
     Function: Returns predicate without prefix
     Returns : A predicate
     Args    : NONE

get_object_type()
    Returns data type of object

     Type    : Accessor
     Title   : get_object_type
     Usage   : my $val = $anno->get_object_type;
     Function: Returns data type of object
     Returns : A local predicate, e.g. 'boolean'
     Args    : NONE

  TESTS

is_resource()
    Returns whether the object is a resource (e.g. an href or a nested XMLLiteral)

     Type    : Accessor
     Title   : is_resource
     Usage   : my $val = $anno->is_resource;
     Function: Returns whether object is a resource
     Returns : Boolean
     Args    : NONE

is_xml_literal()
    Returns whether the object is a nested XMLLiteral

     Type    : Accessor
     Title   : is_xml_literal
     Usage   : my $val = $anno->is_xml_literal;
     Function: Returns whether object is a nested XMLLiteral
     Returns : Boolean
     Args    : NONE

  SERIALIZERS

to_dom()
     Type    : Serializer
     Title   : to_dom
     Usage   : $obj->to_dom
     Function: Generates a DOM subtree from the invocant and
               its contained objects
     Returns : a DOM element object (default: XML::Twig flavor)
     Args    : DOM factory object
     Note    : This is the generic function. It is redefined in the
               classes below.

SEE ALSO
There is a mailing list at <https://groups.google.com/forum/#!forum/bio-phylo> for any user or developer questions and discussions.

Bio::Phylo::Dictionary
    Annotation objects are combined into a dictionary.

Bio::Phylo::NeXML::Writable
    This object inherits from Bio::Phylo::NeXML::Writable, so methods defined there are also applicable here.

Bio::Phylo::Manual
    Also see the manual: Bio::Phylo::Manual and <http://rutgervos.blogspot.com>.

CITATION
If you use Bio::Phylo in published research, please cite it:

Rutger A Vos, Jason Caravas, Klaas Hartmann, Mark A Jensen and Chase Miller, 2011. Bio::Phylo - phyloinformatic analysis using Perl. BMC Bioinformatics 12:63. <http://dx.doi.org/10.1186/1471-2105-12-63>