SEO.JSONLD.MolecularEntity (SEO v0.3.0-rc.0)

View Source

Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical, radical ion, complex, conformer etc., identifiable as a separately distinguishable entity.

Helper for building a Schema.org MolecularEntity JSON-LD structure.

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "MolecularEntity", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

Build a MolecularEntity JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:chemical_role) => SEO.JSONLD.DefinedTerm.t() | map(),
    optional(:in_ch_i) => String.t(),
    optional(:in_ch_i_key) => String.t(),
    optional(:iupac_name) => String.t(),
    optional(:molecular_formula) => String.t(),
    optional(:molecular_weight) =>
      SEO.JSONLD.QuantitativeValue.t() | map() | String.t(),
    optional(:monoisotopic_molecular_weight) =>
      String.t() | SEO.JSONLD.QuantitativeValue.t() | map(),
    optional(:potential_use) => SEO.JSONLD.DefinedTerm.t() | map(),
    optional(:smiles) => String.t(),
    optional(:associated_disease) =>
      SEO.JSONLD.PropertyValue.t()
      | map()
      | SEO.JSONLD.MedicalCondition.t()
      | URI.t()
      | String.t(),
    optional(:bio_chem_interaction) => SEO.JSONLD.BioChemEntity.t() | map(),
    optional(:bio_chem_similarity) => SEO.JSONLD.BioChemEntity.t() | map(),
    optional(:biological_role) => SEO.JSONLD.DefinedTerm.t() | map(),
    optional(:funding) => SEO.JSONLD.Grant.t() | map(),
    optional(:has_bio_chem_entity_part) => SEO.JSONLD.BioChemEntity.t() | map(),
    optional(:has_molecular_function) =>
      SEO.JSONLD.PropertyValue.t()
      | map()
      | SEO.JSONLD.DefinedTerm.t()
      | URI.t()
      | String.t(),
    optional(:has_representation) =>
      String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
    optional(:is_encoded_by_bio_chem_entity) => SEO.JSONLD.Gene.t() | map(),
    optional(:is_involved_in_biological_process) =>
      SEO.JSONLD.PropertyValue.t()
      | map()
      | SEO.JSONLD.DefinedTerm.t()
      | URI.t()
      | String.t(),
    optional(:is_located_in_subcellular_location) =>
      SEO.JSONLD.DefinedTerm.t()
      | map()
      | URI.t()
      | String.t()
      | SEO.JSONLD.PropertyValue.t(),
    optional(:is_part_of_bio_chem_entity) =>
      SEO.JSONLD.BioChemEntity.t() | map(),
    optional(:taxonomic_range) =>
      SEO.JSONLD.DefinedTerm.t()
      | map()
      | String.t()
      | URI.t()
      | SEO.JSONLD.Taxon.t(),
    optional(:additional_type) => String.t() | URI.t(),
    optional(:alternate_name) => String.t(),
    optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(),
    optional(:disambiguating_description) => String.t(),
    optional(:identifier) =>
      String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
    optional(:image) =>
      URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
    optional(:main_entity_of_page) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:name) => String.t(),
    optional(:owner) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:potential_action) => SEO.JSONLD.Action.t() | map(),
    optional(:same_as) => URI.t() | String.t(),
    optional(:subject_of) =>
      SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
    optional(:url) => URI.t() | String.t()
  }
  | [
      chemical_role: SEO.JSONLD.DefinedTerm.t() | map(),
      in_ch_i: String.t(),
      in_ch_i_key: String.t(),
      iupac_name: String.t(),
      molecular_formula: String.t(),
      molecular_weight: SEO.JSONLD.QuantitativeValue.t() | map() | String.t(),
      monoisotopic_molecular_weight:
        String.t() | SEO.JSONLD.QuantitativeValue.t() | map(),
      potential_use: SEO.JSONLD.DefinedTerm.t() | map(),
      smiles: String.t(),
      associated_disease:
        SEO.JSONLD.PropertyValue.t()
        | map()
        | SEO.JSONLD.MedicalCondition.t()
        | URI.t()
        | String.t(),
      bio_chem_interaction: SEO.JSONLD.BioChemEntity.t() | map(),
      bio_chem_similarity: SEO.JSONLD.BioChemEntity.t() | map(),
      biological_role: SEO.JSONLD.DefinedTerm.t() | map(),
      funding: SEO.JSONLD.Grant.t() | map(),
      has_bio_chem_entity_part: SEO.JSONLD.BioChemEntity.t() | map(),
      has_molecular_function:
        SEO.JSONLD.PropertyValue.t()
        | map()
        | SEO.JSONLD.DefinedTerm.t()
        | URI.t()
        | String.t(),
      has_representation:
        String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
      is_encoded_by_bio_chem_entity: SEO.JSONLD.Gene.t() | map(),
      is_involved_in_biological_process:
        SEO.JSONLD.PropertyValue.t()
        | map()
        | SEO.JSONLD.DefinedTerm.t()
        | URI.t()
        | String.t(),
      is_located_in_subcellular_location:
        SEO.JSONLD.DefinedTerm.t()
        | map()
        | URI.t()
        | String.t()
        | SEO.JSONLD.PropertyValue.t(),
      is_part_of_bio_chem_entity: SEO.JSONLD.BioChemEntity.t() | map(),
      taxonomic_range:
        SEO.JSONLD.DefinedTerm.t()
        | map()
        | String.t()
        | URI.t()
        | SEO.JSONLD.Taxon.t(),
      additional_type: String.t() | URI.t(),
      alternate_name: String.t(),
      description: SEO.JSONLD.TextObject.t() | map() | String.t(),
      disambiguating_description: String.t(),
      identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
      image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
      main_entity_of_page:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      name: String.t(),
      owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      potential_action: SEO.JSONLD.Action.t() | map(),
      same_as: URI.t() | String.t(),
      subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
      url: URI.t() | String.t()
    ]

t()

@type t() :: %{required(String.t()) => term()}

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "MolecularEntity", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

build(attrs)

@spec build(attrs()) :: t()

Build a MolecularEntity JSON-LD map.

Fields

  • :chemical_role - A role played by the BioChemEntity within a chemical context.
  • :in_ch_i - Non-proprietary identifier for molecular entity that can be used in printed and electronic data sources thus enabling easier linking of diverse data compilations.
  • :in_ch_i_key - InChIKey is a hashed version of the full InChI (using the SHA-256 algorithm).
  • :iupac_name - Systematic method of naming chemical compounds as recommended by the International Union of Pure and Applied Chemistry (IUPAC).
  • :molecular_formula - The empirical formula is the simplest whole number ratio of all the atoms in a molecule.
  • :molecular_weight - This is the molecular weight of the entity being described, not of the parent. Units should be included in the form '<Number> <unit>', for example '12 amu' or as '<QuantitativeValue>.
  • :monoisotopic_molecular_weight - The monoisotopic mass is the sum of the masses of the atoms in a molecule using the unbound, ground-state, rest mass of the principal (most abundant) isotope for each element instead of the isotopic average mass. Please include the units in the form '<Number> <unit>', for example '770.230488 g/mol' or as '<QuantitativeValue>.
  • :potential_use - Intended use of the BioChemEntity by humans.
  • :smiles - A specification in form of a line notation for describing the structure of chemical species using short ASCII strings. Double bond stereochemistry indicators may need to be escaped in the string in formats where the backslash is an escape character.

Inherited properties

Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: