NAME
Bio::Phylo::NeXML::Meta - Single predicate/object annotation, attached to an xml-writable subject
SYNOPSIS
use
Bio::Phylo::Factory;
my
$fac
= Bio::Phylo::Factory->new;
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