libSBML C# API  libSBML 5.12.0 C# API
libsbmlcs.RDFAnnotationParser Class Reference
Inheritance diagram for libsbmlcs.RDFAnnotationParser:
[legend]

Detailed Description

{core}

MIRIAM-compliant RDF annotation reader/writer.

This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.

RDFAnnotationParser is a libSBML construct used as part of the libSBML support for annotations conforming to the guidelines specified by MIRIAM ('Minimum Information Requested in the Annotation of biochemical Models', Nature Biotechnology, vol. 23, no. 12, Dec. 2005). Section 6 of the SBML Level 2 and Level 3 specification documents defines a recommended way of encoding MIRIAM information using a subset of RDF (Resource Description Format). The general scheme is as follows. A set of RDF-based annotations attached to a given SBML <annotation> element are read by RDFAnnotationParser and converted into a list of CVTerm objects. There are different versions of the main method,and RDFAnnotationParser::parseRDFAnnotation(XMLNode annotation), used depending on whether the annotation in question concerns the MIRIAM model history or other MIRIAM resource annotations. A special object class, ModelHistory, is used to make it easier to manipulate model history annotations.

All of the methods on RDFAnnotationParser are static; the class exists only to encapsulate the annotation and CVTerm parsing and manipulation functionality.

Public Member Functions

virtual void Dispose ()
 
 RDFAnnotationParser ()
 

Static Public Member Functions

static XMLNode createAnnotation ()
 Creates a blank annotation and returns its root XMLNode object. More...
 
static XMLNode createCVTerms (SBase obj)
 Takes a list of CVTerm objects and creates a the RDF 'Description' element. More...
 
static XMLNode createRDFAnnotation (long level, long version)
 Creates a blank RDF element suitable for use in SBML annotations. More...
 
static XMLNode createRDFAnnotation (long level)
 Creates a blank RDF element suitable for use in SBML annotations. More...
 
static XMLNode createRDFAnnotation ()
 Creates a blank RDF element suitable for use in SBML annotations. More...
 
static XMLNode deleteRDFAnnotation (XMLNode annotation)
 Deletes any SBML MIRIAM RDF annotation found in the given XMLNode tree and returns any remaining annotation content. More...
 
static XMLNode deleteRDFCVTermAnnotation (XMLNode annotation)
 Deletes any SBML MIRIAM RDF 'CVTerm' annotation found in the given XMLNode tree and returns any remaining annotation content. More...
 
static XMLNode deleteRDFHistoryAnnotation (XMLNode annotation)
 Deletes any SBML MIRIAM RDF 'History' annotation found in the given XMLNode tree and returns any remaining annotation content. More...
 
static XMLNode parseCVTerms (SBase obj)
 Takes a list of CVTerm objects and creates a complete SBML annotation around it. More...
 
static XMLNode parseModelHistory (SBase obj)
 Reads the model history and cvTerms stored in obj and creates the XML structure for an SBML annotation representing that metadata if there is a model history stored in obj. More...
 
static XMLNode parseOnlyModelHistory (SBase obj)
 Reads the model history stored in obj and creates the XML structure for an SBML annotation representing that history. More...
 
static ModelHistory parseRDFAnnotation (XMLNode annotation, string metaId, XMLInputStream stream)
 Parses an annotation into a ModelHistory class instance. More...
 
static ModelHistory parseRDFAnnotation (XMLNode annotation, string metaId)
 Parses an annotation into a ModelHistory class instance. More...
 
static ModelHistory parseRDFAnnotation (XMLNode annotation)
 Parses an annotation into a ModelHistory class instance. More...
 
static void parseRDFAnnotation (XMLNode annotation, CVTermList CVTerms)
 
static void parseRDFAnnotation (XMLNode annotation, CVTermList CVTerms, string metaId, XMLInputStream stream)
 
static void parseRDFAnnotation (XMLNode annotation, CVTermList CVTerms, string metaId)
 

Protected Attributes

bool swigCMemOwn
 

Constructor & Destructor Documentation

libsbmlcs.RDFAnnotationParser.RDFAnnotationParser ( )

Member Function Documentation

static XMLNode libsbmlcs.RDFAnnotationParser.createAnnotation ( )
static

Creates a blank annotation and returns its root XMLNode object.

This creates a completely empty SBML <annotation> element. It is not attached to any SBML element. An example of how this might be used is illustrated in the following code fragment. In this example, suppose that content is an XMLNode object previously created, containing MIRIAM-style annotations, and that sbmlObject is an SBML object derived from SBase (e.g., a Model, or a Species, or a Compartment, etc.). Then: The SBML specification contains more information about the format of annotations. We urge readers to consult Section 6 of the SBML Level 2 (Versions 2–4) and SBML Level 3 specification documents.

