Module: Chemicalml::Convention
- Defined in:
- lib/chemicalml/convention.rb,
lib/chemicalml/convention/base.rb,
lib/chemicalml/convention/cascade.rb,
lib/chemicalml/convention/compchem.rb,
lib/chemicalml/convention/registry.rb,
lib/chemicalml/convention/detection.rb,
lib/chemicalml/convention/molecular.rb,
lib/chemicalml/convention/violation.rb,
lib/chemicalml/convention/constraint.rb,
lib/chemicalml/convention/dictionary.rb,
lib/chemicalml/convention/coordinator.rb,
lib/chemicalml/convention/simple_unit.rb,
lib/chemicalml/convention/spectroscopy.rb,
lib/chemicalml/convention/unit_dictionary.rb,
lib/chemicalml/convention/validation_report.rb,
lib/chemicalml/convention/cascade/constraints.rb,
lib/chemicalml/convention/compchem/constraints.rb,
lib/chemicalml/convention/unit_type_dictionary.rb,
lib/chemicalml/convention/molecular/constraints.rb,
lib/chemicalml/convention/dictionary/constraints.rb,
lib/chemicalml/convention/simple_unit/constraints.rb,
lib/chemicalml/convention/spectroscopy/constraints.rb,
lib/chemicalml/convention/unit_dictionary/constraints.rb,
lib/chemicalml/convention/compchem/constraints/array_rules.rb,
lib/chemicalml/convention/unit_type_dictionary/constraints.rb,
lib/chemicalml/convention/compchem/constraints/matrix_rules.rb,
lib/chemicalml/convention/compchem/constraints/scalar_units.rb,
lib/chemicalml/convention/compchem/constraints/module_predicates.rb,
lib/chemicalml/convention/molecular/constraints/atom_must_have_id.rb,
lib/chemicalml/convention/molecular/constraints/bond_must_have_order.rb,
lib/chemicalml/convention/molecular/constraints/molecule_must_have_id.rb,
lib/chemicalml/convention/compchem/constraints/job_module_must_have_id.rb,
lib/chemicalml/convention/simple_unit/constraints/unit_must_have_power.rb,
lib/chemicalml/convention/molecular/constraints/dict_ref_should_resolve.rb,
lib/chemicalml/convention/simple_unit/constraints/unit_must_have_symbol.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_id.rb,
lib/chemicalml/convention/simple_unit/constraints/root_must_be_unit_list.rb,
lib/chemicalml/convention/molecular/constraints/bond_must_have_atom_refs2.rb,
lib/chemicalml/convention/molecular/constraints/references_should_resolve.rb,
lib/chemicalml/convention/dictionary/constraints/entry_must_have_unit_type.rb,
lib/chemicalml/convention/molecular/constraints/atom_id_must_match_pattern.rb,
lib/chemicalml/convention/molecular/constraints/scalar_must_have_data_type.rb,
lib/chemicalml/convention/spectroscopy/constraints/peak_should_have_values.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_title.rb,
lib/chemicalml/convention/compchem/constraints/job_list_module_must_have_id.rb,
lib/chemicalml/convention/dictionary/constraints/entry_units_co_constraints.rb,
lib/chemicalml/convention/molecular/constraints/atom_must_have_element_type.rb,
lib/chemicalml/convention/molecular/constraints/property_must_have_dict_ref.rb,
lib/chemicalml/convention/dictionary/constraints/entry_id_must_match_pattern.rb,
lib/chemicalml/convention/dictionary/constraints/entry_must_have_id_and_term.rb,
lib/chemicalml/convention/molecular/constraints/bond_id_should_match_pattern.rb,
lib/chemicalml/convention/molecular/constraints/bond_order_should_be_in_enum.rb,
lib/chemicalml/convention/spectroscopy/constraints/spectrum_must_have_format.rb,
lib/chemicalml/convention/compchem/constraints/finalization_must_have_content.rb,
lib/chemicalml/convention/molecular/constraints/atom_array_must_contain_atoms.rb,
lib/chemicalml/convention/molecular/constraints/bond_stereo_should_be_in_enum.rb,
lib/chemicalml/convention/spectroscopy/constraints/spectrum_must_have_content.rb,
lib/chemicalml/convention/compchem/constraints/job_must_contain_initialization.rb,
lib/chemicalml/convention/dictionary/constraints/entry_must_contain_definition.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_parent_si.rb,
lib/chemicalml/convention/cascade/constraints/reaction_scheme_must_have_content.rb,
lib/chemicalml/convention/compchem/constraints/initialization_must_have_content.rb,
lib/chemicalml/convention/dictionary/constraints/dictionary_must_have_namespace.rb,
lib/chemicalml/convention/molecular/constraints/atom_coordinates_must_be_paired.rb,
lib/chemicalml/convention/molecular/constraints/atom_ids_unique_within_molecule.rb,
lib/chemicalml/convention/molecular/constraints/bond_ids_unique_within_molecule.rb,
lib/chemicalml/convention/spectroscopy/constraints/peak_list_must_contain_peaks.rb,
lib/chemicalml/convention/compchem/constraints/calculation_requires_finalization.rb,
lib/chemicalml/convention/compchem/constraints/finalization_at_most_one_molecule.rb,
lib/chemicalml/convention/molecular/constraints/bond_order_should_not_be_numeric.rb,
lib/chemicalml/convention/molecular/constraints/molecule_id_should_match_pattern.rb,
lib/chemicalml/convention/spectroscopy/constraints/spectrum_must_have_convention.rb,
lib/chemicalml/convention/compchem/constraints/job_module_at_most_one_environment.rb,
lib/chemicalml/convention/compchem/constraints/initialization_at_most_one_molecule.rb,
lib/chemicalml/convention/compchem/constraints/job_module_at_most_one_finalization.rb,
lib/chemicalml/convention/molecular/constraints/bond_atom_refs2_should_be_distinct.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_must_contain_definition.rb,
lib/chemicalml/convention/cascade/constraints/reaction_step_list_must_contain_steps.rb,
lib/chemicalml/convention/dictionary/constraints/entry_ids_unique_within_dictionary.rb,
lib/chemicalml/convention/molecular/constraints/bond_order_other_must_have_dict_ref.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_list_must_have_namespace.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_parent_si_should_resolve.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_unit_type_should_resolve.rb,
lib/chemicalml/convention/compchem/constraints/compchem_module_must_contain_job_list.rb,
lib/chemicalml/convention/compchem/constraints/environment_at_most_one_property_list.rb,
lib/chemicalml/convention/molecular/constraints/bond_array_must_be_child_of_molecule.rb,
lib/chemicalml/convention/molecular/constraints/bond_stereo_other_must_have_dict_ref.rb,
lib/chemicalml/convention/molecular/constraints/molecule_chirality_should_be_in_enum.rb,
lib/chemicalml/convention/compchem/constraints/environment_must_not_contain_parameter.rb,
lib/chemicalml/convention/compchem/constraints/finalization_at_most_one_property_list.rb,
lib/chemicalml/convention/compchem/constraints/finalization_must_not_contain_parameter.rb,
lib/chemicalml/convention/molecular/constraints/atom_parity_should_include_parent_atom.rb,
lib/chemicalml/convention/cascade/constraints/reaction_step_must_have_reaction_or_lists.rb,
lib/chemicalml/convention/compchem/constraints/initialization_must_not_contain_property.rb,
lib/chemicalml/convention/compchem/constraints/initialization_at_most_one_parameter_list.rb,
lib/chemicalml/convention/cascade/constraints/reactive_centre_atom_refs_should_be_present.rb,
lib/chemicalml/convention/molecular/constraints/atom_parity_atom_refs4_should_be_distinct.rb,
lib/chemicalml/convention/molecular/constraints/bond_stereo_atom_refs4_should_be_distinct.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_symbol_and_unit_type.rb,
lib/chemicalml/convention/molecular/constraints/bond_must_reference_atoms_in_same_molecule.rb,
lib/chemicalml/convention/molecular/constraints/bond_stereo_cis_trans_must_have_atom_refs4.rb,
lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_id_must_match_pattern.rb,
lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_have_id_and_name.rb,
lib/chemicalml/convention/molecular/constraints/bond_stereo_wedge_hash_must_have_atom_refs2.rb,
lib/chemicalml/convention/molecular/constraints/molecule_count_must_not_appear_on_top_level.rb,
lib/chemicalml/convention/molecular/constraints/property_scalar_data_type_matches_dictionary.rb,
lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_contain_definition.rb,
lib/chemicalml/convention/molecular/constraints/atom_element_type_should_be_in_periodic_table.rb,
lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_list_must_have_namespace.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_list_must_contain_at_least_one_unit.rb,
lib/chemicalml/convention/molecular/constraints/atom_array_must_be_child_of_molecule_or_formula.rb,
lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_multiplier_or_constant_to_si.rb,
lib/chemicalml/convention/dictionary/constraints/dictionary_namespace_should_end_with_slash_or_hash.rb,
lib/chemicalml/convention/molecular/constraints/molecule_atom_array_mutually_exclusive_with_children.rb,
lib/chemicalml/convention/molecular/constraints/molecule_bond_array_mutually_exclusive_with_children.rb,
lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_list_must_contain_at_least_one_unit_type.rb
Overview
Convention framework. A convention is a named, namespaced set of constraints that CML documents conform to in a particular domain.
Conventions are registered, not switch-statement'd. Each convention owns its constraint classes; the framework walks whatever was registered.
The built-in conventions:
molecular http://www.xml-cml.org/convention/molecular
compchem http://www.xml-cml.org/convention/compchem
dictionary http://www.xml-cml.org/convention/dictionary
unit-dictionary http://www.xml-cml.org/convention/unit-dictionary
unitType-dictionary http://www.xml-cml.org/convention/unitType-dictionary
spectroscopy http://www.xml-cml.org/convention/spectroscopy
cascade http://www.xml-cml.org/convention/cascade
simpleUnit http://www.xml-cml.org/convention/simpleUnit
Defined Under Namespace
Modules: Base, Cascade, Compchem, Detection, Dictionary, Molecular, Registry, SimpleUnit, Spectroscopy, UnitDictionary, UnitTypeDictionary Classes: Constraint, Coordinator, ValidationReport, Violation
Constant Summary collapse
- CONVENTION_NAMESPACE =
'http://www.xml-cml.org/convention/'
Class Method Summary collapse
-
.detect_and_validate(document) ⇒ Chemicalml::Convention::ValidationReport
Auto-detect the convention from the document root's
conventionattribute and validate. -
.lookup(qname) ⇒ Module?
Look up a convention by QName (e.g. "convention:molecular").
-
.validate(document, qname:) ⇒ Array<Chemicalml::Convention::Violation>
Validate a document against a named convention.
-
.validate_report(document, qname:) ⇒ Chemicalml::Convention::ValidationReport
Validate and return a structured report (errors + warnings).
Class Method Details
.detect_and_validate(document) ⇒ Chemicalml::Convention::ValidationReport
Auto-detect the convention from the document root's convention
attribute and validate.
73 74 75 |
# File 'lib/chemicalml/convention.rb', line 73 def self.detect_and_validate(document) Registry.detect_and_validate(document) end |
.lookup(qname) ⇒ Module?
Look up a convention by QName (e.g. "convention:molecular").
43 44 45 |
# File 'lib/chemicalml/convention.rb', line 43 def self.lookup(qname) Registry.lookup(qname) end |
.validate(document, qname:) ⇒ Array<Chemicalml::Convention::Violation>
Validate a document against a named convention. Returns the raw violation list.
54 55 56 |
# File 'lib/chemicalml/convention.rb', line 54 def self.validate(document, qname:) Registry.validate(document, qname: qname) end |
.validate_report(document, qname:) ⇒ Chemicalml::Convention::ValidationReport
Validate and return a structured report (errors + warnings).
63 64 65 |
# File 'lib/chemicalml/convention.rb', line 63 def self.validate_report(document, qname:) Registry.validate_report(document, qname: qname) end |