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_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