Returns
a pointer to an XMLNode for the annotation
See also
RDFAnnotationParser::createRDFAnnotation()
static XMLNode libsbmlcs.RDFAnnotationParser.createCVTerms ( SBase  obj)
static

Takes a list of CVTerm objects and creates a the RDF 'Description' element.

This essentially takes the given SBML object, reads out the CVTerm objects attached to it, creates an RDF 'Description' element to hold the terms, and adds each term with appropriate qualifiers.

Parameters
objthe SBML object to start from
Returns
the XMLNode tree corresponding to the Description element of an RDF annotation.
static XMLNode libsbmlcs.RDFAnnotationParser.createRDFAnnotation ( long  level,
long  version 
)
static

Creates a blank RDF element suitable for use in SBML annotations.

The annotation created by this method has namespace declarations for all the relevant XML namespaces used in RDF annotations and also has an empty RDF element. The result is the following XML:

<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
         xmlns:dc='http://purl.org/dc/elements/1.1/'
         xmlns:dcterms='http://purl.org/dc/terms/'
         xmlns:vCard='http://www.w3.org/2001/vcard-rdf/3.0#'
         xmlns:bqbiol='http://biomodels.net/biology-qualifiers/'
         xmlns:bqmodel='http://biomodels.net/model-qualifiers/' >

</rdf:RDF>

Note that this does not create the containing SBML <annotation> element; the method RDFAnnotationParser::createAnnotation() is available for creating the container.

Returns
a pointer to an XMLNode
See also
RDFAnnotationParser::createAnnotation()
static XMLNode libsbmlcs.RDFAnnotationParser.createRDFAnnotation ( long  level)
static

Creates a blank RDF element suitable for use in SBML annotations.

The annotation created by this method has namespace declarations for all the relevant XML namespaces used in RDF annotations and also has an empty RDF element. The result is the following XML:

<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
         xmlns:dc='http://purl.org/dc/elements/1.1/'
         xmlns:dcterms='http://purl.org/dc/terms/'
         xmlns:vCard='http://www.w3.org/2001/vcard-rdf/3.0#'
         xmlns:bqbiol='http://biomodels.net/biology-qualifiers/'
         xmlns:bqmodel='http://biomodels.net/model-qualifiers/' >

</rdf:RDF>

Note that this does not create the containing SBML <annotation> element; the method RDFAnnotationParser::createAnnotation() is available for creating the container.

Returns
a pointer to an XMLNode
See also
RDFAnnotationParser::createAnnotation()
static XMLNode libsbmlcs.RDFAnnotationParser.createRDFAnnotation ( )
static

Creates a blank RDF element suitable for use in SBML annotations.

The annotation created by this method has namespace declarations for all the relevant XML namespaces used in RDF annotations and also has an empty RDF element. The result is the following XML:

<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
         xmlns:dc='http://purl.org/dc/elements/1.1/'
         xmlns:dcterms='http://purl.org/dc/terms/'
         xmlns:vCard='http://www.w3.org/2001/vcard-rdf/3.0#'
         xmlns:bqbiol='http://biomodels.net/biology-qualifiers/'
         xmlns:bqmodel='http://biomodels.net/model-qualifiers/' >

</rdf:RDF>

Note that this does not create the containing SBML <annotation> element; the method RDFAnnotationParser::createAnnotation() is available for creating the container.

Returns
a pointer to an XMLNode
See also
RDFAnnotationParser::createAnnotation()
static XMLNode libsbmlcs.RDFAnnotationParser.deleteRDFAnnotation ( XMLNode  annotation)
static

Deletes any SBML MIRIAM RDF annotation found in the given XMLNode tree and returns any remaining annotation content.

The name of the XMLNode given as parameter annotation must be 'annotation', or else this method returns null. The method will walk down the XML structure looking for elements that are in the RDF XML namespace, and remove them if they conform to the syntax of a History or CVTerm element.

Parameters
annotationthe XMLNode tree within which the RDF annotation is to be found and deleted
Returns
the XMLNode structure that is left after RDF annotations are deleted.
static XMLNode libsbmlcs.RDFAnnotationParser.deleteRDFCVTermAnnotation ( XMLNode  annotation)
static

Deletes any SBML MIRIAM RDF 'CVTerm' annotation found in the given XMLNode tree and returns any remaining annotation content.

The name of the XMLNode given as parameter annotation must be 'annotation', or else this method returns null. The method will walk down the XML structure looking for elements that are in the RDF XML namespace, and remove any that conform to the syntax of a CVTerm element.

