Module fastobo::ast[][src]

Owned syntax tree for the OBO format version 1.4.

OboDoc is the struct acting as the root of the syntax tree. It can be created from a borrowed string slice with either FromStr::from_str or FromSlice::from_slice, from a file with fastobo::from_file, or from a buffered reader with fastobo::from_stream.

About FromStr

All types in this module should implement FromStr to allow them to be read from their string serialization. However, some types are simple wrappers for string types (e.g. UnquotedString and QuotedString) and can be constructed from their string value using the From<&str> implementation. Make sure not to confuse how you instantiate these types depending on the content of the string you use.

Structs

ClassIdent

A unique identifier for a class (i.e. a term).

Comment

An inline comment without semantic value.

Definition

An entity textual definition, with optional cross-references supporting it.

HeaderFrame

The header frame, containing metadata about an OBO document.

IdentPrefix

An identifier prefix, either canonical or non-canonical.

InstanceFrame

An instance frame, describing a particular individual.

InstanceIdent

A unique identifier for an instance.

IsoDateTime

A comprehensive ISO-8601 datetime, as found in creation_date clauses.

Line

A line in an OBO file, possibly followed by qualifiers and a comment.

LiteralPropertyValue

A property-value binding where the value is given by a typed literal.

NaiveDateTime

A naive datetime, as found in header frames.

NamespaceIdent

An OBO namespace identifier.

OboDoc

A complete OBO document in format version 1.4.

PrefixedIdent

An identifier with a prefix.

Qualifier

A qualifier, possibly used as a trailing modifier.

QualifierList

A list containing zero or more Qualifiers.

QuotedStr

A borrowed QuotedString.

QuotedString

A string enclosed by quotes, used for definitions.

RelationIdent

A unique identifier for a typedef (i.e. a relation).

ResourcePropertyValue

A property-value where the triple target is refered to with an ID.

SubsetIdent

A unique identifier for a subset

Synonym

A synonym, denoting an alternative name for the embedding entity.

SynonymTypeIdent

A unique identifier for a synonym type.

TermFrame

A term frame, describing a class.

TypedefFrame

A typedef clause, describing a relationship.

UnprefixedIdent

An identifier without a prefix.

UnquotedStr

A borrowed UnquotedString.

UnquotedString

A string without delimiters, used as values in different clauses.

Url

A Uniform Resource Locator used as an identifier for an entity.

Xref

A database cross-reference definition.

XrefList

A list of containing zero or more Xrefs.

Enums

EntityFrame

An entity frame, describing either a term, an instance, or a typedef.

Frame

Any kind of OBO frame.

HeaderClause

A clause appearing in a header frame.

Ident

An identifier, either prefixed, unprefixed, or a valid URL.

Import

A reference to another document to be imported.

InstanceClause

A clause appearing in an instance frame.

IsoTimezone

An ISO-8601 timezone.

PropertyValue

A clause value binding a property to a value in the relevant entity.

SynonymScope

A synonym scope specifier.

TermClause

A clause appearing in a term frame.

TypedefClause

A clause appearing in a typedef frame.

Traits

DateTime

A trait for common operations on OBO datetimes.

Type Definitions

Eol

The optional part of a line, holding a qualifier list and a comment.

StringType

The inner string type used to store text.