Parameters
annotationthe XMLNode tree within which the RDF annotation is to be found and deleted
Returns
the XMLNode structure that is left after RDF annotations are deleted.
static XMLNode libsbmlcs.RDFAnnotationParser.deleteRDFHistoryAnnotation ( XMLNode  annotation)
static

Deletes any SBML MIRIAM RDF 'History' annotation found in the given XMLNode tree and returns any remaining annotation content.

The name of the XMLNode given as parameter annotation must be 'annotation', or else this method returns null. The method will walk down the XML structure looking for elements that are in the RDF XML namespace, and remove any that conform to the syntax of a History element.

Parameters
annotationthe XMLNode tree within which the RDF annotation is to be found and deleted
Returns
the XMLNode structure that is left after RDF annotations are deleted.
virtual void libsbmlcs.RDFAnnotationParser.Dispose ( )
virtual
static XMLNode libsbmlcs.RDFAnnotationParser.parseCVTerms ( SBase  obj)
static

Takes a list of CVTerm objects and creates a complete SBML annotation around it.

This essentially takes the given SBML object, reads out the CVTerm objects attached to it, calls RDFAnnotationParser::createRDFAnnotation()to create an RDF annotation to hold the terms, and finally calls RDFAnnotationParser::createAnnotation()to wrap the result as an SBML <annotation> element.

Parameters
objthe SBML object to start from
Returns
the XMLNode tree corresponding to the annotation.
static XMLNode libsbmlcs.RDFAnnotationParser.parseModelHistory ( SBase  obj)
static

Reads the model history and cvTerms stored in obj and creates the XML structure for an SBML annotation representing that metadata if there is a model history stored in obj.

Parameters
objany SBase object
Returns
the XMLNode corresponding to an annotation containing MIRIAM-compliant model history and CV term information in RDF format.
Note
If the object does not have a history element stored then null is returned even if CVTerms are present.
static XMLNode libsbmlcs.RDFAnnotationParser.parseOnlyModelHistory ( SBase  obj)
static

Reads the model history stored in obj and creates the XML structure for an SBML annotation representing that history.

Parameters
objany SBase object
Returns
the XMLNode corresponding to an annotation containing MIRIAM-compliant model history information in RDF format.
static ModelHistory libsbmlcs.RDFAnnotationParser.parseRDFAnnotation ( XMLNode  annotation,
string  metaId,
XMLInputStream  stream 
)
static

Parses an annotation into a ModelHistory class instance.

This is used to take an annotation that has been read into an SBML model, identify the RDF elements representing model history information, and create a list of corresponding CVTerm objects.

Parameters
annotationXMLNode containing the annotation.
streamoptional XMLInputStream that facilitates error logging
metaIdoptional metaId, if set only the RDF annotation for this metaId will be returned.
Returns
a pointer to the ModelHistory created.
static ModelHistory libsbmlcs.RDFAnnotationParser.parseRDFAnnotation ( XMLNode  annotation,
string  metaId 
)
static

Parses an annotation into a ModelHistory class instance.

This is used to take an annotation that has been read into an SBML model, identify the RDF elements representing model history information, and create a list of corresponding CVTerm objects.

Parameters
annotationXMLNode containing the annotation.
streamoptional XMLInputStream that facilitates error logging
metaIdoptional metaId, if set only the RDF annotation for this metaId will be returned.
Returns
a pointer to the ModelHistory created.
static ModelHistory libsbmlcs.RDFAnnotationParser.parseRDFAnnotation ( XMLNode  annotation)
static

Parses an annotation into a ModelHistory class instance.

This is used to take an annotation that has been read into an SBML model, identify the RDF elements representing model history information, and create a list of corresponding CVTerm objects.

Parameters
annotationXMLNode containing the annotation.
streamoptional XMLInputStream that facilitates error logging
metaIdoptional metaId, if set only the RDF annotation for this metaId will be returned.
Returns
a pointer to the ModelHistory created.
static void libsbmlcs.RDFAnnotationParser.parseRDFAnnotation ( XMLNode  annotation,
CVTermList  CVTerms 
)
static
static void libsbmlcs.RDFAnnotationParser.parseRDFAnnotation ( XMLNode  annotation,
CVTermList  CVTerms,
string  metaId,
XMLInputStream  stream 
)
static
static void libsbmlcs.RDFAnnotationParser.parseRDFAnnotation ( XMLNode  annotation,
CVTermList  CVTerms,
string  metaId 
)
static

Member Data Documentation

bool libsbmlcs.RDFAnnotationParser.swigCMemOwn
protected