PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX BFO: <http://purl.obolibrary.org/obo/BFO_>
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX CHEMINF: <http://semanticscience.org/resource/CHEMINF_>
PREFIX COB: <http://purl.obolibrary.org/obo/COB_>
PREFIX EC: <https://enzyme.expasy.org/EC/>
PREFIX FIX: <http://purl.obolibrary.org/obo/FIX_>
PREFIX LANL.ELEMENT: <https://periodic.lanl.gov/>
PREFIX MI: <http://purl.obolibrary.org/obo/MI_>
PREFIX MOP: <http://purl.obolibrary.org/obo/MOP_>
PREFIX MetaCyc: <http://identifiers.org/MetaCyc/>
PREFIX NCIT: <http://purl.obolibrary.org/obo/NCIT_>
PREFIX OntoRXN: <http://www.semanticweb.com/OntoRxn#>
PREFIX OntoRxn: <http://www.semanticweb.com/OntoRxn#>
PREFIX PUBCHEM.ELEMENT: <https://pubchem.ncbi.nlm.nih.gov/element/>
PREFIX REACT: <http://identifiers.org/reactome/>
PREFIX REX: <http://purl.obolibrary.org/obo/REX_>
PREFIX RO: <http://purl.obolibrary.org/obo/RO_>
PREFIX RXNO: <http://purl.obolibrary.org/obo/RXNO_>
PREFIX SIO: <http://semanticscience.org/resource/SIO_>
PREFIX UniProtKB: <http://purl.uniprot.org/uniprot/>
PREFIX Wikipedia: <https://en.wikipedia.org/wiki/>
PREFIX bigg.metabolite: <http://identifiers.org/bigg.metabolite/>
PREFIX biolink: <https://w3id.org/biolink/>
PREFIX bioptop: <http://purl.org/biotop/biotop.owl#>
PREFIX biotop: <http://purl.org/biotop/biotop.owl#>
PREFIX bo: <http://www.blueobelisk.org/dict/terminology>
PREFIX chebi.property: <http://purl.obolibrary.org/obo/chebi/>
PREFIX chemrof: <https://w3id.org/chemrof/>
PREFIX cml: <http://www.xml-cml.org/schema/>
PREFIX comptox: <https://bioregistry.io/reference/comptox:>
PREFIX damlpt: <http://www.daml.org/2003/01/periodictable/PeriodicTable#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX edam: <http://edamontology.org/>
PREFIX gc: <http://purl.org/gc/>
PREFIX glycosciencesdb: <https://bioregistry.io/glycosciencesdb:>
PREFIX goldbook: <https://goldbook.iupac.org/terms/view/>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX npatlas: <http://identifiers.org/npatlas/>
PREFIX pdg: <https://pdgapi.lbl.gov/summaries/>
PREFIX schema: <http://schema.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdeschema: <https://www.wikidata.org/wiki/Special:EntitySchemaText/>
PREFIX pav: <http://purl.org/pav/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

<https://w3id.org/chemrof> a owl:Ontology ;
  rdfs:label "Chemical Entities Mixtures and Reactions Ontological Framework" ;
  rdfs:comment """A data model for managing information about chemical entities, ranging from atoms through molecules to complex mixtures.
Aspects of this have been cribbed from various sources including CHEBI, SIO, Wikipedia/Wikidata, the NCATS Translator Chemical Working Group, but all mistakes are my own.
For full context/motivation see the [GitHub repo](https://github.com/chemkg/chemrof).""" ;
  dcterms:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
  pav:version "0.0.1" ;
  vann:preferredNamespacePrefix "chemrof" ;
  vann:preferredNamespaceUri "https://w3id.org/chemrof/"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "BFO" ;
    sh:namespace "http://purl.obolibrary.org/obo/BFO_"^^xsd:anyURI
  ] , [
    sh:prefix "CHEBI" ;
    sh:namespace "http://purl.obolibrary.org/obo/CHEBI_"^^xsd:anyURI
  ] , [
    sh:prefix "CHEMINF" ;
    sh:namespace "http://semanticscience.org/resource/CHEMINF_"^^xsd:anyURI
  ] , [
    sh:prefix "COB" ;
    sh:namespace "http://purl.obolibrary.org/obo/COB_"^^xsd:anyURI
  ] , [
    sh:prefix "EC" ;
    sh:namespace "https://enzyme.expasy.org/EC/"^^xsd:anyURI
  ] , [
    sh:prefix "FIX" ;
    sh:namespace "http://purl.obolibrary.org/obo/FIX_"^^xsd:anyURI
  ] , [
    sh:prefix "LANL.ELEMENT" ;
    sh:namespace "https://periodic.lanl.gov/"^^xsd:anyURI
  ] , [
    sh:prefix "MI" ;
    sh:namespace "http://purl.obolibrary.org/obo/MI_"^^xsd:anyURI
  ] , [
    sh:prefix "MOP" ;
    sh:namespace "http://purl.obolibrary.org/obo/MOP_"^^xsd:anyURI
  ] , [
    sh:prefix "MetaCyc" ;
    sh:namespace "http://identifiers.org/MetaCyc/"^^xsd:anyURI
  ] , [
    sh:prefix "NCIT" ;
    sh:namespace "http://purl.obolibrary.org/obo/NCIT_"^^xsd:anyURI
  ] , [
    sh:prefix "OntoRXN" ;
    sh:namespace "http://www.semanticweb.com/OntoRxn#"^^xsd:anyURI
  ] , [
    sh:prefix "OntoRxn" ;
    sh:namespace "http://www.semanticweb.com/OntoRxn#"^^xsd:anyURI
  ] , [
    sh:prefix "PUBCHEM.ELEMENT" ;
    sh:namespace "https://pubchem.ncbi.nlm.nih.gov/element/"^^xsd:anyURI
  ] , [
    sh:prefix "REACT" ;
    sh:namespace "http://identifiers.org/reactome/"^^xsd:anyURI
  ] , [
    sh:prefix "REX" ;
    sh:namespace "http://purl.obolibrary.org/obo/REX_"^^xsd:anyURI
  ] , [
    sh:prefix "RO" ;
    sh:namespace "http://purl.obolibrary.org/obo/RO_"^^xsd:anyURI
  ] , [
    sh:prefix "RXNO" ;
    sh:namespace "http://purl.obolibrary.org/obo/RXNO_"^^xsd:anyURI
  ] , [
    sh:prefix "SIO" ;
    sh:namespace "http://semanticscience.org/resource/SIO_"^^xsd:anyURI
  ] , [
    sh:prefix "UniProtKB" ;
    sh:namespace "http://purl.uniprot.org/uniprot/"^^xsd:anyURI
  ] , [
    sh:prefix "Wikipedia" ;
    sh:namespace "https://en.wikipedia.org/wiki/"^^xsd:anyURI
  ] , [
    sh:prefix "bigg.metabolite" ;
    sh:namespace "http://identifiers.org/bigg.metabolite/"^^xsd:anyURI
  ] , [
    sh:prefix "biolink" ;
    sh:namespace "https://w3id.org/biolink/"^^xsd:anyURI
  ] , [
    sh:prefix "bioptop" ;
    sh:namespace "http://purl.org/biotop/biotop.owl#"^^xsd:anyURI
  ] , [
    sh:prefix "biotop" ;
    sh:namespace "http://purl.org/biotop/biotop.owl#"^^xsd:anyURI
  ] , [
    sh:prefix "bo" ;
    sh:namespace "http://www.blueobelisk.org/dict/terminology"^^xsd:anyURI
  ] , [
    sh:prefix "chebi.property" ;
    sh:namespace "http://purl.obolibrary.org/obo/chebi/"^^xsd:anyURI
  ] , [
    sh:prefix "chemrof" ;
    sh:namespace "https://w3id.org/chemrof/"^^xsd:anyURI
  ] , [
    sh:prefix "cml" ;
    sh:namespace "http://www.xml-cml.org/schema/"^^xsd:anyURI
  ] , [
    sh:prefix "comptox" ;
    sh:namespace "https://bioregistry.io/reference/comptox:"^^xsd:anyURI
  ] , [
    sh:prefix "damlpt" ;
    sh:namespace "http://www.daml.org/2003/01/periodictable/PeriodicTable#"^^xsd:anyURI
  ] , [
    sh:prefix "dcterms" ;
    sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI
  ] , [
    sh:prefix "edam" ;
    sh:namespace "http://edamontology.org/"^^xsd:anyURI
  ] , [
    sh:prefix "gc" ;
    sh:namespace "http://purl.org/gc/"^^xsd:anyURI
  ] , [
    sh:prefix "glycosciencesdb" ;
    sh:namespace "https://bioregistry.io/glycosciencesdb:"^^xsd:anyURI
  ] , [
    sh:prefix "goldbook" ;
    sh:namespace "https://goldbook.iupac.org/terms/view/"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] , [
    sh:prefix "npatlas" ;
    sh:namespace "http://identifiers.org/npatlas/"^^xsd:anyURI
  ] , [
    sh:prefix "pdg" ;
    sh:namespace "https://pdgapi.lbl.gov/summaries/"^^xsd:anyURI
  ] , [
    sh:prefix "schema" ;
    sh:namespace "http://schema.org/"^^xsd:anyURI
  ] , [
    sh:prefix "skos" ;
    sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI
  ] , [
    sh:prefix "wd" ;
    sh:namespace "http://www.wikidata.org/entity/"^^xsd:anyURI
  ] , [
    sh:prefix "wdeschema" ;
    sh:namespace "https://www.wikidata.org/wiki/Special:EntitySchemaText/"^^xsd:anyURI
  ] .

chemrof:AcidAnionGroupingClass a owl:Class ;
  rdfs:label "acid anion grouping class" ;
  rdfs:comment "A molecule grouping class that groups the different ion forms of the base of an acid" ;
  skos:example "citrate" , "pimelate" ;
  rdfs:subClassOf chemrof:GroupingClassForAcidsOrBases , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:AcidBaseConflationClass a owl:Class ;
  rdfs:label "acid base conflation class" ;
  rdfs:comment "A molecule grouping class that can groups an acid together with all its conjugate bases. physiological" ;
  skos:example "citrate/citric acid" ;
  rdfs:subClassOf chemrof:GroupingClassForAcidsOrBases .

chemrof:Allotrope a owl:Class ;
  rdfs:label "allotrope" ;
  rdfs:comment "A molecule consisting of atoms of the same element" ;
  skos:example "diamond" , "dioxygen" ;
  rdfs:subClassOf chemrof:Molecule .

chemrof:AminoAcidSequenceInterval a owl:Class ;
  rdfs:label "amino acid sequence interval" ;
  rdfs:subClassOf chemrof:SequenceInterval , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_sequence_representation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_sequence_representation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:AnionState a owl:Class ;
  rdfs:label "anion state" ;
  rdfs:comment "This mixin is applied on an entity (atom or molecule) that is negatively charged" ;
  skos:altLabel "negatively charged state" ;
  skos:mappingRelation CHEMINF:000403 ;
  rdfs:subClassOf chemrof:Charged , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:Atom a owl:Class ;
  rdfs:label "atom" ;
  rdfs:comment "A chemical entity consisting of exactly one atomic nucleus and the electron(s) orbiting it." ;
  skos:altLabel "atomic species" , "chemical species of an element" ;
  skos:note "Specific form of an element defined as to isotopic composition, electronic or oxidation state, and/or complex or molecular structure https://goldbook.iupac.org/terms/view/CT06859"@chemical species of an element ;
  skos:mappingRelation COB:0000011 , SIO:010044 ;
  rdfs:subClassOf chemrof:ChemicalEntity , [
    a owl:Restriction ;
    owl:onProperty bo:atomicNumber ;
    owl:allValuesFrom xsd:int
  ] , [
    a owl:Restriction ;
    owl:onProperty bo:atomicNumber ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty bo:symbol ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty bo:symbol ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_nuclear_parts ;
    owl:allValuesFrom chemrof:SubatomicParticleOccurrence
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_nuclear_parts ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:FullySpecifiedAtom chemrof:PartiallySpecifiedAtom )
  ] .

chemrof:AtomAnion a owl:Class ;
  rdfs:label "atom anion" ;
  rdfs:comment "A monoatomic ion that is negative" ;
  rdfs:subClassOf chemrof:MonoatomicIon , chemrof:AnionState , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:AtomCation a owl:Class ;
  rdfs:label "atom cation" ;
  rdfs:comment "A monoatomic ion that is positive, e.g Cu(2+)" ;
  skos:example "Helium(2+)" ;
  rdfs:subClassOf chemrof:MonoatomicIon , chemrof:CationState , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:AtomGroupingByPeriodicTableBlock a owl:Class ;
  rdfs:label "atom grouping by periodic table block" ;
  rdfs:comment "Example: group 13 atom" ;
  rdfs:subClassOf chemrof:AtomGroupingByPeriodicTablePlacement , [
    a owl:Restriction ;
    owl:onProperty chemrof:in_periodic_table_block ;
    owl:allValuesFrom chemrof:PeriodicTableBlockEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:in_periodic_table_block ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:AtomGroupingByPeriodicTableGroup a owl:Class ;
  rdfs:label "atom grouping by periodic table group" ;
  rdfs:comment "Example: p-block atom" ;
  rdfs:subClassOf chemrof:AtomGroupingByPeriodicTablePlacement , [
    a owl:Restriction ;
    owl:onProperty chemrof:in_periodic_table_group ;
    owl:allValuesFrom xsd:int
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:in_periodic_table_group ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:AtomGroupingByPeriodicTablePlacement a owl:Class ;
  rdfs:label "atom grouping by periodic table placement" ;
  rdfs:subClassOf chemrof:AtomGroupingClass , [
    a owl:Class ;
    owl:unionOf ( chemrof:AtomGroupingByPeriodicTableBlock chemrof:AtomGroupingByPeriodicTableGroup )
  ] .

chemrof:AtomGroupingByProperty a owl:Class ;
  rdfs:label "atom grouping by property" ;
  rdfs:comment "Example: metal atom" ;
  rdfs:subClassOf chemrof:AtomGroupingClass .

chemrof:AtomGroupingClass a owl:Class ;
  rdfs:label "atom grouping class" ;
  rdfs:comment "A grouping class that classifies atoms. For example, metal atom" ;
  rdfs:subClassOf chemrof:ChemicalGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:subtype_of ;
    owl:allValuesFrom chemrof:MoleculeGroupingClass
  ] .

chemrof:AtomIonicForm a owl:Class ;
  rdfs:label "atom ionic form" ;
  rdfs:comment "an atom type in which only charge state is specified, designated by the element followed by charge" ;
  skos:altLabel "atom ionic species" ;
  skos:example "chloride Cl-" ;
  rdfs:subClassOf chemrof:PartiallySpecifiedAtom , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:MonoatomicIon chemrof:UnchargedAtom )
  ] .

chemrof:AtomOccurrence a owl:Class ;
  rdfs:label "atom occurrence" ;
  rdfs:comment "An occurrence of an atom in the context of a particular molecule. For example, one of two occurrences of oxygen in nitrate" ;
  rdfs:subClassOf chemrof:ChemicalRelationship , owl:Class , [
    a owl:Restriction ;
    owl:onProperty chemrof:coordination_number ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:coordination_number ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:formal_charge ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:formal_charge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:occurrence_of ;
    owl:allValuesFrom chemrof:Atom
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:occurrence_of ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:oxidation_number ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:oxidation_number ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:valence ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:valence ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

gc:Bond a owl:Class ;
  rdfs:label "atomic bond" ;
  rdfs:comment "A connection between two atoms. Note this is the reified form of 'atomically connected to'. " ;
  skos:altLabel "bond" , "chemical bond" ;
  skos:mappingRelation CHEMINF:000063 ;
  rdfs:subClassOf chemrof:ChemicalRelationship , owl:Class , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_angle ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_angle ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_energy ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_energy ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_length ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_length ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_length_in_angstroms ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_length_in_angstroms ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_order ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_order ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_type ;
    owl:allValuesFrom chemrof:BondTypeEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bond_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:object ;
    owl:allValuesFrom chemrof:AtomOccurrence
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:object ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:subject ;
    owl:allValuesFrom chemrof:AtomOccurrence
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:subject ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:torsional_angle ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:torsional_angle ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:CationState a owl:Class ;
  rdfs:label "cation state" ;
  rdfs:comment "This mixin is applied on an entity (atom or molecule) that is positively charged" ;
  skos:altLabel "positively charged state" ;
  skos:mappingRelation CHEMINF:000402 ;
  rdfs:subClassOf chemrof:Charged , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:ChargeState a owl:Class ;
  rdfs:label "charge state" ;
  rdfs:comment "Applies to entities that have a charge state, which may be positive, negative, or neutral" ;
  skos:mappingRelation CHEMINF:000120 ;
  rdfs:subClassOf chemrof:State , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:Charged a owl:Class ;
  rdfs:label "charged" ;
  rdfs:comment "Applies to entities that are charged, either positive or negative" ;
  skos:altLabel "ion" , "ionic state" ;
  rdfs:subClassOf chemrof:ChargeState .

chemrof:ChemicalElement a owl:Class ;
  rdfs:label "chemical element" ;
  rdfs:comment "generic form of an atom, with unspecified neutron or charge" ;
  skos:altLabel "element" , "generic atom" ;
  skos:example "carbon" , "nickel" ;
  rdfs:seeAlso Wikipedia:Chemical_element ;
  skos:exactMatch wd:Q11344 , gc:Element ;
  rdfs:subClassOf chemrof:PartiallySpecifiedAtom , [
    a owl:Restriction ;
    owl:onProperty chemrof:in_periodic_table_group ;
    owl:allValuesFrom xsd:int
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:in_periodic_table_group ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:in_periodic_table_block ;
    owl:allValuesFrom chemrof:PeriodicTableBlockEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:in_periodic_table_block ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_major_microspecies_at_p_h_7_3 ;
    owl:allValuesFrom chemrof:ChemicalElement
  ] , [
    a owl:Restriction ;
    owl:onProperty bo:symbol ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] ;
  owl:hasKey ( bo:atomicNumber ) .

chemrof:ChemicalEntity a owl:Class ;
  rdfs:label "chemical entity" ;
  rdfs:comment "A discrete structure that is one or more atoms that can be described by a chemical formula." ;
  skos:altLabel "specific chemical entity" , "chemical" , "chemical species" ;
  skos:note "Does not encompass chemical grouping classes, such as \"amino acid\". Use the class ChemicalGrouping for this." , "In common chemical usage generic and specific chemical names (such as radical or hydroxide ion) or chemical formulae refer either to a chemical species or to a molecular entity[https://goldbook.iupac.org/terms/view/CT01038]" ;
  skos:mappingRelation CHEBI:24431 , CHEMINF:000000 , OntoRXN:ChemSpecies ;
  skos:exactMatch SIO:010004 , wdeschema:E239 ;
  rdfs:subClassOf chemrof:PhysicochemicalEntity , owl:Class , [
    a owl:Restriction ;
    owl:onProperty CHEMINF:000107 ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CHEMINF:000107 ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:is_radical ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:is_radical ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_chemical_role ;
    owl:allValuesFrom chemrof:ChemicalRole
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_chemical_role ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_string ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_string ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_chemical_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o115 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_chemical_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:smiles_string ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:smiles_string ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:empirical_formula ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:empirical_formula ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_major_microspecies_at_p_h_7_3 ;
    owl:allValuesFrom chemrof:ChemicalEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:molecular_mass ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:molecular_mass ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:water_solubility ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:water_solubility ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:pka_ionization_constant ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:pka_temperature ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:pka_temperature ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:pka_ionic_strength ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:pka_ionic_strength ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:pka_solvent ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:pka_solvent ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:pka_pressure ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:pka_pressure ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] ;
  owl:hasKey ( chemrof:smiles_string ) ;
  rdfs:subClassOf [
    a owl:Class ;
    owl:unionOf ( chemrof:Atom chemrof:PolyatomicEntity )
  ] .

_:o115 xsd:pattern "[A-Z0-9\\.]+" .

chemrof:ChemicalEntityOrGrouping a owl:Class ;
  rdfs:label "chemical entity or grouping" .

chemrof:ChemicalGroup a owl:Class ;
  rdfs:label "chemical group" ;
  skos:altLabel "group" , "FunctionalGroup" , "chemical functional group" ;
  rdfs:subClassOf chemrof:MolecularComponent .

chemrof:ChemicalGroupingByCharge a owl:Class ;
  rdfs:label "chemical grouping by charge" ;
  rdfs:comment "A grouping class that refines a charge-neutral entity" ;
  skos:example "copper cation" ;
  rdfs:subClassOf chemrof:ChemicalGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:subtype_of ;
    owl:allValuesFrom chemrof:MoleculeGroupingClass
  ] .

chemrof:ChemicalGroupingClass a owl:Class ;
  rdfs:label "chemical grouping class" ;
  rdfs:comment "Instances of this class represent generic chemical concepts that can be used to group more specific concepts, or to classify entities. For example \"amino acid\" is a grouping for \"serine\", \"leucine\" etc; ester is a grouping for nitroglycerin; alkane is a grouping for pentane, butane, methane, etc" ;
  rdfs:subClassOf chemrof:PhysicochemicalEntityGroupingClass , owl:Class , [
    a owl:Restriction ;
    owl:onProperty chemrof:smarts_string ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:smarts_string ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:markush_string ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:markush_string ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:subtype_of ;
    owl:allValuesFrom chemrof:ChemicalGroupingClass
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:AtomGroupingClass chemrof:ChemicalGroupingByCharge chemrof:MolecularComponentGroupingClass chemrof:MoleculeGroupingClass )
  ] .

chemrof:ChemicalInformation a owl:Class ;
  rdfs:label "chemical information" ;
  rdfs:subClassOf [
    a owl:Class ;
    owl:unionOf ( chemrof:InchiObject chemrof:PeriodicTablePlacement )
  ] .

chemrof:ChemicalMixture a owl:Class ;
  rdfs:label "chemical mixture" ;
  rdfs:comment "A polyatomic entity that consists of two or more parts that are weakly bound, may be of known or unknown stoichiometry" ;
  skos:exactMatch CHEBI:60004 ;
  rdfs:subClassOf chemrof:PolyatomicEntity , [
    a owl:Class ;
    owl:unionOf ( chemrof:ImpreciseChemicalMixture chemrof:PreciseChemicalMixture )
  ] .

chemrof:ChemicalRelationship a owl:Class ;
  rdfs:label "chemical relationship" ;
  rdfs:comment "A reified relationship" ;
  skos:closeMatch biolink:Association ;
  rdfs:subClassOf owl:Class , [
    a owl:Class ;
    owl:unionOf ( chemrof:AtomOccurrence gc:Bond chemrof:ChemicalSimilarity chemrof:PolymerRepeatUnit chemrof:ProportionalPart chemrof:ReactionParticipant chemrof:SubatomicParticleOccurrence )
  ] .

chemrof:ChemicalRole a owl:Class ;
  rdfs:label "chemical role" ;
  rdfs:comment "A characteristic of a chemical entity that is realized under particular conditions" ;
  skos:altLabel "role" ;
  rdfs:subClassOf owl:Class .

chemrof:ChemicalSalt a owl:Class ;
  rdfs:label "chemical salt" ;
  rdfs:comment "a chemical compound consisting of an ionic assembly of cations and anions." ;
  skos:note "in SIO falls under molecular complex? Also in biolink" ;
  skos:example "CHEBI:29377" , "CHEBI:6802" ;
  rdfs:seeAlso <https://github.com/MaastrichtU-IDS/semanticscience/issues/96> , <https://www.drugs.com/article/pharmaceutical-salts.html> ;
  skos:exactMatch SIO:001422 ;
  rdfs:subClassOf chemrof:PreciseChemicalMixture .

chemrof:ChemicalSaltByAnion a owl:Class ;
  rdfs:label "chemical salt by anion" ;
  rdfs:comment "A grouping class for a chemical salt named by anion" ;
  skos:example "chloride salt" ;
  rdfs:subClassOf chemrof:ChemicalSaltGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_anionic_component ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_anionic_component ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:ChemicalSaltByCation a owl:Class ;
  rdfs:label "chemical salt by cation" ;
  rdfs:comment "A grouping class for a chemical salt named by cation" ;
  skos:example "sodium salt" ;
  rdfs:subClassOf chemrof:ChemicalSaltGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_cationic_component ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_cationic_component ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:ChemicalSaltGroupingClass a owl:Class ;
  rdfs:label "chemical salt grouping class" ;
  rdfs:comment "A grouping class for a chemical salt" ;
  skos:example "sodium chloride" ;
  rdfs:subClassOf chemrof:MoleculeGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_anionic_component ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_anionic_component ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_cationic_component ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_cationic_component ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:ChemicalSimilarity a owl:Class ;
  rdfs:label "similarity" ;
  rdfs:comment "A relationship between two or more chemical entities where there is some degree of similarity between these entities on their similarity" ;
  rdfs:subClassOf chemrof:ChemicalRelationship .

chemrof:ChiralityCenter a owl:Class ;
  rdfs:label "chirality center" ;
  rdfs:comment "a stereocenter consisting of an atom holding a set of ligands (atoms or groups of atoms) in a spatial arrangement which is not superimposable on its mirror image. " ;
  rdfs:subClassOf chemrof:Stereocenter .

chemrof:Collection a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty chemrof:entities ;
    owl:allValuesFrom chemrof:DomainEntity
  ] .

chemrof:Connectivity a owl:Class ;
  rdfs:label "connectivity" ;
  rdfs:comment "Abstract grouping for slots that related chemical entities via a connectivity relationships" ;
  rdfs:subClassOf [
    a owl:Class ;
    owl:unionOf ( chemrof:FullyCovalentlyBonded chemrof:WeaklyBonded )
  ] .

chemrof:Copolymer a owl:Class ;
  rdfs:label "copolymer" ;
  rdfs:comment "a polymer with a more than one type of repeating unit" ;
  skos:altLabel "heteropolymer" ;
  skos:example "PEVA" , "styrene-butadiene rubber" ;
  rdfs:subClassOf chemrof:MonomolecularPolymer .

chemrof:DnaSequenceInterval a owl:Class ;
  rdfs:label "DNA sequence interval" ;
  rdfs:subClassOf chemrof:NucleotideSequenceInterval .

chemrof:DomainEntity a owl:Class ;
  rdfs:label "domain entity" ;
  rdfs:comment "A discrete, specific named entity in the domain of chemistry." ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:PhysicochemicalEntity chemrof:Reaction )
  ] .

chemrof:Enantiomer a owl:Class ;
  rdfs:label "enantiomer" ;
  rdfs:comment "one of two stereoisomers of a chiral molecule that are mirror images. Example: R-thalidomide" ;
  skos:note "key= (enantiomer form of, absolute configuration)" , "key= (enantiomer form of, inchi tetrahedral stereochemical sublayer)" ;
  skos:exactMatch SIO:010777 ;
  rdfs:subClassOf chemrof:Stereoisomer .

chemrof:EntityWithAtomsEnumerated a owl:Class ;
  rdfs:label "entity with atoms enumerated" ;
  rdfs:comment "A mixin for an entity that consists of one or more atoms where the atoms and the number of occurrences is counted (corresponding to the chemical layer in InChI)" ;
  rdfs:subClassOf chemrof:SpecificityMixin , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_chemical_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o165 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_chemical_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o165 xsd:pattern "[A-Z0-9\\.]+" .

chemrof:EntityWithChargeSpecified a owl:Class ;
  rdfs:label "entity with charge specified" ;
  rdfs:comment "A mixin for an entity where the charge is explicitly specified (corresponding to the /q layer in InChI)" ;
  rdfs:subClassOf chemrof:SpecificityMixin , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_charge_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o169 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_charge_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o169 xsd:pattern "q.*.*" .

chemrof:EntityWithConnectivitySpecificied a owl:Class ;
  rdfs:label "entity with connectivity specificied" ;
  rdfs:comment "A mixin for an entity that consists of two or more atom occurrences where the connectivity is specified (corresponding to the /c layer in InChI)" ;
  rdfs:subClassOf chemrof:SpecificityMixin , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_atom_connections_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o173 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_atom_connections_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_hydrogen_connections_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o177 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_hydrogen_connections_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o173 xsd:pattern "c.*.*" .

_:o177 xsd:pattern "h.*.*" .

chemrof:EntityWithIsotopeSpecified a owl:Class ;
  rdfs:label "entity with isotope specified" ;
  rdfs:comment "A mixin for an entity where the charge is explicitly specified (corresponding to the /q layer in InChI)" ;
  rdfs:subClassOf chemrof:SpecificityMixin , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_isotopic_layer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o181 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_isotopic_layer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o181 xsd:pattern "[ih].*.*" .

chemrof:EntityWithStereochemistrySpecified a owl:Class ;
  rdfs:label "entity with stereochemistry specified" ;
  rdfs:comment "A mixin for an entity where the stereochemistry is explicitly specified (corresponding to the /t, m/, and /s layers in InChI)" ;
  rdfs:subClassOf chemrof:SpecificityMixin , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_stereochemical_double_bond_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o185 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_stereochemical_double_bond_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_tetrahedral_stereochemical_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o189 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_tetrahedral_stereochemical_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_stereochemical_type_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o193 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_stereochemical_type_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o185 xsd:pattern "b.*.*" .

_:o189 xsd:pattern "[tm].*.*" .

_:o193 xsd:pattern "s.*.*" .

chemrof:Ester a owl:Class ;
  rdfs:label "ester" ;
  rdfs:comment "An ester is a chemical compound derived from an acid (organic or inorganic) in which at least one –OH hydroxyl group is replaced by an –O– alkyl (alkoxy) group" ;
  skos:example "butyl ethanoate" ;
  rdfs:subClassOf chemrof:Molecule .

chemrof:FullyCovalentlyBonded a owl:Class ;
  rdfs:label "fully covalently bonded" ;
  rdfs:comment "All pairs of atoms in this entity are transitively connected via covalent bonds" ;
  rdfs:subClassOf chemrof:Connectivity .

chemrof:FullySpecifiedAtom a owl:Class ;
  rdfs:label "fully specified atom" ;
  rdfs:comment "An atom type that has atomic number, charge, and neutron number stated (equivalently: protons + mass + charge)" ;
  skos:altLabel "atomic species" , "chemical species of an element" ;
  skos:note "chemical species of an element: Specific form of an element defined as to isotopic composition, electronic or oxidation state, and/or complex or molecular structure https://goldbook.iupac.org/terms/view/CT06859" ;
  skos:example "Helium-4(2+)" ;
  rdfs:subClassOf chemrof:Atom , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:neutron_number ;
    owl:allValuesFrom xsd:int
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:neutron_number ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:FunctionalGroup a owl:Class ;
  rdfs:label "functional group" ;
  rdfs:subClassOf chemrof:MolecularComponent .

chemrof:GeneralAcidBaseGroupingClass a owl:Class ;
  rdfs:label "general acid base grouping class" ;
  rdfs:comment "A molecule grouping class that can groups an acid together with all its conjugate bases. physiological" ;
  skos:example "tricarboxylic acid/tricarboxylic acid anion" ;
  rdfs:subClassOf chemrof:GroupingClassForAcidsOrBases .

chemrof:GeneralizedMolecularStructureClass a owl:Class ;
  rdfs:label "generalized molecular structure class" ;
  rdfs:comment "A molecule grouping class that can be written using a chemical formula using variables (e.g. n), or arithmetic expressions uing variables (e.g. 2n+2), plus optionally constraints on those variables (e.g. n>3). An example is alkane; CnH2n+2, which groups specific molecules such as methane" ;
  skos:example "monosaccharide" ;
  rdfs:subClassOf chemrof:MoleculeGroupingClass .

chemrof:Glycan a owl:Class ;
  rdfs:label "glycan" ;
  rdfs:comment "A macromolecule consisting of a large number of monosaccharides linked glycosidically" ;
  skos:altLabel "polysaccharides" ;
  skos:note "Glycans composed of a single type of monosaccharide residue (homopolysaccharide, synonym homoglycan) are named by replacing the ending '-ose' of the sugar by '-an', e.g. mannans, fructans, xylans, arabinans" ;
  skos:example "https://www.glycoepitope.jp/epitopes/EP0311" ;
  rdfs:subClassOf chemrof:Macromolecule .

chemrof:GroupingClass a owl:Class ;
  rdfs:label "grouping class" ;
  rdfs:comment "Instances of this class represent generic  concepts that can be used to group more specific concepts, or to classify entities" ;
  rdfs:subClassOf owl:Class , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:subtype_of ;
    owl:allValuesFrom chemrof:GroupingClass
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:PhysicochemicalEntityGroupingClass chemrof:ReactionGroupingClass )
  ] .

chemrof:GroupingClassForAcidsOrBases a owl:Class ;
  rdfs:label "grouping class for acids or bases" ;
  rdfs:subClassOf chemrof:MoleculeGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:conjugate_base_of ;
    owl:allValuesFrom chemrof:DomainEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:conjugate_base_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:conjugate_acid_of ;
    owl:allValuesFrom chemrof:DomainEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:conjugate_acid_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:AcidAnionGroupingClass chemrof:AcidBaseConflationClass chemrof:GeneralAcidBaseGroupingClass )
  ] .

chemrof:Homopolymer a owl:Class ;
  rdfs:label "homopolymer" ;
  rdfs:comment "a polymer with a single type of repeating unit" ;
  skos:example "polystyrene" ;
  rdfs:subClassOf chemrof:MonomolecularPolymer , [
    a owl:Restriction ;
    owl:onProperty chemrof:polymer_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:ImpreciseChemicalMixture a owl:Class ;
  rdfs:label "imprecise chemical mixture" ;
  rdfs:comment "A macroscopic polyatomic entity that consists of multiple chemical entities where the stoichiometry is not specified and the spatial arrangement of the ingredients is not defined. Examples include coal, tea tree oil, toothpaste, organometallic compounds, heterogeneous metals" ;
  skos:altLabel "portion of matter" ;
  skos:note "although the stoichiometry is not known rough percentage parts can be provided" ;
  skos:example "toothpaste (sodium fluoride 0.243 w/v%[active] + H2O[inactive] + ... )" ;
  rdfs:seeAlso <https://jcheminf.biomedcentral.com/articles/10.1186/s13321-019-0357-4> ;
  rdfs:subClassOf chemrof:ChemicalMixture , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_proportional_parts ;
    owl:allValuesFrom chemrof:ProportionalPart
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_mixfile_location ;
    owl:allValuesFrom xsd:anyURI
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_mixfile_location ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_minchi_representation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_minchi_representation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:InchiObject a owl:Class ;
  rdfs:label "inchi object" ;
  rdfs:comment "A representation of an InChI string as an object, composed of distinct sublayers" ;
  rdfs:seeAlso <https://doi.org/10.1186/s13321-015-0068-4> ;
  rdfs:subClassOf chemrof:ChemicalInformation .

chemrof:Isobar a owl:Class ;
  rdfs:label "isobar" ;
  rdfs:comment "Isobars are atoms (nuclides) of different chemical elements that have the same number of nucleons." ;
  skos:example "isobar-40" ;
  rdfs:subClassOf chemrof:Nuclide , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_element ;
    owl:allValuesFrom chemrof:ChemicalElement
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_element ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:nucleon_number ;
    owl:allValuesFrom xsd:int
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:nucleon_number ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:isobar_of ;
    owl:allValuesFrom chemrof:ChemicalEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:isobar_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:half_life ;
    owl:allValuesFrom xsd:int
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:half_life ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_product ;
    owl:allValuesFrom chemrof:Isotope
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_product ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_mode ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_mode ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_energy ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_energy ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:mode_of_formation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:mode_of_formation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:IsomeraseReaction a owl:Class ;
  rdfs:label "isomerase reaction" ;
  rdfs:comment "A reaction that converts a molecule from one isomer to another." ;
  skos:note "This class is deprecated. Use the reaction_type slot with value 'isomerization' instead." ;
  owl:deprecated "true" ;
  rdfs:subClassOf chemrof:Reaction .

chemrof:Isotope a owl:Class ;
  rdfs:label "isotope" ;
  rdfs:comment "A specific subtype of an atom with a specified neutron number" ;
  skos:note "Wikidata has isotope as a subclass of nuclide, but nuclide has no instances that are not isotope instances." ;
  skos:example "1H (protium)" , "2H (deuterium)" , "https://en.wikipedia.org/wiki/Carbon-12" , "https://en.wikipedia.org/wiki/Actinium-225" ;
  skos:exactMatch wd:Q25276 ;
  rdfs:subClassOf chemrof:Nuclide , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_element ;
    owl:allValuesFrom chemrof:ChemicalElement
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_element ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:neutron_number ;
    owl:allValuesFrom xsd:int
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:neutron_number ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:isotope_of ;
    owl:allValuesFrom chemrof:Isotope
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:isotope_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:half_life ;
    owl:allValuesFrom xsd:int
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:half_life ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_product ;
    owl:allValuesFrom chemrof:Isotope
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_product ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_mode ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_mode ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_energy ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:decay_energy ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:mode_of_formation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:mode_of_formation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:Location a owl:Class ;
  rdfs:label "location" ;
  rdfs:comment "Abstract grouping for entities that represent abstract or concrete locations of chemical entities or their parts." .

chemrof:Macromolecule a owl:Class ;
  rdfs:label "macromolecule" ;
  rdfs:comment "A large molecule, such as a polymer, lipid, or macrocycle" ;
  skos:note "check on classification of lipids" ;
  skos:exactMatch Wikipedia:Macromolecule ;
  rdfs:subClassOf chemrof:Molecule , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_submolecules ;
    owl:allValuesFrom chemrof:Molecule
  ] .

chemrof:Material a owl:Class ;
  rdfs:label "material" ;
  rdfs:comment "A substance composed of repeated chemical units that has a specific arrangement of atoms or molecules." ;
  skos:editorialNote "this is intentionally placed outside the chemical entity hierarchy as the concept encompasses more than the chemical structure." ;
  rdfs:subClassOf chemrof:PhysicochemicalEntity , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_repeat_unit ;
    owl:allValuesFrom chemrof:ChemicalEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_repeat_unit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:MaterialGroupingClass a owl:Class ;
  rdfs:label "material grouping class" ;
  rdfs:comment "A grouping class that classifies materials" ;
  skos:example "MREO" ;
  rdfs:subClassOf chemrof:PhysicochemicalEntityGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:subtype_of ;
    owl:allValuesFrom chemrof:MaterialGroupingClass
  ] .

chemrof:Mineral a owl:Class ;
  rdfs:label "mineral" ;
  rdfs:subClassOf chemrof:Material .

chemrof:Moiety a owl:Class ;
  rdfs:label "moiety" ;
  rdfs:comment "a named part of a molecule. In some instances moieties may be composed of yet smaller moieties and functional groups" ;
  rdfs:subClassOf chemrof:MolecularComponent .

chemrof:MolecularAnion a owl:Class ;
  rdfs:label "molecular anion" ;
  rdfs:comment "A polyatomic ion that is negative" ;
  rdfs:subClassOf chemrof:PolyatomicIon , chemrof:AnionState .

chemrof:MolecularCation a owl:Class ;
  rdfs:label "molecular cation" ;
  rdfs:comment "A polyatomic ion that is positive" ;
  rdfs:subClassOf chemrof:PolyatomicIon , chemrof:CationState .

chemrof:MolecularComplex a owl:Class ;
  rdfs:label "molecular complex" ;
  rdfs:comment "A molecular complex is a chemical complex composed of at least one weakly interacting molecule.[SIO] Examples: chromosome, double-standed DNA, protein-containing macromolecular complex" ;
  skos:altLabel "poly molecular composite entity" , "complex of molecular entities" , "molecule complex" ;
  skos:note "In bioptop, molecule complex is a sibling of structured biological entity under poly molecular composite entity" , "In SIO, molecular complex is an only child of chemical complex, which is under chemical substance. chemical complex is defined as A chemical complex is a chemical substance composed of a weakly connected molecules and ions in a known stoichiometry." ;
  skos:exactMatch bioptop:MoleculeComplex , SIO:010506 , COB:0000080 ;
  rdfs:subClassOf chemrof:PreciseChemicalMixture .

chemrof:MolecularComponent a owl:Class ;
  rdfs:label "molecular component" ;
  rdfs:comment "A proper part of a molecule that is larger than an atom" ;
  skos:altLabel "molecular part" , "submolecule" ;
  rdfs:subClassOf chemrof:PolyatomicEntity .

chemrof:MolecularComponentGroupingClass a owl:Class ;
  rdfs:label "molecular component grouping class" ;
  rdfs:comment "A grouping class that classifies molecular components. Example: inorganic anion group" ;
  rdfs:subClassOf chemrof:ChemicalGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:subtype_of ;
    owl:allValuesFrom chemrof:MolecularComponentGroupingClass
  ] .

chemrof:MolecularDerivativeGroupingClass a owl:Class ;
  rdfs:label "molecular derivative grouping class" ;
  rdfs:comment "A grouping class defined as a derivative of another molecule or molecular grouping class" ;
  skos:example "oxoacid derivative" , "D-ornithine derivative" ;
  rdfs:subClassOf chemrof:MoleculeGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:derivative_of ;
    owl:allValuesFrom chemrof:DomainEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:MolecularSpecies a owl:Class ;
  rdfs:label "molecular species" ;
  rdfs:comment "A molecule in which the units are identical. Example: methyl" ;
  rdfs:subClassOf chemrof:Molecule .

chemrof:MolecularSubsequence a owl:Class ;
  rdfs:label "molecular subsequence" ;
  rdfs:subClassOf chemrof:PolymerPart .

chemrof:Molecule a owl:Class ;
  rdfs:label "molecule" ;
  rdfs:comment "A chemical entity that consists of two or more atoms where all atoms are connected via covalent bonds." ;
  skos:altLabel "molecular entity" , "monomolecular entity" ;
  skos:example "dioxygen" , "cysteine" , "phosphene" ;
  skos:mappingRelation COB:0000013 ;
  skos:exactMatch SIO:011125 , bioptop:MonoMolecularEntity , gc:Molecule ;
  rdfs:subClassOf chemrof:PolyatomicEntity , chemrof:FullyCovalentlyBonded , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_atom_occurrences ;
    owl:allValuesFrom chemrof:AtomOccurrence
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_atom_occurrences ;
    owl:minCardinality "2"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_bonds ;
    owl:allValuesFrom gc:Bond
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_submolecules ;
    owl:allValuesFrom chemrof:Molecule
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_atoms ;
    owl:allValuesFrom chemrof:Atom
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:is_organic ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:is_organic ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:MoleculeByChargeState a owl:Class ;
  rdfs:label "molecule by charge state" ;
  rdfs:comment "A molecule that has a charge state specified" ;
  skos:altLabel "chargeomer" ;
  rdfs:subClassOf chemrof:Molecule , [
    a owl:Restriction ;
    owl:onProperty chemrof:bronsted_acid_base_role ;
    owl:allValuesFrom chemrof:BronstedAcidBaseRoleEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:bronsted_acid_base_role ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:NetUnchargedMolecule chemrof:PolyatomicIon )
  ] .

chemrof:MoleculeGroupingClass a owl:Class ;
  rdfs:label "molecule grouping class" ;
  rdfs:comment "A grouping class that classifies molecules. Example: carbohydrate, monosaccharide, amino acid, polyacrylamide" ;
  skos:note "Unlike an actual molecule, a molecule grouping class will not have an inchi or properties such as mass" , "Molecular grouping classes are typically defined by elemental composition and structure as well as chemical properties" ;
  skos:example "nucleobase" ;
  rdfs:subClassOf chemrof:ChemicalGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:subtype_of ;
    owl:allValuesFrom chemrof:MoleculeGroupingClass
  ] .

chemrof:MoleculeGroupingClassDefinedByAdditionOfAGroup a owl:Class ;
  rdfs:label "molecule grouping class defined by addition of a group" ;
  rdfs:comment "A grouping class defined in terms of a derivative of a molecule and the addition of a group" ;
  skos:example "acetyl xylan" ;
  rdfs:subClassOf chemrof:MoleculeGroupingClass .

chemrof:MoleculeGroupingClassDefinedByComponents a owl:Class ;
  rdfs:label "molecule grouping class defined by components" ;
  rdfs:comment "A grouping class defined as an exhaustive list of components" ;
  skos:example "nucleoside" , "nucleotide" ;
  rdfs:subClassOf chemrof:MoleculeGroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_part ;
    owl:allValuesFrom chemrof:ChemicalEntityOrGrouping
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_part ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:MoleculePairwiseSimilarity a owl:Class ;
  rdfs:label "molecule pairwise similarity" ;
  rdfs:seeAlso Wikipedia:Chemical_similarity ;
  rdfs:subClassOf chemrof:ChemicalSimilarity .

chemrof:MonoatomicIon a owl:Class ;
  rdfs:label "monoatomic ion" ;
  rdfs:comment "An atom type that has a charge" ;
  skos:altLabel "charged atom" ;
  skos:note "this is mass-number neutral, so there can be no mass associated with a monatomic ion instance" ;
  skos:mappingRelation COB:0000042 , CHEBI:24867 ;
  rdfs:subClassOf chemrof:AtomIonicForm , chemrof:Charged , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_element ;
    owl:allValuesFrom chemrof:ChemicalElement
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_element ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:Monomer a owl:Class ;
  rdfs:label "monomer" ;
  skos:altLabel "momomer species" ;
  rdfs:subClassOf chemrof:PolymerPart .

chemrof:MonomericPolymericGroupingClass a owl:Class ;
  rdfs:label "monomeric polymeric grouping class" ;
  skos:example "polynucleotide" ;
  rdfs:subClassOf chemrof:GeneralizedMolecularStructureClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_repeat_unit ;
    owl:allValuesFrom chemrof:ChemicalEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_repeat_unit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:MonomolecularPolymer a owl:Class ;
  rdfs:label "monomolecular polymer" ;
  rdfs:comment "A macromolecule composed of repeating subunits. Examples: cellulose" ;
  skos:altLabel "polymer" , "oligo or polymer" ;
  skos:exactMatch wd:Q81163 ;
  rdfs:subClassOf chemrof:Macromolecule , [
    a owl:Restriction ;
    owl:onProperty chemrof:polymer_of ;
    owl:allValuesFrom chemrof:Macromolecule
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:polymer_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_repeat_unit ;
    owl:allValuesFrom chemrof:ChemicalEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_repeat_unit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:is_branched ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:is_branched ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:polymer_architecture_type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:polymer_architecture_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:Nanomaterial a owl:Class ;
  rdfs:label "nanomaterial" ;
  rdfs:comment "A material of which a single unit is sized (in at least one dimension) between 1 and 100 nm" ;
  skos:example "Zinc oxide (ZnO) nanorod" , "platinum copper nanoparticle" ;
  dcterms:source Wikipedia:Nanomaterials ;
  rdfs:subClassOf chemrof:Material .

chemrof:NaturalProduct a owl:Class ;
  rdfs:label "natural product" ;
  skos:exactMatch wdeschema:E240 ;
  rdfs:subClassOf chemrof:Molecule , [
    a owl:Restriction ;
    owl:onProperty chemrof:derived_from_organisms ;
    owl:allValuesFrom owl:Thing
  ] .

chemrof:NetUnchargedMolecule a owl:Class ;
  rdfs:label "uncharged molecule" ;
  rdfs:comment "A molecule that has no net charge" ;
  rdfs:subClassOf chemrof:MoleculeByChargeState , chemrof:Uncharged .

chemrof:NeutralMolecule a owl:Class ;
  rdfs:label "neutral molecule" ;
  rdfs:comment "A molecule that has no net charge and is not a zwitterion" ;
  rdfs:subClassOf chemrof:NetUnchargedMolecule .

chemrof:NonSpeciesMolecule a owl:Class ;
  rdfs:label "non species molecule" ;
  rdfs:comment "A molecule in which the units are not identical. TODO: move this higher" ;
  rdfs:subClassOf chemrof:Molecule .

chemrof:NucleotideSequenceInterval a owl:Class ;
  rdfs:label "nucleotide sequence interval" ;
  rdfs:subClassOf chemrof:SequenceInterval , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_sequence_representation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_sequence_representation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:Nuclide a owl:Class ;
  rdfs:label "nuclide" ;
  rdfs:comment "an atomic species characterized by the specific constitution of its nucleus" ;
  skos:altLabel "nucleide" , "nuclear species" ;
  skos:example "https://en.wikipedia.org/wiki/Isotopes_of_tantalum#Tantalum-180m" ;
  rdfs:subClassOf chemrof:PartiallySpecifiedAtom , [
    a owl:Restriction ;
    owl:onProperty chemrof:energy_level ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:energy_level ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

owl:Class rdfs:label "owl class" ;
  rdfs:comment "instances of this class mixin are OWL Classes" ;
  skos:altLabel "species" , "metaclass" , "second order class" ;
  skos:exactMatch wd:Q24017414 ;
  skos:closeMatch skos:Concept ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty chemrof:owl_subclass_of ;
    owl:allValuesFrom owl:Class
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:owl_subclass_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:PartiallySpecifiedAtom a owl:Class ;
  rdfs:label "partially specified atom" ;
  rdfs:comment "An atom type that only has a subset of properties (has atomic number, charge, and neutron number) stated" ;
  rdfs:subClassOf chemrof:Atom , [
    a owl:Class ;
    owl:unionOf ( chemrof:AtomIonicForm chemrof:ChemicalElement chemrof:Nuclide )
  ] .

chemrof:Peptide a owl:Class ;
  rdfs:label "peptide" ;
  rdfs:subClassOf chemrof:Macromolecule .

chemrof:PeriodicTablePlacement a owl:Class ;
  rdfs:label "periodic table placement" ;
  rdfs:subClassOf chemrof:ChemicalInformation .

chemrof:PhysicochemicalEntity a owl:Class ;
  rdfs:label "physicochemical entity" ;
  rdfs:comment "A discrete chemical structure, material structure, or subatomic particle type" ;
  rdfs:subClassOf chemrof:DomainEntity , [
    a owl:Class ;
    owl:unionOf ( chemrof:ChemicalEntity chemrof:Material chemrof:SubatomicParticle )
  ] .

chemrof:PhysicochemicalEntityGroupingClass a owl:Class ;
  rdfs:label "physicochemical entity grouping class" ;
  rdfs:subClassOf chemrof:GroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:subtype_of ;
    owl:allValuesFrom chemrof:PhysicochemicalEntityGroupingClass
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:ChemicalGroupingClass chemrof:MaterialGroupingClass )
  ] .

chemrof:PolyatomicEntity a owl:Class ;
  rdfs:label "polyatomic entity" ;
  rdfs:comment "Any chemical entity consisting of more than one atom." ;
  rdfs:subClassOf chemrof:ChemicalEntity , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_atom_connections_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o291 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_atom_connections_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:ChemicalMixture chemrof:MolecularComponent chemrof:Molecule )
  ] .

_:o291 xsd:pattern "c.*.*" .

chemrof:PolyatomicIon a owl:Class ;
  rdfs:label "polyatomic ion" ;
  rdfs:comment "A molecule that has a net charge. For example, nitrate is a molecular and ionic species; its formula is (NO3-)." ;
  skos:altLabel "polyatomic ion species" ;
  rdfs:subClassOf chemrof:MoleculeByChargeState , chemrof:Charged , [
    a owl:Restriction ;
    owl:onProperty chemrof:conjugate_base_of ;
    owl:allValuesFrom chemrof:DomainEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:conjugate_base_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:conjugate_acid_of ;
    owl:allValuesFrom chemrof:DomainEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:conjugate_acid_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:PolymerPart a owl:Class ;
  rdfs:label "polymer part" ;
  rdfs:subClassOf chemrof:MolecularComponent .

chemrof:PolymerRepeatUnit a owl:Class ;
  rdfs:label "polymer repeat unit" ;
  rdfs:comment "An abstract part of a polymer that is all instances of a repeated monomer of a single type" ;
  rdfs:seeAlso Wikipedia:Repeat_unit ;
  rdfs:subClassOf chemrof:ChemicalRelationship .

chemrof:PreciseChemicalMixture a owl:Class ;
  rdfs:label "precise chemical mixture" ;
  rdfs:comment "A polyatomic entity that consists of two or more parts that are weakly bound, and of known stoichiometry" ;
  skos:altLabel "chemical substance (SIO)" ;
  skos:exactMatch SIO:011126 ;
  rdfs:subClassOf chemrof:ChemicalMixture , chemrof:WeaklyBonded , [
    a owl:Class ;
    owl:unionOf ( chemrof:ChemicalSalt chemrof:MolecularComplex chemrof:RacemicMixture )
  ] .

chemrof:ProportionalPart a owl:Class ;
  rdfs:label "proportional part" ;
  rdfs:comment "A part of a complex mixture that is of uniform composition" ;
  rdfs:subClassOf chemrof:ChemicalRelationship .

chemrof:Protein a owl:Class ;
  rdfs:label "protein" ;
  rdfs:comment "A macromolecule composed of one or more polypeptide chains of amino acids that fold into a specific three-dimensional structure and perform biological functions" ;
  rdfs:subClassOf chemrof:Macromolecule .

chemrof:RnaSequenceInterval a owl:Class ;
  rdfs:label "RNA sequence interval" ;
  rdfs:subClassOf chemrof:NucleotideSequenceInterval .

chemrof:RacemicMixture a owl:Class ;
  rdfs:label "racemic mixture" ;
  rdfs:comment "a chemical compound that has equal amounts of left- and right-handed enantiomers of a chiral molecule. An example is Thalidomide" ;
  skos:altLabel "racemate" , "racemic mixture of enantiomers" ;
  skos:example "thalidomide" ;
  rdfs:seeAlso <https://github.com/ebi-chebi/ChEBI/issues/3245> ;
  skos:exactMatch CHEBI:60911 , NCIT:C103198 , wdeschema:E47 , wd:Q467717 , goldbook:R05025 ;
  rdfs:subClassOf chemrof:PreciseChemicalMixture , [
    a owl:Restriction ;
    owl:onProperty CHEMINF:000107 ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:Radionuclide a owl:Class ;
  rdfs:label "radionuclide" ;
  rdfs:comment "an atom that has excess nuclear energy, making it unstable" ;
  skos:altLabel "radioactive nuclide" , "radioactive isotope" ;
  skos:example "radioactive isotope" ;
  rdfs:subClassOf chemrof:Nuclide .

chemrof:Reaction a owl:Class ;
  rdfs:label "reaction" ;
  rdfs:comment "Reaction" ;
  rdfs:subClassOf chemrof:DomainEntity , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_rinchi_representation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_rinchi_representation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_reaction_smiles_representation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_reaction_smiles_representation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:reaction_rate_coefficient ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:reaction_rate_coefficient ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:reaction_rate ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:reaction_rate ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:reaction_type ;
    owl:allValuesFrom chemrof:ReactionTypeEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:reaction_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:ReactionGroupingClass a owl:Class ;
  rdfs:label "reaction grouping class" ;
  rdfs:comment "A grouping class for reactions, for example, dehalogenase; breaking of covalent bond" ;
  rdfs:subClassOf chemrof:GroupingClass , [
    a owl:Restriction ;
    owl:onProperty chemrof:subtype_of ;
    owl:allValuesFrom chemrof:ReactionGroupingClass
  ] .

chemrof:ReactionParticipant a owl:Class ;
  rdfs:label "reaction participant" ;
  rdfs:comment "Instances of this link a reaction to a chemical entity participant" ;
  rdfs:subClassOf chemrof:ChemicalRelationship .

chemrof:SequenceInterval a owl:Class ;
  rdfs:label "sequence interval" ;
  rdfs:comment "a chain of connected monomers in a linear polymer - for example, a sub-region of an amino acid or nucleotide sequence." ;
  skos:note "- includes an interval corresponding to the whole molecule as an edge case" ;
  rdfs:subClassOf chemrof:MolecularComponent , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_sequence_representation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_sequence_representation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Class ;
    owl:unionOf ( chemrof:AminoAcidSequenceInterval chemrof:NucleotideSequenceInterval )
  ] .

chemrof:SmallMolecule a owl:Class ;
  rdfs:label "small molecule" ;
  rdfs:comment "A molecule characterized by availability in small-molecule databases" ;
  rdfs:subClassOf chemrof:Molecule .

chemrof:SpecificityMixin a owl:Class ;
  rdfs:label "specificity mixin" ;
  rdfs:subClassOf [
    a owl:Class ;
    owl:unionOf ( chemrof:EntityWithAtomsEnumerated chemrof:EntityWithChargeSpecified chemrof:EntityWithConnectivitySpecificied chemrof:EntityWithIsotopeSpecified chemrof:EntityWithStereochemistrySpecified )
  ] .

chemrof:StandardInchiObject a owl:Class ;
  rdfs:label "standard inchi object" ;
  rdfs:seeAlso Wikipedia:International_Chemical_Identifier ;
  rdfs:subClassOf chemrof:InchiObject , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_version_string ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o317 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_version_string ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_chemical_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o321 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_chemical_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_atom_connections_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o325 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_atom_connections_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_hydrogen_connections_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o329 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_hydrogen_connections_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_charge_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o333 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_charge_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_proton_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o337 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_proton_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_stereochemical_double_bond_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o341 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_stereochemical_double_bond_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_tetrahedral_stereochemical_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o345 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_tetrahedral_stereochemical_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_stereochemical_type_sublayer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o349 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_stereochemical_type_sublayer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_isotopic_layer ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o353 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:inchi_isotopic_layer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o317 xsd:pattern "1S" .

_:o321 xsd:pattern "[A-Z0-9\\.]+" .

_:o325 xsd:pattern "c.*.*" .

_:o329 xsd:pattern "h.*.*" .

_:o333 xsd:pattern "q.*.*" .

_:o337 xsd:pattern "p[\\-]\\d+.*" .

_:o341 xsd:pattern "b.*.*" .

_:o345 xsd:pattern "[tm].*.*" .

_:o349 xsd:pattern "s.*.*" .

_:o353 xsd:pattern "[ih].*.*" .

chemrof:State a owl:Class ;
  rdfs:label "state" .

chemrof:Stereocenter a owl:Class ;
  rdfs:label "stereocenter" ;
  rdfs:comment "a geometric point in a molecule in which the interchanging of two substituents creates a stereoisomer." ;
  skos:altLabel "stereogenic center" ;
  dcterms:source Wikipedia:Stereocenter ;
  rdfs:subClassOf chemrof:Location .

chemrof:Stereoisomer a owl:Class ;
  rdfs:label "stereoisomer" ;
  skos:exactMatch SIO:010775 , wdeschema:E241 ;
  rdfs:subClassOf chemrof:Molecule .

chemrof:SubatomicParticle a owl:Class ;
  rdfs:label "subatomic particle" ;
  rdfs:comment "A chemical entity below the granularity of an atom." ;
  skos:mappingRelation COB:0000007 , CHEBI:36342 ;
  rdfs:subClassOf chemrof:PhysicochemicalEntity , [
    a owl:Restriction ;
    owl:onProperty chemrof:subatomic_particle_type ;
    owl:allValuesFrom chemrof:SubatomicParticleEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:subatomic_particle_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:SubatomicParticleOccurrence a owl:Class ;
  rdfs:label "subatomic particle occurrence" ;
  rdfs:subClassOf chemrof:ChemicalRelationship , owl:Class , [
    a owl:Restriction ;
    owl:onProperty chemrof:count ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:count ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:occurrence_of ;
    owl:allValuesFrom chemrof:SubatomicParticle
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:occurrence_of ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:SupramolecularPolymer a owl:Class ;
  rdfs:label "supramolecular polymer" ;
  rdfs:comment "polymeric arrays of monomeric units that are connected by reversible and highly directional secondary interactions–that is, non-covalent bonds" ;
  skos:exactMatch Wikipedia:Supramolecular_polymer ;
  rdfs:subClassOf chemrof:MolecularComplex , [
    a owl:Restriction ;
    owl:onProperty chemrof:polymer_of ;
    owl:allValuesFrom chemrof:Macromolecule
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:polymer_of ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_repeat_unit ;
    owl:allValuesFrom chemrof:ChemicalEntity
  ] , [
    a owl:Restriction ;
    owl:onProperty chemrof:has_repeat_unit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:TanimotoSimilarity a owl:Class ;
  rdfs:label "tanimoto similarity" ;
  skos:altLabel "Jaccard similarity" , "Tanimoto coefficient" ;
  rdfs:subClassOf chemrof:MoleculePairwiseSimilarity .

chemrof:Uncharged a owl:Class ;
  rdfs:label "uncharged" ;
  rdfs:comment "Applies to entities that are uncharged, i.e. have an elemental charge of zero" ;
  skos:altLabel "neutral charge" ;
  skos:mappingRelation CHEMINF:000401 ;
  rdfs:subClassOf chemrof:ChargeState , [
    a owl:Restriction ;
    owl:onProperty chemrof:elemental_charge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

chemrof:UnchargedAtom a owl:Class ;
  rdfs:label "uncharged atom" ;
  rdfs:comment "An atom type that has no charge" ;
  skos:mappingRelation COB:0000043 ;
  rdfs:subClassOf chemrof:AtomIonicForm , chemrof:Uncharged .

chemrof:WeaklyBonded a owl:Class ;
  rdfs:label "weakly bonded" ;
  rdfs:comment "Not covalently bonded" ;
  rdfs:subClassOf chemrof:Connectivity .

chemrof:Zwitterion a owl:Class ;
  rdfs:label "zwitterion" ;
  rdfs:comment "A molecule that has both a positive and negative charges but is net neutral" ;
  rdfs:subClassOf chemrof:NetUnchargedMolecule .

chemrof:aze_notation_html a owl:DatatypeProperty ;
  rdfs:label "AZE notation html" ;
  rdfs:comment "E.g. <super>12</super>/<sub>6</sub>C" ;
  rdfs:subPropertyOf chemrof:chemical_representation ;
  a owl:FunctionalProperty .

CHEMINF:000107 a owl:DatatypeProperty ;
  rdfs:label "IUPAC name" ;
  skos:exactMatch MI:2007 ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf chemrof:information_property ;
  a owl:FunctionalProperty .

chemrof:absolute_configuration a owl:DatatypeProperty ;
  rdfs:label "absolute configuration" ;
  rdfs:seeAlso <https://en.wikipedia.org/wiki/Cahn%E2%80%93Ingold%E2%80%93Prelog_priority_rules> ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:acid_form_of a owl:ObjectProperty ;
  rdfs:label "acid form of" ;
  rdfs:comment "connects an acid to any of the the base anions. E.g. citric acid acid form of citrate(1-),citrate(2-),citrate(3-)" ;
  skos:altLabel "protonated form of" ;
  rdfs:range chemrof:ChemicalEntity ;
  rdfs:domain chemrof:ChemicalEntity ;
  rdfs:subPropertyOf chemrof:conjugate_acid_of .

chemrof:acidity a owl:DatatypeProperty ;
  rdfs:label "acidity" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:allotropic_analog_of a owl:ObjectProperty ;
  rdfs:label "allotropic analog of" ;
  rdfs:comment "relationship that holds between two allotropes, where both allotropes are allotropes of the same element" ;
  rdfs:range chemrof:Allotrope ;
  rdfs:domain chemrof:Allotrope ;
  rdfs:subPropertyOf chemrof:alternate_form_of ;
  a owl:FunctionalProperty .

chemrof:alternate_form_of a owl:ObjectProperty ;
  rdfs:label "alternate form of" ;
  rdfs:comment "A relationship between two entities of the same type" ;
  rdfs:range chemrof:ChemicalEntity ;
  rdfs:domain chemrof:ChemicalEntity ;
  rdfs:subPropertyOf chemrof:chemical_to_chemical_relationship .

bo:atomicNumber a owl:DatatypeProperty ;
  rdfs:label "atomic number" ;
  rdfs:comment "number of protons in an atom" ;
  skos:altLabel "proton number" , "Z" ;
  skos:mappingRelation CHEMINF:000079 ;
  skos:exactMatch wd:P1086 ;
  rdfs:range xsd:int ;
  rdfs:domain chemrof:Atom ;
  rdfs:subPropertyOf chemrof:subatomic_particle_count ;
  a owl:FunctionalProperty .

chemrof:atomically_connected_to a owl:ObjectProperty ;
  rdfs:label "atomically connected to" ;
  rdfs:range chemrof:AtomOccurrence ;
  rdfs:domain chemrof:AtomOccurrence .

chemrof:boiling_point_in_celcius a owl:DatatypeProperty ;
  rdfs:label "boiling point in celcius" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:bond_angle a owl:DatatypeProperty ;
  rdfs:label "bond angle" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:bond_length_in_angstroms a owl:DatatypeProperty ;
  rdfs:label "bond length in angstroms" ;
  rdfs:comment "the average distance between nuclei of two bonded atoms in a molecule. It is a transferable property of a bond between atoms of fixed types, relatively independent of the rest of the molecule." ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:bond_type a owl:ObjectProperty ;
  rdfs:label "bond type" ;
  rdfs:range chemrof:BondTypeEnum ;
  a owl:FunctionalProperty .

chemrof:bronsted_acid_base_role a owl:ObjectProperty ;
  rdfs:label "bronsted acid base role" ;
  rdfs:range chemrof:BronstedAcidBaseRoleEnum ;
  a owl:FunctionalProperty .

chemrof:canonical_smiles_string a owl:DatatypeProperty ;
  rdfs:label "canonical smiles string" ;
  rdfs:comment "A deterministic SMILES string. Note there is no unique system for canonical smiles strings" ;
  rdfs:subPropertyOf chemrof:smiles_string ;
  a owl:FunctionalProperty .

chemrof:carbbank_representation a owl:DatatypeProperty ;
  rdfs:label "carbbank representation" ;
  rdfs:comment "The carbohydrate structure format used by the Complex Carbohydrate Structure Database (CCSD) originally developed at the University of Georgia. This is a 2D structure where bars and hyphens are used to indicate linkages, and monosaccharides are specified in the following order, separated by hyphens: anomer - configuration symbol - monosaccharide abbreviation." ;
  rdfs:subPropertyOf chemrof:carboydrate_representation ;
  a owl:FunctionalProperty .

chemrof:carboydrate_representation a owl:DatatypeProperty ;
  rdfs:label "carboydrate representation" ;
  rdfs:subPropertyOf chemrof:chemical_representation ;
  a owl:FunctionalProperty .

chemrof:charge a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:charge_agnostic_entity a owl:ObjectProperty ;
  rdfs:label "charge agnostic entity" ;
  rdfs:range chemrof:ChemicalEntity ;
  a owl:FunctionalProperty .

chemrof:chebi_formula a owl:DatatypeProperty ;
  rdfs:comment "A CHEBI formular combines aspects of molecular and generalized molecular formulae, and may also be an atom symbol" ;
  rdfs:seeAlso <https://docs.google.com/document/d/1_w-DwBdCCOh1gMeeP6yqGzcnkpbHYOa3AGSODe5epcg/edit#heading=h.fblha9sgxp10> ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:chemical_formula a owl:DatatypeProperty ;
  rdfs:label "chemical formula" ;
  rdfs:comment "A generic grouping for molecular formulae and empirical formulae" ;
  skos:mappingRelation schema:hasRepresentation , edam:data_0846 ;
  rdfs:range xsd:string ;
  rdfs:domain chemrof:ChemicalEntity ;
  rdfs:subPropertyOf chemrof:chemical_representation ;
  a owl:FunctionalProperty .

chemrof:chemical_isomer_of a owl:ObjectProperty ;
  rdfs:label "chemical isomer of" ;
  rdfs:comment "a relationship that holds between two forms of a parent molecule with identical chemical formulas but distinct arrangements of atoms in space" ;
  skos:altLabel "isomer of" ;
  rdfs:seeAlso Wikipedia:Isomer ;
  rdfs:range chemrof:Molecule ;
  rdfs:domain chemrof:Molecule ;
  rdfs:subPropertyOf chemrof:alternate_form_of .

chemrof:chemical_property a owl:DatatypeProperty ;
  rdfs:label "chemical property" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:chemical_representation a owl:DatatypeProperty ;
  rdfs:label "chemical representation" ;
  skos:altLabel "has chemical encoding" ;
  rdfs:range xsd:string ;
  rdfs:domain chemrof:ChemicalEntity ;
  rdfs:subPropertyOf chemrof:information_property ;
  a owl:FunctionalProperty .

chemrof:chemical_to_chemical_relationship a owl:DatatypeProperty ;
  rdfs:label "chemical to chemical relationship" ;
  rdfs:range xsd:string .

chemrof:chirality_agnostic_form a owl:ObjectProperty ;
  rdfs:label "chirality agnostic form" ;
  rdfs:range chemrof:Molecule ;
  a owl:FunctionalProperty .

chemrof:classification_relationship a owl:DatatypeProperty ;
  rdfs:label "classification relationship" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:classified_by a owl:ObjectProperty ;
  rdfs:label "classified by" ;
  rdfs:comment "A subtype_of relationship holds between I and C if I is a specific entity of type C. Here I and C denotes instances of OWL classes, where I is a specific class and C is a grouping class" ;
  skos:exactMatch rdf:type ;
  rdfs:range owl:Class ;
  rdfs:domain owl:Class ;
  rdfs:subPropertyOf chemrof:chemical_to_chemical_relationship , chemrof:owl_subclass_of ;
  a owl:FunctionalProperty ;
  owl:inverseOf chemrof:classifies .

chemrof:classifies a owl:DatatypeProperty ;
  rdfs:label "classifies" ;
  rdfs:subPropertyOf chemrof:chemical_to_chemical_relationship ;
  a owl:FunctionalProperty .

chemrof:composed_of a owl:ObjectProperty ;
  rdfs:label "composed of" ;
  rdfs:range chemrof:ChemicalEntity ;
  a owl:FunctionalProperty .

chemrof:conjugate_acid_of a owl:ObjectProperty ;
  rdfs:label "conjugate acid of" ;
  skos:altLabel "is conjugate acid of (chebi)" ;
  rdfs:seeAlso <https://academic.oup.com/nar/article/36/suppl_1/D344/2506390> ;
  rdfs:subPropertyOf chemrof:direct_conjugatated_form_of , chemrof:has_higher_charge_from ;
  owl:inverseOf chemrof:conjugate_base_of ;
  a owl:FunctionalProperty .

chemrof:conjugate_base_of a owl:ObjectProperty ;
  rdfs:label "conjugate base of" ;
  rdfs:comment "connects the base form of an acid to an acid. Also connects the different charge states of the base. Example: the different charge states of lactate (CHEBI:24996) conjugate base of lactic acid (CHEBI:28358)" ;
  skos:altLabel "is conjugate base of (chebi)" ;
  skos:editorialNote "sometimes chebi hops over a state skipping an intermediate" ;
  rdfs:seeAlso <https://academic.oup.com/nar/article/36/suppl_1/D344/2506390> ;
  rdfs:subPropertyOf chemrof:direct_conjugatated_form_of , chemrof:has_lower_charge_from ;
  a owl:FunctionalProperty .

chemrof:coordination_number a owl:DatatypeProperty ;
  rdfs:label "coordination number" ;
  rdfs:comment "The number of atoms bonded to the atom of interest. [https://doi.org/10.1021%2Fed083p791]" ;
  skos:altLabel "coordination" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

chemrof:curly_smiles_string a owl:DatatypeProperty ;
  rdfs:label "curly smiles string" ;
  rdfs:comment "CurlySMILES is a chemical line notation which extends SMILES with annotations for storage, retrieval and modeling of interlinked, coordinated, assembled and adsorbed molecules in supramolecular structures and nanodevices. https://jcheminf.biomedcentral.com/articles/10.1186/1758-2946-3-1" ;
  skos:altLabel "CurlySMILES" ;
  rdfs:seeAlso <http://www.axeleratio.com/csm/proj/main.htm> ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:decay_energy a owl:DatatypeProperty ;
  rdfs:label "decay energy" ;
  rdfs:domain chemrof:Isotope ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:decay_mode a owl:DatatypeProperty ;
  rdfs:label "decay mode" ;
  rdfs:range xsd:string ;
  rdfs:domain chemrof:Isotope ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:decay_product a owl:ObjectProperty ;
  rdfs:label "decay product" ;
  rdfs:range chemrof:Isotope ;
  rdfs:domain chemrof:Isotope ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:degree_of_polymerization a owl:DatatypeProperty ;
  rdfs:label "degree of polymerization" ;
  rdfs:seeAlso Wikipedia:Degree_of_polymerization ;
  rdfs:range xsd:int ;
  a owl:FunctionalProperty .

chemrof:derivative_of a owl:ObjectProperty ;
  rdfs:label "derivative of" ;
  rdfs:range chemrof:DomainEntity ;
  rdfs:subPropertyOf chemrof:alternate_form_of ;
  owl:inverseOf chemrof:has_derivative .

chemrof:description a owl:DatatypeProperty ;
  rdfs:label "description" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:diastereoisomers_of a owl:ObjectProperty ;
  rdfs:label "diastereoisomers of" ;
  rdfs:comment "A stereoisomer non-mirror image non-identical stereoisomers" ;
  skos:altLabel "diastereomers of" ;
  skos:note "Diastereomers differ from enantiomers in that the latter are pairs of stereoisomers that differ in all stereocenters and are therefore mirror images of one another" ;
  rdfs:subPropertyOf chemrof:stereoisomer_of ;
  a owl:FunctionalProperty .

chemrof:direct_conjugatated_form_of a owl:ObjectProperty ;
  rdfs:label "direct conjugatated form of" ;
  rdfs:subPropertyOf chemrof:derivative_of ;
  a owl:SymmetricProperty , owl:FunctionalProperty .

chemrof:direction a owl:DatatypeProperty ;
  rdfs:label "direction" ;
  rdfs:comment "One of l->r, r->l, bidirectional, neutral" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:electron_configuration a owl:DatatypeProperty ;
  rdfs:label "electron configuration" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:elemental_charge a owl:DatatypeProperty ;
  rdfs:label "elemental charge" ;
  rdfs:comment "number of protons minus number of electrons" ;
  skos:mappingRelation CHEMINF:000120 ;
  rdfs:range xsd:integer ;
  rdfs:domain chemrof:ChemicalEntity ;
  rdfs:subPropertyOf chemrof:property_of_atom ;
  a owl:FunctionalProperty .

chemrof:empirical_formula a owl:DatatypeProperty ;
  rdfs:label "empirical formula" ;
  rdfs:comment "A chemical formula where numbers denote relative proportion of atoms. E.g. CH2O for glucose" ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:enantiomer_form_of a owl:ObjectProperty ;
  rdfs:label "enantiomer form of" ;
  rdfs:comment "Example:  R-thalidomide is the enantiomer form of 2-(2,6-dioxopiperidin-3-yl)-1H-isoindole-1,3(2H)-dione" ;
  rdfs:range chemrof:Molecule ;
  rdfs:subPropertyOf chemrof:owl_subclass_of ;
  a owl:FunctionalProperty .

chemrof:enantiomer_of a owl:ObjectProperty ;
  rdfs:label "enantiomer of" ;
  rdfs:comment "a stereoisomer relationship where the two forms are mirror images of one another" ;
  skos:altLabel "enantiomorph of" ;
  rdfs:subPropertyOf chemrof:stereoisomer_of .

chemrof:energy_level a owl:DatatypeProperty ;
  rdfs:label "energy level" ;
  rdfs:comment "e.g. ground, stable" ;
  skos:altLabel "energy state" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:epimer_of a owl:ObjectProperty ;
  rdfs:label "epimer of" ;
  rdfs:comment "A diastereoisomer of relationship in which the isomers differ at only one stereocenter" ;
  rdfs:subPropertyOf chemrof:diastereoisomers_of ;
  a owl:FunctionalProperty .

chemrof:extended_smiles_string a owl:DatatypeProperty ;
  rdfs:label "extended smiles string" ;
  skos:altLabel "CXSMILES" ;
  rdfs:subPropertyOf chemrof:smiles_string ;
  a owl:FunctionalProperty .

chemrof:formal_charge a owl:DatatypeProperty ;
  rdfs:label "formal charge" ;
  rdfs:comment "The charge remaining on an atom when all ligands are removed homolytically. [https://doi.org/10.1021%2Fed083p791]" ;
  skos:altLabel "charge" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

chemrof:functional_isomer_of a owl:ObjectProperty ;
  rdfs:label "functional isomer of" ;
  rdfs:comment "structural isomers that have the same molecular formula (that is, the same number of atoms of the same elements), but the atoms are connected in different ways so that the groupings are dissimilar." ;
  skos:altLabel "functional group isomer of" ;
  rdfs:subPropertyOf chemrof:structural_isomer_of ;
  a owl:FunctionalProperty .

chemrof:generalized_empirical_formula a owl:DatatypeProperty ;
  rdfs:label "generalized empirical formula" ;
  rdfs:comment "A variant of an empirical formula where numbers are replaced by generic ns; e.g. CnH2n+2 for alkane" ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:glycoct_condensed a owl:DatatypeProperty ;
  rdfs:label "glycoct condensed" ;
  rdfs:comment "This is a multiline format used by GlycomeDB, among others, and uses a graph notation to represent glycans, similar to KCF. Monosaccharides are specified more strictly to be able to map the monosaccharides between different representations. Substituents, such as N-acetyl, are specified as separate nodes from their basetypes and are linked together in the edge section. If newlines are removed, this format can be made linear." ;
  rdfs:subPropertyOf chemrof:carboydrate_representation ;
  a owl:FunctionalProperty .

chemrof:glycominds_linearcode_representation a owl:DatatypeProperty ;
  rdfs:label "glycominds linearcode representation" ;
  rdfs:comment "A linear notation proposed by GlycoMinds, Ltd., where monosaccharides are indicated by a one- or two-letter code, linkages are indicated by “a” or “b” for anomers and a single number for the carbon number linkage on the reducing end, and branches are indicated by parentheses. This format is the most compact among existing formats, and several databases use a modified form of this format to accommodate additional codes and varying carbohydrate structures (such as ambiguous structures)." ;
  rdfs:subPropertyOf chemrof:carboydrate_representation ;
  a owl:FunctionalProperty .

chemrof:half_life a owl:DatatypeProperty ;
  rdfs:label "half life" ;
  rdfs:range xsd:int ;
  rdfs:domain chemrof:Isotope ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:hard_or_soft a owl:ObjectProperty ;
  rdfs:label "hard or soft" ;
  rdfs:range chemrof:HardOrSoftEnum ;
  a owl:FunctionalProperty .

chemrof:has_acid_form a owl:ObjectProperty ;
  rdfs:label "has acid form" ;
  rdfs:comment "connects a base to the acid form. E.g. citrate(3-) has acid form citric acid" ;
  rdfs:range chemrof:MoleculeByChargeState ;
  rdfs:domain chemrof:MoleculeByChargeState ;
  rdfs:subPropertyOf chemrof:conjugate_base_of ;
  a owl:FunctionalProperty .

chemrof:has_anionic_component a owl:DatatypeProperty ;
  rdfs:label "has anionic component" ;
  rdfs:subPropertyOf chemrof:has_ionic_component ;
  a owl:FunctionalProperty .

chemrof:has_atom_occurrences a owl:ObjectProperty ;
  rdfs:label "has atom occurrences" ;
  rdfs:comment "An individuated atom in the context of a chemical structure." ;
  rdfs:range chemrof:AtomOccurrence .

chemrof:has_atoms a owl:ObjectProperty ;
  rdfs:label "has atoms" ;
  rdfs:comment "Relation between a molecule and the atoms it contains. Note that this is a shortcut relation: for granular representations go via atom occurrences" ;
  rdfs:range chemrof:Atom ;
  rdfs:domain chemrof:Molecule ;
  rdfs:subPropertyOf chemrof:has_part .

chemrof:has_bonding_structure a owl:DatatypeProperty ;
  rdfs:label "has bonding structure" ;
  rdfs:comment "The pattern in which the atoms are bonded; e.g. hexagonal lattice, sheets, etc" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:has_bonds a owl:ObjectProperty ;
  rdfs:label "has bonds" ;
  rdfs:range gc:Bond ;
  rdfs:domain chemrof:Molecule .

chemrof:has_cationic_component a owl:DatatypeProperty ;
  rdfs:label "has cationic component" ;
  rdfs:subPropertyOf chemrof:has_ionic_component ;
  a owl:FunctionalProperty .

chemrof:has_charge_state a owl:ObjectProperty ;
  rdfs:label "has charge state" ;
  a owl:FunctionalProperty .

chemrof:has_chemical_role a owl:ObjectProperty ;
  rdfs:label "has chemical role" ;
  rdfs:range chemrof:ChemicalRole ;
  a owl:FunctionalProperty .

chemrof:has_cyclic_structure a owl:DatatypeProperty ;
  rdfs:label "has cyclic structure" ;
  rdfs:comment "true if the molecule possesses a cycle in the atom connectivity graph" ;
  skos:mappingRelation CHEMINF:000067 ;
  rdfs:range xsd:boolean ;
  rdfs:domain chemrof:Molecule ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:has_derivative a owl:ObjectProperty ;
  rdfs:label "has derivative" ;
  rdfs:subPropertyOf chemrof:alternate_form_of .

chemrof:has_different_charge_state_from a owl:DatatypeProperty ;
  rdfs:label "has different charge state from" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:has_element a owl:ObjectProperty ;
  rdfs:label "has element" ;
  rdfs:range chemrof:ChemicalElement ;
  rdfs:subPropertyOf chemrof:alternate_form_of ;
  a owl:FunctionalProperty .

chemrof:has_group a owl:ObjectProperty ;
  rdfs:label "has group" ;
  rdfs:comment "Relation between a molecule and the groups it contains" ;
  rdfs:domain chemrof:Atom ;
  rdfs:subPropertyOf chemrof:has_submolecules ;
  a owl:FunctionalProperty .

chemrof:has_higher_charge_from a owl:DatatypeProperty ;
  rdfs:label "has higher charge from" ;
  rdfs:subPropertyOf chemrof:has_different_charge_state_from ;
  a owl:FunctionalProperty .

chemrof:has_ionic_component a owl:DatatypeProperty ;
  rdfs:label "has ionic component" ;
  rdfs:subPropertyOf chemrof:has_part ;
  a owl:FunctionalProperty .

chemrof:has_left_enantiomer a owl:ObjectProperty ;
  rdfs:label "has left enantiomer" ;
  rdfs:range chemrof:Enantiomer ;
  a owl:FunctionalProperty .

chemrof:has_lower_charge_from a owl:DatatypeProperty ;
  rdfs:label "has lower charge from" ;
  rdfs:subPropertyOf chemrof:has_different_charge_state_from ;
  a owl:FunctionalProperty .

chemrof:has_major_microspecies_at_p_h_7_3 a owl:ObjectProperty ;
  rdfs:label "has physiologically stable form" ;
  rdfs:comment "Links different variants of the same chemical in different protonation states, where the target of this link is the (predicited) to be most common protonation state for this chemical at a pH of 7.3. This link may point to it's source. Connects an acid to the form that is stable at physiological pH (7.3). E.g. citric acid has physiological base citrate(3-)" ;
  skos:altLabel "protonation neutral form of" , "has Ph 7.3 mapping" ;
  rdfs:seeAlso <https://ftp.expasy.org/databases/rhea/tsv/chebi_pH7_3_mapping.tsv> ;
  rdfs:range chemrof:ChemicalEntity ;
  rdfs:subPropertyOf chemrof:acid_form_of ;
  owl:inverseOf chemrof:major_microspecies_at_p_h_7_3_of .

chemrof:has_minchi_representation a owl:DatatypeProperty ;
  rdfs:label "has minchi representation" ;
  rdfs:comment "Proposed new Mixtures InChI" ;
  skos:altLabel "MInChi" ;
  rdfs:seeAlso <https://cheminf20.org/2018/08/27/mixtures-cheminformatics/> ;
  rdfs:subPropertyOf chemrof:chemical_representation ;
  a owl:FunctionalProperty .

chemrof:has_mixfile_location a owl:DatatypeProperty ;
  rdfs:label "has mixfile location" ;
  rdfs:comment "Location of a MixFile representing a chemical mixture" ;
  rdfs:seeAlso <https://jcheminf.biomedcentral.com/articles/10.1186/s13321-019-0357-4> , <https://github.com/cdd/mixtures> ;
  rdfs:range xsd:anyURI ;
  rdfs:subPropertyOf chemrof:information_property ;
  a owl:FunctionalProperty .

chemrof:has_molfile_location a owl:DatatypeProperty ;
  rdfs:label "has molfile location" ;
  rdfs:comment "Location of a MolFile representing a chemical structure" ;
  rdfs:range xsd:anyURI ;
  rdfs:subPropertyOf chemrof:information_property ;
  a owl:FunctionalProperty .

chemrof:has_morphological_category a owl:ObjectProperty ;
  rdfs:label "has morphological category" ;
  rdfs:comment "e.g. rod, sheet" ;
  rdfs:range chemrof:NanostructureMorphologyEnum ;
  a owl:FunctionalProperty .

chemrof:has_nuclear_parts a owl:ObjectProperty ;
  rdfs:label "has nuclear parts" ;
  rdfs:range chemrof:SubatomicParticleOccurrence ;
  rdfs:subPropertyOf chemrof:property_of_atom ;
  a owl:FunctionalProperty .

chemrof:has_parent_acid a owl:ObjectProperty ;
  rdfs:label "has parent acid" ;
  rdfs:range chemrof:MoleculeByChargeState ;
  a owl:FunctionalProperty .

chemrof:has_parent_alcohol a owl:ObjectProperty ;
  rdfs:label "has parent alcohol" ;
  rdfs:range chemrof:ChemicalEntity ;
  a owl:FunctionalProperty .

chemrof:has_part a owl:ObjectProperty ;
  rdfs:label "has part" ;
  rdfs:comment "basic parthood relations" ;
  skos:mappingRelation BFO:0000050 , schema:hasBioChemEntityPart ;
  rdfs:subPropertyOf chemrof:chemical_to_chemical_relationship ;
  a owl:FunctionalProperty .

chemrof:has_physiologically_stable_form a owl:DatatypeProperty ;
  rdfs:label "has physiologically stable form (Deprecated)" ;
  rdfs:comment "Different term for the concept of a major microspecies at pH 7.3." ;
  rdfs:seeAlso chemrof:has_major_microspecies_at_pH7_3 ;
  owl:deprecated "true" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:has_polymer_repeat_units a owl:ObjectProperty ;
  rdfs:label "has polymer repeat units" ;
  rdfs:comment "Relation between a polymer and all instances of a repeated polymeric unit" ;
  rdfs:range chemrof:PolymerRepeatUnit .

chemrof:has_proportional_parts a owl:ObjectProperty ;
  rdfs:label "has proportional parts" ;
  rdfs:comment "Relationship between a complex mixture and its parts" ;
  skos:altLabel "has ingredients" ;
  rdfs:range chemrof:ProportionalPart ;
  rdfs:domain chemrof:ImpreciseChemicalMixture .

chemrof:has_rauxinfo_representation a owl:DatatypeProperty ;
  rdfs:label "has rauxinfo representation" ;
  rdfs:comment "Auxhiliary information on top of a RInChi" ;
  skos:altLabel "RAuxInfo" ;
  skos:note "A half-reaction, such as a RInChI with starting materials and no identified products, is a valid RInChI" ;
  rdfs:seeAlso <https://jcheminf.biomedcentral.com/articles/10.1186/s13321-018-0277-8> ;
  rdfs:subPropertyOf chemrof:chemical_representation ;
  a owl:FunctionalProperty .

chemrof:has_reaction_representation a owl:DatatypeProperty ;
  rdfs:subPropertyOf chemrof:chemical_representation ;
  a owl:FunctionalProperty .

chemrof:has_reaction_smarts_representation a owl:DatatypeProperty ;
  rdfs:label "has reaction SMARTS representation" ;
  skos:altLabel "reaction SMARTS" ;
  rdfs:subPropertyOf chemrof:has_reaction_representation ;
  a owl:FunctionalProperty .

chemrof:has_reaction_smiles_representation a owl:DatatypeProperty ;
  rdfs:label "has reaction SMILES representation" ;
  skos:altLabel "reaction SMILES" ;
  rdfs:subPropertyOf chemrof:has_reaction_representation ;
  a owl:FunctionalProperty .

chemrof:has_repeat_unit a owl:ObjectProperty ;
  rdfs:label "has repeat unit" ;
  rdfs:range chemrof:ChemicalEntity ;
  a owl:FunctionalProperty .

chemrof:has_right_enantiomer a owl:ObjectProperty ;
  rdfs:label "has right enantiomer" ;
  rdfs:range chemrof:Enantiomer ;
  a owl:FunctionalProperty .

chemrof:has_rinchi_representation a owl:DatatypeProperty ;
  rdfs:label "has rinchi representation" ;
  rdfs:comment "Proposed Reactions InChI" ;
  skos:altLabel "RInChi" ;
  skos:note "A half-reaction, such as a RInChI with starting materials and no identified products, is a valid RInChI" ;
  skos:example "RInChI=1.00.1S /layer2<>layer3<>layer4/d+/u2-0-1" , "C2H4O2/c1-2(3)4/h1H3,(H,3,4)!C2H6O/c1-2-3/h3H,2H2,1H3<>C4H8O2/c1-3-6-4(2)5/h3H2,1- 2H3!H2O/h1H2<>H2O4S/c1-5(2,3)4/h(H2,1,2,3,4):" ;
  rdfs:seeAlso <https://jcheminf.biomedcentral.com/articles/10.1186/s13321-018-0277-8> ;
  rdfs:subPropertyOf chemrof:chemical_representation ;
  a owl:FunctionalProperty .

chemrof:has_role a owl:ObjectProperty ;
  rdfs:label "has role" ;
  rdfs:range chemrof:IngredientRoleEnum ;
  a owl:FunctionalProperty .

chemrof:has_sequence_representation a owl:DatatypeProperty ;
  rdfs:label "has sequence representation" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf chemrof:chemical_representation ;
  a owl:FunctionalProperty .

chemrof:has_smirks_representation a owl:DatatypeProperty ;
  rdfs:label "has reaction SMILES representation" ;
  rdfs:comment "A reaction transform language that is a superset of reaction SMILES and a subset of reaction SMARTS" ;
  skos:altLabel "SMIRKS" ;
  rdfs:seeAlso <https://daylight.com/dayhtml_tutorials/languages/smirks/> ;
  rdfs:subPropertyOf chemrof:has_reaction_representation ;
  a owl:FunctionalProperty .

chemrof:has_stereocenter a owl:ObjectProperty ;
  rdfs:label "has stereocenter" ;
  rdfs:range chemrof:Stereocenter .

chemrof:has_submolecules a owl:ObjectProperty ;
  rdfs:label "has submolecules" ;
  rdfs:comment "Relation between a molecule and the molecules it is made from." ;
  rdfs:range chemrof:Molecule ;
  rdfs:domain chemrof:Molecule ;
  rdfs:subPropertyOf chemrof:has_part .

chemrof:has_subtype a owl:DatatypeProperty ;
  rdfs:label "has subtype" ;
  rdfs:subPropertyOf chemrof:chemical_to_chemical_relationship ;
  owl:inverseOf chemrof:subtype_of ;
  a owl:FunctionalProperty .

chemrof:hashed_chemical_formula a owl:DatatypeProperty ;
  rdfs:label "hashed chemical formula" ;
  rdfs:comment "A hashed version of a chemical formula" ;
  rdfs:range xsd:string ;
  rdfs:domain chemrof:ChemicalEntity ;
  rdfs:subPropertyOf chemrof:chemical_representation ;
  a owl:FunctionalProperty .

chemrof:in_periodic_table_block a owl:ObjectProperty ;
  rdfs:label "in periodic table block" ;
  rdfs:comment "A block of the periodic table is a set of elements unified by the orbitals their valence electrons or vacancies lie in" ;
  rdfs:range chemrof:PeriodicTableBlockEnum ;
  a owl:FunctionalProperty .

chemrof:in_periodic_table_group a owl:DatatypeProperty ;
  rdfs:label "in periodic table group" ;
  rdfs:range xsd:int ;
  a owl:FunctionalProperty .

chemrof:inchi_2_d_key_string a owl:DatatypeProperty ;
  rdfs:label "inchi2d key string" ;
  rdfs:comment "A hashed representation of an InChi2D string" ;
  skos:altLabel "InChi2DKey" , "inchi2d key" ;
  chemrof:hash_of "inchi2d_string" ;
  rdfs:subPropertyOf chemrof:hashed_chemical_formula ;
  a owl:FunctionalProperty .

chemrof:inchi_2_d_string a owl:DatatypeProperty ;
  rdfs:label "InChi2D" ;
  skos:altLabel "InChi" ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:inchi_atom_connections_sublayer a owl:DatatypeProperty ;
  rdfs:label "inchi atom connections sublayer" ;
  rdfs:comment "The atoms in the chemical formula (except for hydrogens) are numbered in sequence; this sublayer describes which atoms are connected by bonds to which other ones." ;
  rdfs:subPropertyOf chemrof:inchi_sublayer_in_main_layer ;
  a owl:FunctionalProperty .

chemrof:inchi_charge_sublayer a owl:DatatypeProperty ;
  rdfs:label "inchi charge sublayer" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer ;
  a owl:FunctionalProperty .

chemrof:inchi_chemical_sublayer a owl:DatatypeProperty ;
  rdfs:label "inchi chemical sublayer" ;
  rdfs:comment "The part of an InChI string that represents the chemical formula, occurring after the version string. E.g. C6H12O6 for glucose" ;
  skos:note "in the case of hydrates, the dot separates the formula of the compound from the water molecules. For example, CuSO₄·5H₂O represents copper(II) sulfate pentahydrate, indicating that there are five water molecules associated with each copper(II) sulfate unit in the crystal." , "Salt Formulations: Dots can also be used to denote the proportions in which different components are combined to form a salt. For instance, \"CaCl₂·2AgNO₃\" would suggest a complex formed from one unit of calcium chloride and two units of silver nitrate, though this particular example is more illustrative than practical." , "Coordination Complexes: In coordination chemistry, dots can separate the metal complex from its counterions or ligands that are not directly bonded to the metal center. For example, \"[Co(NH₃)₆]Cl₃\" indicates a complex of cobalt with six ammonia ligands, and the three chloride ions are counterions. If written as \"[Co(NH₃)₆]·3Cl\", it would similarly denote the presence of three chloride ions associated with the complex, though this notation is less common" , "Molecular Assemblies: For certain supramolecular structures or assemblies, dots might be used to indicate a non-covalent association of components. This usage is less common and more context-dependent" ;
  chemrof:inchi.index "2" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer_in_main_layer ;
  a owl:FunctionalProperty .

chemrof:inchi_component a owl:DatatypeProperty ;
  rdfs:label "inchi component" ;
  rdfs:comment "A part of an InChI object" ;
  rdfs:subPropertyOf chemrof:information_property ;
  a owl:FunctionalProperty .

chemrof:inchi_fixed_h_layer a owl:DatatypeProperty ;
  rdfs:label "inchi fixed H layer" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer ;
  a owl:FunctionalProperty .

chemrof:inchi_hydrogen_connections_sublayer a owl:DatatypeProperty ;
  rdfs:label "inchi hydrogen connections sublayer" ;
  rdfs:comment "Describes how many hydrogen atoms are connected to each of the other atoms." ;
  rdfs:subPropertyOf chemrof:inchi_sublayer_in_main_layer ;
  a owl:FunctionalProperty .

chemrof:inchi_isotopic_layer a owl:DatatypeProperty ;
  rdfs:label "inchi isotopic layer" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer ;
  a owl:FunctionalProperty .

chemrof:inchi_key_string a owl:DatatypeProperty ;
  rdfs:label "inchi key string" ;
  rdfs:comment "A hashed representation of an InChi string" ;
  skos:altLabel "InChiKey" , "inchi key" ;
  chemrof:hash_of "inchi_string" ;
  rdfs:subPropertyOf chemrof:hashed_chemical_formula ;
  a owl:FunctionalProperty .

chemrof:inchi_proton_sublayer a owl:DatatypeProperty ;
  rdfs:label "inchi proton sublayer" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer ;
  a owl:FunctionalProperty .

chemrof:inchi_reconnected_layer a owl:DatatypeProperty ;
  rdfs:label "inchi reconnected layer" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer ;
  a owl:FunctionalProperty .

chemrof:inchi_stereochemical_double_bond_sublayer a owl:DatatypeProperty ;
  rdfs:label "inchi stereochemical double bond sublayer" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer ;
  a owl:FunctionalProperty .

chemrof:inchi_stereochemical_type_sublayer a owl:DatatypeProperty ;
  rdfs:label "inchi stereochemical type sublayer" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer ;
  a owl:FunctionalProperty .

chemrof:inchi_string a owl:DatatypeProperty ;
  rdfs:label "InChi" ;
  skos:altLabel "InChi" ;
  rdfs:seeAlso <https://chemistry.stackexchange.com/questions/151072/can-cis-trans-isomers-have-same-inchi> ;
  skos:exactMatch OntoRXN:hasInChi ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:inchi_sublayer a owl:DatatypeProperty ;
  rdfs:label "inchi sublayer" ;
  rdfs:seeAlso <https://www.inchi-trust.org/wp/wp-content/uploads/2014/05/techfaq_4.2.png> ;
  rdfs:subPropertyOf chemrof:inchi_component ;
  a owl:FunctionalProperty .

chemrof:inchi_sublayer_in_main_layer a owl:DatatypeProperty ;
  rdfs:label "inchi sublayer in main layer" ;
  rdfs:comment "The main layer consists of chemical formula, atom connections, and hydrogen atoms. Example: CH3O/c1-2/h1H3/q-1" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer ;
  a owl:FunctionalProperty .

chemrof:inchi_tetrahedral_stereochemical_sublayer a owl:DatatypeProperty ;
  rdfs:label "inchi tetrahedral stereochemical sublayer" ;
  rdfs:subPropertyOf chemrof:inchi_sublayer ;
  a owl:FunctionalProperty .

chemrof:inchi_version_string a owl:DatatypeProperty ;
  rdfs:label "inchi version string" ;
  rdfs:comment "The first part of the inchi_string, after 'InChI='" ;
  skos:altLabel "inchi version prefix" ;
  chemrof:inchi.index "1" ;
  rdfs:subPropertyOf chemrof:inchi_component ;
  a owl:FunctionalProperty .

chemrof:information_property a owl:DatatypeProperty ;
  rdfs:label "information property" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:is_balanced a owl:DatatypeProperty ;
  rdfs:label "is balanced" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

chemrof:is_branched a owl:DatatypeProperty ;
  rdfs:label "is branched" ;
  rdfs:seeAlso <https://en.wikipedia.org/wiki/Branching_(polymer_chemistry)> ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

chemrof:is_diastereoselective a owl:DatatypeProperty ;
  rdfs:label "is diastereoselective" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

chemrof:is_fully_characterized a owl:DatatypeProperty ;
  rdfs:label "is fully characterized" ;
  rdfs:comment "False if includes R-groups" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

chemrof:is_organic a owl:DatatypeProperty ;
  rdfs:label "is organic" ;
  rdfs:comment "An organic molecule is a molecule composed of organic atoms (at least carbon, hydrogen, and optionally oxygen, phosphorus, nitrogen, sulfur) [SIO]" ;
  skos:closeMatch SIO:010072 ;
  rdfs:range xsd:boolean ;
  rdfs:domain chemrof:ChemicalEntity ;
  a owl:FunctionalProperty .

chemrof:is_radical a owl:DatatypeProperty ;
  rdfs:label "is radical" ;
  rdfs:range xsd:boolean ;
  rdfs:domain chemrof:ChemicalEntity ;
  a owl:FunctionalProperty .

chemrof:is_stereo a owl:DatatypeProperty ;
  rdfs:label "is stereo" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

chemrof:is_substitutent_group_from a owl:ObjectProperty ;
  rdfs:label "is substitutent group from" ;
  rdfs:range chemrof:Molecule ;
  a owl:FunctionalProperty .

chemrof:is_transport a owl:DatatypeProperty ;
  rdfs:label "is transport" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

chemrof:isobar_of a owl:ObjectProperty ;
  rdfs:label "isobar of" ;
  rdfs:comment "equal mass number (Z1 + N1 = Z2 + N2)" ;
  rdfs:subPropertyOf chemrof:alternate_form_of ;
  a owl:FunctionalProperty .

chemrof:isomeric_smiles_string a owl:DatatypeProperty ;
  rdfs:label "isomeric smiles string" ;
  rdfs:comment "A SMILES string that distinguishes between isomeric forms. E.g. [13C] for carbon-13" ;
  skos:altLabel "iso-SMILES" ;
  skos:exactMatch wd:P2017 ;
  rdfs:subPropertyOf chemrof:smiles_string ;
  a owl:FunctionalProperty .

chemrof:isotone_of a owl:ObjectProperty ;
  rdfs:label "isotone of" ;
  rdfs:comment "relationship that holds between two isotones, always holds if the isotones have a different atomic number and the same neutron number." ;
  rdfs:range chemrof:Isotope ;
  rdfs:domain chemrof:Isotope ;
  rdfs:subPropertyOf chemrof:alternate_form_of ;
  a owl:FunctionalProperty .

chemrof:isotope_of a owl:ObjectProperty ;
  rdfs:label "isotope of" ;
  rdfs:comment "relationship that holds between two isotopes, always holds if the isotopes have the same atomic number and a different neutron number." ;
  rdfs:range chemrof:Isotope ;
  rdfs:domain chemrof:Isotope ;
  rdfs:subPropertyOf chemrof:alternate_form_of ;
  a owl:FunctionalProperty .

chemrof:isotopologue_of a owl:ObjectProperty ;
  rdfs:label "isotopologue of" ;
  rdfs:comment "a relationship that holds between two forms of a parent molecule with identical chemical formulas but are differentiated by the number of neutrons in at least one atom" ;
  skos:altLabel "isotopolog_of" ;
  rdfs:seeAlso Wikipedia:Isotopologue , <https://doi.org/10.1093/gigascience/giae071> , <https://doi.org/10.1002/rcm.5129> ;
  rdfs:range chemrof:Molecule ;
  rdfs:domain chemrof:Molecule ;
  rdfs:subPropertyOf chemrof:alternate_form_of .

chemrof:isotopomer_of a owl:ObjectProperty ;
  rdfs:comment "isomers which differ by isotopic substitution, and which have the same number of atoms of each isotope but in a different arrangement." ;
  skos:altLabel "isotopic_isomer_of" ;
  rdfs:seeAlso Wikipedia:Isotopomer ;
  rdfs:subPropertyOf chemrof:chemical_isomer_of ;
  a owl:FunctionalProperty .

chemrof:kcat a owl:DatatypeProperty ;
  rdfs:comment "The maximum number of substrate molecules converted to product per enzyme molecule per unit time, when the enzyme is saturated with substrate. It represents the maximum catalytic efficiency of an enzyme under ideal conditions." ;
  skos:altLabel "turnover number" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:kegg_chemical_function_representation a owl:DatatypeProperty ;
  rdfs:label "kegg chemical function representation" ;
  rdfs:comment "A multiline format used by the KEGG GLYCAN database and represents glycans as graphs. Monosaccharides are represented as nodes, and glycosidic linkages are represented as edges. Each node is given a unique number, and x- and y- coordinates are specified such that the glycan structure can be drawn on a 2D plane. Edge information uses the node numbers to specify anomeric and carbon number information. Monosaccharide names are specified as text, and no particular rules are specified to represent these names." ;
  rdfs:subPropertyOf chemrof:carboydrate_representation ;
  a owl:FunctionalProperty .

chemrof:left_molecule a owl:ObjectProperty ;
  rdfs:label "left molecule" ;
  rdfs:range chemrof:Molecule ;
  a owl:FunctionalProperty .

chemrof:left_participants a owl:ObjectProperty ;
  rdfs:label "left participants" ;
  rdfs:range chemrof:ReactionParticipant .

chemrof:linucs_representation a owl:DatatypeProperty ;
  rdfs:label "linucs representation" ;
  rdfs:comment "A unique linear notation proposed and used by GLYCOSCIENCES.de, with the reducing end specified on the left. Monosaccharides, written according to CarbBank rules, are surrounded by square brackets and anomers, and stereochemistry is specified and separated by hyphens. Glycosidic linkages are also surrounded by hyphens, and carbon numbers of the linkages are separated by the plus sign. Branches are indicated by curly brackets." ;
  rdfs:seeAlso <https://github.com/biopragmatics/bioregistry/issues/537> ;
  rdfs:subPropertyOf chemrof:carboydrate_representation ;
  a owl:FunctionalProperty .

chemrof:log_p_6_partition_coefficient a owl:DatatypeProperty ;
  rdfs:label "logP6_partition_coefficient" ;
  rdfs:comment "logP partition coefficient calculated from 2D structure using contributions from pre-defined structure fragments. It corresponds to: log(Poctanol/Pwater) = log(SoluteInOctanol/SoluteInWater)" ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:long_rinchi_key_string a owl:DatatypeProperty ;
  rdfs:label "long rinchi key string" ;
  rdfs:subPropertyOf chemrof:rinchi_key_string ;
  a owl:FunctionalProperty .

chemrof:lychi_string a owl:DatatypeProperty ;
  rdfs:label "lychi string" ;
  rdfs:seeAlso <https://github.com/ncats/lychi> ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:major_microspecies_at_p_h_7_3_of a owl:ObjectProperty ;
  rdfs:comment "The subject of this link is the most common protonation state for this chemical at a pH of 7.3. The      link may point to it's source." ;
  rdfs:subPropertyOf chemrof:acid_form_of ;
  a owl:FunctionalProperty .

chemrof:markush_string a owl:DatatypeProperty ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:mass a owl:DatatypeProperty ;
  rdfs:label "mass" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:maximum_percentage a owl:DatatypeProperty ;
  rdfs:label "maximum percentage" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:melting_point_in_celcius a owl:DatatypeProperty ;
  rdfs:label "melting point in celcius" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:michaelis_constant a owl:DatatypeProperty ;
  rdfs:comment "the substrate concentration at which the reaction rate is half of its maximum value (Vmax)" ;
  skos:altLabel "Km" ;
  skos:note "A lower Km indicates higher affinity (the enzyme needs less substrate to achieve half its maximum rate" , "Km is typically expressed in units of concentration (e.g., mol/L, μM, mM)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:minimal_percentage a owl:DatatypeProperty ;
  rdfs:label "minimal percentage" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:mode_of_formation a owl:DatatypeProperty ;
  rdfs:label "mode of formation" ;
  rdfs:range xsd:string ;
  rdfs:domain chemrof:Isotope ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:molar_cohesive_energy a owl:DatatypeProperty ;
  rdfs:label "molar cohesive energy" ;
  rdfs:subPropertyOf chemrof:thermophysical_property ;
  a owl:FunctionalProperty .

chemrof:molar_refractivity a owl:DatatypeProperty ;
  rdfs:label "molar refractivity" ;
  rdfs:comment "Molar refractivity calculated from 2D structure using contributions from pre-defined structure fragments." ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:molar_value a owl:DatatypeProperty ;
  rdfs:label "molar value" ;
  rdfs:subPropertyOf chemrof:thermophysical_property ;
  a owl:FunctionalProperty .

chemrof:molecular_charge a owl:DatatypeProperty ;
  rdfs:label "molecular charge" ;
  rdfs:comment "The electric charge of a molecule, typically expressed as multiples of the elementary charge." ;
  skos:exactMatch FIX:0000275 ;
  rdfs:range xsd:integer ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_electronic_absorption_spectroscopy a owl:DatatypeProperty ;
  rdfs:label "molecular electronic absorption spectroscopy" ;
  skos:exactMatch FIX:0000011 ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_electronic_spectroscopy a owl:DatatypeProperty ;
  rdfs:label "molecular electronic spectroscopy" ;
  rdfs:comment "A molecular property describing absorption or emission of electromagnetic radiation due to electronic transitions." ;
  skos:exactMatch FIX:0000943 ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_formula a owl:DatatypeProperty ;
  rdfs:label "molecular formula" ;
  rdfs:comment "A chemical formula where numbers denote atom count. E.g. C6H12O6  for glucose" ;
  skos:altLabel "chemical_formula" , "Hill notation" ;
  skos:mappingRelation CHEMINF:000042 ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:molecular_heat_capacity a owl:DatatypeProperty ;
  rdfs:label "molecular heat capacity" ;
  rdfs:comment "The amount of heat required to raise the temperature of one mole of a molecule by one Kelvin." ;
  skos:exactMatch FIX:0000389 ;
  rdfs:range xsd:float ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_hydration a owl:DatatypeProperty ;
  rdfs:label "molecular hydration" ;
  rdfs:comment "The number of water molecules associated with or bound to a molecule." ;
  skos:exactMatch FIX:0000272 ;
  rdfs:range xsd:integer ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_mass a owl:DatatypeProperty ;
  rdfs:label "molecular mass" ;
  rdfs:comment "The sum of the relative atomic masses of the constituent atoms of a molecule." ;
  skos:exactMatch NCIT:C28272 , FIX:0000270 , chebi.property:mass ;
  rdfs:range xsd:float ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_property a owl:DatatypeProperty ;
  rdfs:label "molecular property" ;
  skos:exactMatch FIX:0000276 ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:molecular_replacement a owl:DatatypeProperty ;
  rdfs:label "molecular replacement" ;
  skos:exactMatch FIX:0000251 ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_shape a owl:DatatypeProperty ;
  rdfs:label "molecular shape" ;
  rdfs:comment "The geometric configuration or three-dimensional arrangement of atoms within a molecule." ;
  skos:exactMatch FIX:0000273 ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_size a owl:DatatypeProperty ;
  rdfs:label "molecular size" ;
  rdfs:comment "A property reflecting the spatial dimensions or volume occupied by a molecule." ;
  skos:exactMatch FIX:0000271 ;
  rdfs:range xsd:float ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_spectroscopy a owl:DatatypeProperty ;
  rdfs:label "molecular spectroscopy" ;
  skos:exactMatch FIX:0000063 ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_spectroscopy_by_energy_state a owl:DatatypeProperty ;
  rdfs:label "molecular spectroscopy by energy state" ;
  skos:exactMatch FIX:0000030 ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:molecular_structure a owl:DatatypeProperty ;
  rdfs:label "molecular structure" ;
  rdfs:comment "The specific arrangement of atoms in a molecule, usually represented by chemical notation or structural formulas." ;
  skos:exactMatch FIX:0000305 ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:monoisotopic_mass a owl:DatatypeProperty ;
  rdfs:label "monoisotopic mass" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

rdfs:label a owl:DatatypeProperty ;
  rdfs:label "name" ;
  rdfs:comment "name of chemical entity. E.g. nickel, carbon-16" ;
  skos:closeMatch bo:symbol ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf chemrof:information_property ;
  a owl:FunctionalProperty .

chemrof:neutron_number a owl:DatatypeProperty ;
  rdfs:label "neutron number" ;
  rdfs:comment "number of neutrons in an atom" ;
  skos:altLabel "N" ;
  skos:mappingRelation CHEMINF:000078 ;
  rdfs:range xsd:int ;
  rdfs:domain chemrof:Atom ;
  rdfs:subPropertyOf chemrof:subatomic_particle_count ;
  a owl:FunctionalProperty .

chemrof:next_in_homologous_series_from a owl:ObjectProperty ;
  rdfs:label "next in homologous series from" ;
  rdfs:comment "Next in a sequence of compounds with the same functional group and similar chemical properties in which the members of the series can be branched or unbranched. E.g.  ethane (C2H6) next in homologous series from methane (CH4)" ;
  rdfs:seeAlso Wikipedia:Homologous_series ;
  rdfs:range chemrof:Molecule ;
  rdfs:domain chemrof:Molecule ;
  a owl:FunctionalProperty .

chemrof:nuclear_isomer_of a owl:ObjectProperty ;
  rdfs:label "nuclear isomer of" ;
  rdfs:comment "relationship that holds between two nuclear isomers, always holds if the isomers have the same nucleon number but different energy states" ;
  rdfs:range chemrof:Isotope ;
  rdfs:domain chemrof:Isotope ;
  rdfs:subPropertyOf chemrof:alternate_form_of ;
  a owl:FunctionalProperty .

chemrof:nucleon_number a owl:DatatypeProperty ;
  rdfs:label "nucleon number" ;
  rdfs:comment "number of nucleons in an atom. proton number plus neutron number." ;
  skos:altLabel "mass number" ;
  rdfs:range xsd:int ;
  rdfs:domain chemrof:Atom ;
  rdfs:subPropertyOf chemrof:subatomic_particle_count ;
  a owl:FunctionalProperty .

chemrof:number_of_aromatic_rings a owl:DatatypeProperty ;
  rdfs:label "number of aromatic rings" ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:number_of_heavy_atoms a owl:DatatypeProperty ;
  rdfs:label "Heavy Atoms" ;
  rdfs:comment "number of of non-hydrogen atoms" ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:number_of_hydrogen_bond_acceptors a owl:DatatypeProperty ;
  rdfs:label "number of hydrogen bond acceptors" ;
  rdfs:comment "number of hydrogen bond acceptors corresponding to sum of nitrogen atoms without any any implicit/explicit hydrogen atom and all oxygen atoms" ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:number_of_hydrogen_bond_donors a owl:DatatypeProperty ;
  rdfs:label "number of hydrogen bond donors" ;
  rdfs:comment "number of hydrogen bond donors corresponding to sum of nitrogen and oxygen atoms with at least one implicit/explicit hydrogen atom" ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:number_of_rings a owl:DatatypeProperty ;
  rdfs:label "number of rings" ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:number_of_rotatable_bonds a owl:DatatypeProperty ;
  rdfs:label "number of rotatable bonds" ;
  rdfs:comment "number of rotatable bonds corresponds to single bonds excluding following types of single bonds terminal bonds; attached to triple bonds; amide, thioamide and sulfonamide bonds." ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:object_atom_occurrence a owl:ObjectProperty ;
  rdfs:label "object atom occurrence" ;
  rdfs:range chemrof:AtomOccurrence ;
  a owl:FunctionalProperty .

chemrof:occurrence_of a owl:ObjectProperty ;
  rdfs:label "occurrence of" ;
  rdfs:range chemrof:Atom ;
  a owl:FunctionalProperty .

chemrof:optical_configuration a owl:DatatypeProperty ;
  rdfs:label "optical configuration" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:owl_subclass_of a owl:ObjectProperty ;
  rdfs:label "owl subclass of" ;
  rdfs:comment "Holds between C and P if C owl:subClassOf P. Note that in this model, most classes are metaclasses (see 'owl class'), where these metaclasses may represent *groupings* or specific countable elements or species. We provide two different sub-properties of subclass of for two cases: (1) subtype_of, which connects grouping classes (e.g. alkane is_a hydrocarbon; alpha-amino-acid is_a amino-acid), (2) classified_by, which connects a specific element to a grouping class (e.g. methane is_a hydrocarbon; iron is_a metal; serine is_a amino-acid)" ;
  skos:altLabel "is a" ;
  skos:exactMatch rdfs:subClassOf ;
  skos:narrowMatch bo:family ;
  rdfs:range owl:Class ;
  rdfs:domain owl:Class ;
  rdfs:subPropertyOf chemrof:classification_relationship ;
  a owl:FunctionalProperty .

chemrof:oxidation_number a owl:DatatypeProperty ;
  rdfs:label "oxidation number" ;
  rdfs:comment "The charge remaining on an atom when all ligands are removed heterolytically in their closed form, with the electrons being transferred to the more electronegative partner; homonuclear bonds do not contribute to the oxidation number. [https://doi.org/10.1021%2Fed083p791]" ;
  skos:altLabel "oxidation" , "oxidation state" ;
  skos:exactMatch goldbook:O04363 ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

chemrof:participant a owl:ObjectProperty ;
  rdfs:label "participant" ;
  rdfs:range chemrof:ChemicalEntity ;
  a owl:FunctionalProperty .

chemrof:pka_ionic_strength a owl:DatatypeProperty ;
  rdfs:label "pKa ionic strength" ;
  rdfs:comment "Ionic strength of solution in mol/L at which pKa was measured. Default is 0.0 M if not specified." ;
  skos:note "Standard ionic strength is 0.0 M (zero ionic strength corresponding to distilled water)" , "Salt concentration affects pKa through electrostatic shielding of charges" ;
  rdfs:range xsd:float ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:pka_ionization_constant a owl:DatatypeProperty ;
  rdfs:label "pKa ionization constant" ;
  rdfs:comment "The negative logarithm of the acid dissociation constant (Ka) for ionizable groups in a molecule. Multiple pKa values may exist for molecules with multiple ionizable groups." ;
  skos:note "Lower pKa values indicate stronger acids" , "For molecules with multiple ionizable groups, this field can contain multiple values" , "Standard conditions: aqueous solution at 25°C" ;
  rdfs:range xsd:float ;
  rdfs:subPropertyOf chemrof:molecular_property .

chemrof:pka_pressure a owl:DatatypeProperty ;
  rdfs:label "pKa pressure" ;
  rdfs:comment "Pressure in atmospheres at which pKa was measured. Default is 1 atm if not specified." ;
  skos:note "Standard pressure is 1 atm" , "Generally minor effect under standard laboratory conditions" ;
  rdfs:range xsd:float ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:pka_solvent a owl:DatatypeProperty ;
  rdfs:label "pKa solvent" ;
  rdfs:comment "Solvent system for pKa measurement. Default is water (H₂O) if not specified." ;
  skos:note "Standard solvent is water (H₂O)" , "pKa values in non-aqueous solvents can be dramatically different due to polarity effects" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:pka_temperature a owl:DatatypeProperty ;
  rdfs:label "pKa temperature" ;
  rdfs:comment "Temperature in Celsius at which pKa was measured. Default is 25°C if not specified." ;
  skos:note "Standard temperature is 25°C (298.15 K)" , "pKa values can shift significantly with temperature following the van't Hoff equation" ;
  rdfs:range xsd:float ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:polymer_architecture_type a owl:DatatypeProperty ;
  rdfs:label "polymer architecture type" ;
  rdfs:comment "morphological structure of a polymer" ;
  rdfs:seeAlso Wikipedia:Polymer_architecture ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:polymer_of a owl:ObjectProperty ;
  rdfs:label "polymer of" ;
  skos:exactMatch wd:P4600 , CHEBI:60027 ;
  rdfs:range chemrof:Macromolecule ;
  rdfs:subPropertyOf chemrof:has_part .

chemrof:position_isomer_of a owl:ObjectProperty ;
  rdfs:label "position isomer of" ;
  rdfs:comment "a functional group or other substituent changes position on a parent structure." ;
  skos:altLabel "regioisomerism isomer of" ;
  rdfs:subPropertyOf chemrof:structural_isomer_of ;
  a owl:FunctionalProperty .

chemrof:property_of_atom a owl:DatatypeProperty ;
  rdfs:label "property of atom" ;
  rdfs:domain chemrof:Atom ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:reaction_center a owl:DatatypeProperty ;
  rdfs:label "reaction center" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:reaction_has_bidirectional_form a owl:ObjectProperty ;
  rdfs:label "reaction has bidirectional form" ;
  skos:exactMatch <http://purl.obolibrary.org/obo/rhea#_has_bi_reaction> ;
  rdfs:subPropertyOf chemrof:variant_reaction_of ;
  a owl:FunctionalProperty .

chemrof:reaction_rate a owl:DatatypeProperty ;
  rdfs:label "reaction rate" ;
  rdfs:comment "the overall speed of a reaction, typically measured in concentration change per unit time" ;
  skos:altLabel "v" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:reaction_rate_coefficient a owl:DatatypeProperty ;
  rdfs:label "reaction rate coefficient" ;
  rdfs:comment "a proportionality constant that relates the reaction rate to reactant concentrations." ;
  skos:altLabel "reaction rate constant" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:reaction_type a owl:ObjectProperty ;
  rdfs:label "reaction type" ;
  rdfs:comment "Classification of the chemical reaction based on mechanistic and functional categories" ;
  rdfs:range chemrof:ReactionTypeEnum ;
  a owl:FunctionalProperty .

chemrof:relative_configuration a owl:DatatypeProperty ;
  rdfs:label "relative configuration" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

chemrof:repetition_of a owl:ObjectProperty ;
  rdfs:label "repetition of" ;
  rdfs:comment "the macromolecule that is repeated" ;
  rdfs:range chemrof:Molecule ;
  a owl:FunctionalProperty .

chemrof:right_molecule a owl:ObjectProperty ;
  rdfs:label "right molecule" ;
  rdfs:range chemrof:Molecule ;
  a owl:FunctionalProperty .

chemrof:right_participants a owl:ObjectProperty ;
  rdfs:label "right participants" ;
  rdfs:range chemrof:ReactionParticipant .

chemrof:rinchi_key_string a owl:DatatypeProperty ;
  rdfs:label "rinchi key string" ;
  rdfs:comment "A hashed representation of a RInChi string" ;
  chemrof:hash_of "has_rinchi_representation" ;
  rdfs:subPropertyOf chemrof:hashed_chemical_formula ;
  a owl:FunctionalProperty .

chemrof:score a owl:DatatypeProperty ;
  rdfs:label "score" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:selfies_string a owl:DatatypeProperty ;
  rdfs:label "selfies string" ;
  skos:altLabel "SELFIES" ;
  rdfs:seeAlso <https://iopscience.iop.org/article/10.1088/2632-2153/aba947> ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:short_rinchi_key_string a owl:DatatypeProperty ;
  rdfs:label "short rinchi key string" ;
  rdfs:subPropertyOf chemrof:rinchi_key_string ;
  a owl:FunctionalProperty .

chemrof:skeletal_isomer_of a owl:ObjectProperty ;
  rdfs:label "skeletal isomer of" ;
  rdfs:comment "components of the (usually carbon) skeleton are distinctly re-ordered to create different structures. Pentane exists as three isomers: n-pentane (often called simply \"pentane\"), isopentane (2-methylbutane) and neopentane (dimethylpropane)." ;
  skos:altLabel "chain isomer of" ;
  rdfs:subPropertyOf chemrof:structural_isomer_of ;
  a owl:FunctionalProperty .

chemrof:smarts_string a owl:DatatypeProperty ;
  rdfs:label "smarts string" ;
  rdfs:comment "a molecular pattern matching language, related to the popular SMILES molecular language, that can be used to specify sub-structural patterns in molecules." ;
  skos:example "[#1,#6:60][C@@:6]12[CX4:7][CX4H2,CX4H0:8]([CX4H3,CX4H2,#1:80])([CX4H3,CX4H2,#1:81])[CX3:9](=[CX3H2:10])[C@@:11]1([C:1](=[O:2])[CX4,c:4][CX4,c:3][CX4,c,O,NX3!r3:5]2)[C:99]#[N:97]>>[C:10]#[C:9][*:8]([*:80])([*:81])[C:7][C@@:6]1([*:60])[*:5][*:3][*:4][C:1](=[O:2])[C:11]1[C:99]#[N:97]" ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:smiles_string a owl:DatatypeProperty ;
  rdfs:label "smiles string" ;
  rdfs:comment "A string encoding of a molecular graph, no chiral or isotopic information. There are usually a large number of valid SMILES which represent a given structure. For example, CCO, OCC and C(O)C all specify the structure of ethanol." ;
  skos:note "a problematic set of structures to describe using SMILES notation is those which cannot be easily described using molecular graphs (see “Limitations of molecular graph representations” section), such as organometallic compounds and ionic salts." ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:standard_atomic_weight a owl:DatatypeProperty ;
  rdfs:label "standard atomic weight" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:stereoisomer_of a owl:ObjectProperty ;
  rdfs:label "stereoisomer of" ;
  rdfs:comment "a relationship that holds between two forms of the 'same' molecule with identical chemical formulas but different bonds" ;
  skos:altLabel "spatial isomer of" ;
  rdfs:subPropertyOf chemrof:chemical_isomer_of .

chemrof:stoichiometry a owl:DatatypeProperty ;
  rdfs:label "stoichiometry" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

chemrof:structural_isomer_of a owl:ObjectProperty ;
  rdfs:label "structural isomer of" ;
  rdfs:comment "a relationship that holds between two forms of the 'same' molecule with identical chemical formulas but different bonding patterns" ;
  skos:altLabel "constitutional isomer" ;
  rdfs:seeAlso Wikipedia:Structural_isomer , goldbook:C01285 ;
  rdfs:subPropertyOf chemrof:chemical_isomer_of .

chemrof:subatomic_particle_count a owl:DatatypeProperty ;
  rdfs:label "subatomic particle count" ;
  rdfs:subPropertyOf chemrof:property_of_atom ;
  a owl:FunctionalProperty .

chemrof:subatomic_particle_type a owl:ObjectProperty ;
  rdfs:label "subatomic particle type" ;
  rdfs:range chemrof:SubatomicParticleEnum ;
  a owl:FunctionalProperty .

chemrof:subject_atom_occurrence a owl:ObjectProperty ;
  rdfs:label "subject atom occurrence" ;
  rdfs:range chemrof:AtomOccurrence ;
  a owl:FunctionalProperty .

chemrof:subtype_of a owl:ObjectProperty ;
  rdfs:label "subtype of" ;
  rdfs:comment "A subtype_of relationship holds between C and P if C is a more specialized form of P. Here C and P denotes instances of OWL classes, where C and P both function as grouping class" ;
  skos:altLabel "metasubclass of" ;
  skos:exactMatch wd:P2445 ;
  skos:narrowMatch rdfs:subClassOf ;
  rdfs:range owl:Class ;
  rdfs:domain owl:Class ;
  rdfs:subPropertyOf chemrof:chemical_to_chemical_relationship , chemrof:owl_subclass_of .

bo:symbol a owl:DatatypeProperty ;
  rdfs:label "symbol" ;
  rdfs:comment "short symbol for chemical entity, e.g. K, C-16" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf chemrof:information_property ;
  a owl:FunctionalProperty .

chemrof:tautomer_of a owl:ObjectProperty ;
  rdfs:label "tautomer of" ;
  rdfs:comment "structural isomers (constitutional isomers) of chemical compounds that readily interconvert. Examples: a neutral amino acid and its zwitterion" ;
  skos:exactMatch RO:0018036 ;
  rdfs:subPropertyOf chemrof:structural_isomer_of ;
  a owl:FunctionalProperty .

chemrof:thermophysical_property a owl:DatatypeProperty ;
  rdfs:label "thermophysical property" ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:topological_polar_surface_area a owl:DatatypeProperty ;
  rdfs:label "topological polar surface area" ;
  rdfs:comment "Topological Polar Surface Area corresponding to nitrogen and oxygen atoms calculated from 2D structure using contributions from pre-defined structure fragments containing these atoms" ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:torsional_angle a owl:DatatypeProperty ;
  rdfs:label "torsional angle" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:transitive_conjugatated_form_of a owl:ObjectProperty ;
  rdfs:label "transitive conjugatated form of" ;
  chemrof:transitive_closure_of "direct conjugatated from" ;
  rdfs:subPropertyOf chemrof:derivative_of ;
  a owl:TransitiveProperty .

chemrof:tucan_string a owl:DatatypeProperty ;
  rdfs:label "tucan string" ;
  rdfs:seeAlso <https://doi.org/10.21203/rs.3.rs-1466562/v1> ;
  rdfs:subPropertyOf chemrof:chemical_formula ;
  a owl:FunctionalProperty .

chemrof:type a owl:ObjectProperty ;
  rdfs:label "type" ;
  a owl:FunctionalProperty .

chemrof:valence a owl:DatatypeProperty ;
  rdfs:label "valence" ;
  rdfs:comment "the number of electrons that an atom uses in bonding [https://doi.org/10.1021%2Fed083p791]" ;
  skos:altLabel "atom valency" , "valency" ;
  skos:note "forumla: number of electrons in valence shell of free atom – number of non-bonding electrons on atom in molecule" , "forumla: number of bonds + formal charge" , "example:  In methane, carbon has a valence of 4, and each hydrogen has a valency of 1" , "example:  In in ammonia, nitrogen has a valence of 3, each each hydrogen has a valency of 1" , "todo: determine if this is in CHEBI and how to map" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

chemrof:van_der_waals_molecular_volume a owl:DatatypeProperty ;
  rdfs:label "van der waals molecular volume" ;
  rdfs:comment "van der Waals molecular volume calculated from 2D structure using atomic radii with adjustments for number of bonds, aromatic and non-aromatic rings" ;
  dcterms:source <https://www.lipidmaps.org/data/PhyschemPropHelp.html> ;
  rdfs:subPropertyOf chemrof:chemical_property ;
  a owl:FunctionalProperty .

chemrof:variant_reaction_of a owl:ObjectProperty ;
  rdfs:label "variant reaction of" ;
  rdfs:range chemrof:Reaction ;
  rdfs:domain chemrof:Reaction ;
  a owl:FunctionalProperty .

chemrof:water_solubility a owl:DatatypeProperty ;
  rdfs:label "water solubility" ;
  rdfs:comment "The maximum amount of a substance that can dissolve in water at 25°C, expressed in grams per liter (g/L)." ;
  skos:note "Standard temperature is 25°C (298.15 K)" , "This property represents the maximum equilibrium solubility in pure water" ;
  rdfs:range xsd:float ;
  rdfs:subPropertyOf chemrof:molecular_property ;
  a owl:FunctionalProperty .

chemrof:wurcs_representation a owl:DatatypeProperty ;
  rdfs:label "wurcs representation" ;
  skos:altLabel "WURCS" ;
  rdfs:subPropertyOf chemrof:carboydrate_representation ;
  a owl:FunctionalProperty .

chemrof:bond_energy a owl:DatatypeProperty ;
  rdfs:comment "the measure of bond strength in a chemical bond." ;
  skos:altLabel "average bond enthalpy" , "mean bond enthalpy" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:bond_length a owl:DatatypeProperty ;
  rdfs:comment "the average distance between nuclei of two bonded atoms in a molecule" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

chemrof:bond_order a owl:DatatypeProperty ;
  rdfs:comment "the number of electron pairs (bonds) between a pair of atoms" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

chemrof:object a owl:ObjectProperty ;
  rdfs:range chemrof:AtomOccurrence ;
  a owl:FunctionalProperty .

chemrof:subject a owl:ObjectProperty ;
  rdfs:range chemrof:AtomOccurrence ;
  a owl:FunctionalProperty .

chemrof:entities a owl:ObjectProperty ;
  rdfs:range chemrof:DomainEntity .

chemrof:derived_from_organisms a owl:ObjectProperty .

chemrof:count a owl:DatatypeProperty ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

chemrof:BondTypeEnum a owl:Class ;
  rdfs:label "bond_type_enum" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( gc:AromaticBond gc:NormalBond gc:Double gc:HydrogenBond chemrof:BondTypeEnum.IONIC chemrof:BondTypeEnum.METAL_METAL chemrof:BondTypeEnum.POLAR_COVALENT chemrof:BondTypeEnum.POLYCENTRIC gc:Quadruple chemrof:BondTypeEnum.SALT_BRIDGE chemrof:BondTypeEnum.SIGMA gc:Single gc:Triple )
  ] .

gc:AromaticBond a owl:NamedIndividual ;
  skos:notation "aromatic" ;
  a chemrof:BondTypeEnum .

gc:NormalBond a owl:NamedIndividual ;
  skos:notation "covalent" ;
  rdfs:comment "A covalent bond is a chemical bond that involves the sharing of pairs of electrons between atoms. This sharing results in a stable balance of attractive and repulsive forces between those atoms." ;
  a chemrof:BondTypeEnum .

gc:Double a owl:NamedIndividual ;
  skos:notation "double" ;
  a chemrof:BondTypeEnum .

gc:HydrogenBond a owl:NamedIndividual ;
  skos:notation "hydrogen" ;
  a chemrof:BondTypeEnum .

chemrof:BondTypeEnum.IONIC a owl:NamedIndividual ;
  skos:notation "ionic" ;
  a chemrof:BondTypeEnum .

chemrof:BondTypeEnum.METAL_METAL a owl:NamedIndividual ;
  skos:notation "metal-metal" ;
  a chemrof:BondTypeEnum .

chemrof:BondTypeEnum.POLAR_COVALENT a owl:NamedIndividual ;
  skos:notation "polar covalent" ;
  a chemrof:BondTypeEnum .

chemrof:BondTypeEnum.POLYCENTRIC a owl:NamedIndividual ;
  skos:notation "polycentric" ;
  a chemrof:BondTypeEnum .

gc:Quadruple a owl:NamedIndividual ;
  skos:notation "quadruple" ;
  a chemrof:BondTypeEnum .

chemrof:BondTypeEnum.SALT_BRIDGE a owl:NamedIndividual ;
  skos:notation "salt bridge" ;
  a chemrof:BondTypeEnum .

chemrof:BondTypeEnum.SIGMA a owl:NamedIndividual ;
  skos:notation "sigma" ;
  a chemrof:BondTypeEnum .

gc:Single a owl:NamedIndividual ;
  skos:notation "single" ;
  a chemrof:BondTypeEnum .

gc:Triple a owl:NamedIndividual ;
  skos:notation "triple" ;
  a chemrof:BondTypeEnum .

chemrof:BronstedAcidBaseRoleEnum a owl:Class ;
  rdfs:label "bronsted_acid_base_role_enum" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( chemrof:BronstedAcidBaseRoleEnum.ACID chemrof:BronstedAcidBaseRoleEnum.BASE )
  ] .

chemrof:BronstedAcidBaseRoleEnum.ACID a owl:NamedIndividual ;
  skos:notation "acid" ;
  rdfs:comment "CHEBI:39141" ;
  a chemrof:BronstedAcidBaseRoleEnum .

chemrof:BronstedAcidBaseRoleEnum.BASE a owl:NamedIndividual ;
  skos:notation "base" ;
  rdfs:comment "CHEBI:39142" ;
  a chemrof:BronstedAcidBaseRoleEnum .

chemrof:ClassificationLevelEnum a owl:Class ;
  rdfs:label "classification_level_enum" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( chemrof:ClassificationLevelEnum.CATEGORY chemrof:ClassificationLevelEnum.CLASS chemrof:ClassificationLevelEnum.ISOMERIC_SUBSPECIES chemrof:ClassificationLevelEnum.MOLECULAR_SUBSPECIES chemrof:ClassificationLevelEnum.SPECIES chemrof:ClassificationLevelEnum.STRUCTURAL_SUBSPECIES chemrof:ClassificationLevelEnum.SUBSPECIES chemrof:ClassificationLevelEnum.UNCATEGORIZED )
  ] .

chemrof:ClassificationLevelEnum.CATEGORY a owl:NamedIndividual ;
  skos:notation "Category" ;
  a chemrof:ClassificationLevelEnum .

chemrof:ClassificationLevelEnum.CLASS a owl:NamedIndividual ;
  skos:notation "Class" ;
  a chemrof:ClassificationLevelEnum .

chemrof:ClassificationLevelEnum.ISOMERIC_SUBSPECIES a owl:NamedIndividual ;
  skos:notation "IsomericSubspecies" ;
  a chemrof:ClassificationLevelEnum .

chemrof:ClassificationLevelEnum.MOLECULAR_SUBSPECIES a owl:NamedIndividual ;
  skos:notation "MolecularSubspecies" ;
  a chemrof:ClassificationLevelEnum .

chemrof:ClassificationLevelEnum.SPECIES a owl:NamedIndividual ;
  skos:notation "Species" ;
  a chemrof:ClassificationLevelEnum .

chemrof:ClassificationLevelEnum.STRUCTURAL_SUBSPECIES a owl:NamedIndividual ;
  skos:notation "StructuralSubspecies" ;
  a chemrof:ClassificationLevelEnum .

chemrof:ClassificationLevelEnum.SUBSPECIES a owl:NamedIndividual ;
  skos:notation "Subspecies" ;
  a chemrof:ClassificationLevelEnum .

chemrof:ClassificationLevelEnum.UNCATEGORIZED a owl:NamedIndividual ;
  skos:notation "Uncategorized" ;
  a chemrof:ClassificationLevelEnum .

chemrof:ElementFamilyEnum a owl:Class ;
  rdfs:label "element_family_enum" ;
  skos:closeMatch bo:family ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( chemrof:ElementFamilyEnum.ALKALI_EARTH chemrof:ElementFamilyEnum.ALKALINE_EARTH chemrof:ElementFamilyEnum.HALOGEN chemrof:ElementFamilyEnum.METALLOIDS chemrof:ElementFamilyEnum.NOBLEGAS chemrof:ElementFamilyEnum.NON_METAL chemrof:ElementFamilyEnum.OTHER_METAL chemrof:ElementFamilyEnum.RARE_EARTH chemrof:ElementFamilyEnum.TRANSITION )
  ] .

chemrof:ElementFamilyEnum.ALKALI_EARTH a owl:NamedIndividual ;
  skos:notation "Alkali_Earth" ;
  a chemrof:ElementFamilyEnum .

chemrof:ElementFamilyEnum.ALKALINE_EARTH a owl:NamedIndividual ;
  skos:notation "Alkaline_Earth" ;
  a chemrof:ElementFamilyEnum .

chemrof:ElementFamilyEnum.HALOGEN a owl:NamedIndividual ;
  skos:notation "Halogen" ;
  a chemrof:ElementFamilyEnum .

chemrof:ElementFamilyEnum.METALLOIDS a owl:NamedIndividual ;
  skos:notation "Metalloids" ;
  a chemrof:ElementFamilyEnum .

chemrof:ElementFamilyEnum.NOBLEGAS a owl:NamedIndividual ;
  skos:notation "Noblegas" ;
  a chemrof:ElementFamilyEnum .

chemrof:ElementFamilyEnum.NON_METAL a owl:NamedIndividual ;
  skos:notation "Non-Metal" ;
  a chemrof:ElementFamilyEnum .

chemrof:ElementFamilyEnum.OTHER_METAL a owl:NamedIndividual ;
  skos:notation "Other_Metal" ;
  a chemrof:ElementFamilyEnum .

chemrof:ElementFamilyEnum.RARE_EARTH a owl:NamedIndividual ;
  skos:notation "Rare_Earth" ;
  a chemrof:ElementFamilyEnum .

chemrof:ElementFamilyEnum.TRANSITION a owl:NamedIndividual ;
  skos:notation "Transition" ;
  a chemrof:ElementFamilyEnum .

chemrof:ElementMetallicClassification a owl:Class ;
  rdfs:label "element_metallic_classification" ;
  skos:exactMatch damlpt:Classification ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( damlpt:Metallic damlpt:Non-Metallic damlpt:Semi-Metallic )
  ] .

damlpt:Metallic a owl:NamedIndividual , chemrof:ElementMetallicClassification .

damlpt:Non-Metallic a owl:NamedIndividual , chemrof:ElementMetallicClassification .

damlpt:Semi-Metallic a owl:NamedIndividual , chemrof:ElementMetallicClassification .

chemrof:HardOrSoftEnum a owl:Class ;
  rdfs:label "hard_or_soft_enum" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( chemrof:HardOrSoftEnum.BORDERLINE chemrof:HardOrSoftEnum.HARD chemrof:HardOrSoftEnum.SOFT )
  ] .

chemrof:HardOrSoftEnum.BORDERLINE a owl:NamedIndividual ;
  skos:notation "borderline" ;
  a chemrof:HardOrSoftEnum .

chemrof:HardOrSoftEnum.HARD a owl:NamedIndividual ;
  skos:notation "hard" ;
  a chemrof:HardOrSoftEnum .

chemrof:HardOrSoftEnum.SOFT a owl:NamedIndividual ;
  skos:notation "soft" ;
  a chemrof:HardOrSoftEnum .

chemrof:IngredientRoleEnum a owl:Class ;
  rdfs:label "ingredient_role_enum" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( chemrof:IngredientRoleEnum.ACTIVE_INGREDIENT chemrof:IngredientRoleEnum.EXCIPIENT chemrof:IngredientRoleEnum.INACTIVE_INGREDIENT chemrof:IngredientRoleEnum.SOLVENT )
  ] .

chemrof:IngredientRoleEnum.ACTIVE_INGREDIENT a owl:NamedIndividual ;
  skos:notation "active ingredient" ;
  a chemrof:IngredientRoleEnum .

chemrof:IngredientRoleEnum.EXCIPIENT a owl:NamedIndividual ;
  skos:notation "excipient" ;
  a chemrof:IngredientRoleEnum .

chemrof:IngredientRoleEnum.INACTIVE_INGREDIENT a owl:NamedIndividual ;
  skos:notation "inactive ingredient" ;
  a chemrof:IngredientRoleEnum .

chemrof:IngredientRoleEnum.SOLVENT a owl:NamedIndividual ;
  skos:notation "solvent" ;
  a chemrof:IngredientRoleEnum .

chemrof:MoleculeClassificationEnum a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( CHEBI:35701 CHEBI:18059 )
  ] .

CHEBI:35701 a owl:NamedIndividual ;
  skos:notation "ester" ;
  a chemrof:MoleculeClassificationEnum .

CHEBI:18059 a owl:NamedIndividual ;
  skos:notation "lipid" ;
  a chemrof:MoleculeClassificationEnum .

chemrof:NanostructureMorphologyEnum a owl:Class ;
  rdfs:label "nanostructure_morphology_enum" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( CHEBI:52529 CHEBI:52518 CHEBI:50803 CHEBI:52530 CHEBI:50805 CHEBI:52531 CHEBI:50796 CHEBI:50806 CHEBI:52593 CHEBI:50853 )
  ] .

CHEBI:52529 a owl:NamedIndividual ;
  skos:notation "nanocrystal" ;
  a chemrof:NanostructureMorphologyEnum .

CHEBI:52518 a owl:NamedIndividual ;
  skos:notation "nanofibre" ;
  a chemrof:NanostructureMorphologyEnum .

CHEBI:50803 a owl:NamedIndividual ;
  skos:notation "nanoparticle" ;
  a chemrof:NanostructureMorphologyEnum .

CHEBI:52530 a owl:NamedIndividual ;
  skos:notation "nanoribbon" ;
  a chemrof:NanostructureMorphologyEnum .

CHEBI:50805 a owl:NamedIndividual ;
  skos:notation "nanorod" ;
  a chemrof:NanostructureMorphologyEnum .

CHEBI:52531 a owl:NamedIndividual ;
  skos:notation "nanosheet" ;
  a chemrof:NanostructureMorphologyEnum .

CHEBI:50796 a owl:NamedIndividual ;
  skos:notation "nanotube" ;
  a chemrof:NanostructureMorphologyEnum .

CHEBI:50806 a owl:NamedIndividual ;
  skos:notation "nanotubosome" ;
  a chemrof:NanostructureMorphologyEnum .

CHEBI:52593 a owl:NamedIndividual ;
  skos:notation "nanowire" ;
  a chemrof:NanostructureMorphologyEnum .

CHEBI:50853 a owl:NamedIndividual ;
  skos:notation "quantum dot" ;
  a chemrof:NanostructureMorphologyEnum .

chemrof:PeriodicTableBlockEnum a owl:Class ;
  rdfs:label "periodic_table_block_enum" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( CHEBI:33561 CHEBI:33562 chemrof:PeriodicTableBlockEnum.G_BLOCK CHEBI:33675 CHEBI:33674 )
  ] .

CHEBI:33561 a owl:NamedIndividual ;
  skos:notation "d-block" ;
  a chemrof:PeriodicTableBlockEnum .

CHEBI:33562 a owl:NamedIndividual ;
  skos:notation "f-block" ;
  a chemrof:PeriodicTableBlockEnum .

chemrof:PeriodicTableBlockEnum.G_BLOCK a owl:NamedIndividual ;
  skos:notation "g-block" ;
  rdfs:comment "The g-block is a hypothetical region in the periodic table of the elements." ;
  a chemrof:PeriodicTableBlockEnum .

CHEBI:33675 a owl:NamedIndividual ;
  skos:notation "p-block" ;
  a chemrof:PeriodicTableBlockEnum .

CHEBI:33674 a owl:NamedIndividual ;
  skos:notation "s-block" ;
  a chemrof:PeriodicTableBlockEnum .

chemrof:ReactionTypeEnum a owl:Class ;
  rdfs:label "reaction_type_enum" ;
  rdfs:comment "Classification of chemical reactions based on mechanistic and functional categories" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( RXNO:0000016 RXNO:0000041 chemrof:ReactionTypeEnum.AROMATIC_HETEROCYCLE_FORMATION chemrof:ReactionTypeEnum.BOND_BREAKING chemrof:ReactionTypeEnum.BOND_FORMATION RXNO:0000018 MOP:0000627 RXNO:0000005 chemrof:ReactionTypeEnum.DEPROTECTION RXNO:0000656 chemrof:ReactionTypeEnum.FUNCTIONAL_GROUP_ADDITION RXNO:0000057 RXNO:0000019 RXNO:0000619 RXNO:0000025 RXNO:0000012 chemrof:ReactionTypeEnum.PROTECTION RXNO:0000037 chemrof:ReactionTypeEnum.RESOLUTION chemrof:ReactionTypeEnum.RING_OPENING RXNO:0000331 )
  ] .

RXNO:0000016 a owl:NamedIndividual ;
  skos:notation "acylation" ;
  rdfs:comment "Formation of an acyl group bond, typically involving carboxylic acid derivatives" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000041 a owl:NamedIndividual ;
  skos:notation "addition" ;
  rdfs:comment "Reactions that add atoms or groups across multiple bonds" ;
  a chemrof:ReactionTypeEnum .

chemrof:ReactionTypeEnum.AROMATIC_HETEROCYCLE_FORMATION a owl:NamedIndividual ;
  skos:notation "aromatic_heterocycle_formation" ;
  rdfs:comment "Formation of aromatic rings containing heteroatoms" ;
  a chemrof:ReactionTypeEnum .

chemrof:ReactionTypeEnum.BOND_BREAKING a owl:NamedIndividual ;
  skos:notation "bond_breaking" ;
  rdfs:comment "Reactions that break existing bonds to form fragments or rearrange structures" ;
  a chemrof:ReactionTypeEnum .

chemrof:ReactionTypeEnum.BOND_FORMATION a owl:NamedIndividual ;
  skos:notation "bond_formation" ;
  rdfs:comment "Reactions that create new bonds between atoms or groups" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000018 a owl:NamedIndividual ;
  skos:notation "carbon_carbon_bond_formation" ;
  rdfs:comment "Reactions that form new carbon-carbon bonds" ;
  a chemrof:ReactionTypeEnum .

MOP:0000627 a owl:NamedIndividual ;
  skos:notation "condensation" ;
  rdfs:comment "A reaction in which two or more reactants yield a single main product with accompanying formation of a small molecule" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000005 a owl:NamedIndividual ;
  skos:notation "cyclization" ;
  rdfs:comment "Formation of cyclic structures from linear precursors" ;
  a chemrof:ReactionTypeEnum .

chemrof:ReactionTypeEnum.DEPROTECTION a owl:NamedIndividual ;
  skos:notation "deprotection" ;
  rdfs:comment "Removal of protecting groups to restore original functionalities" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000656 a owl:NamedIndividual ;
  skos:notation "elimination" ;
  rdfs:comment "A molecular process where two groups are lost with concomitant formation of an unsaturation in the molecule or formation of a new ring" ;
  a chemrof:ReactionTypeEnum .

chemrof:ReactionTypeEnum.FUNCTIONAL_GROUP_ADDITION a owl:NamedIndividual ;
  skos:notation "functional_group_addition" ;
  rdfs:comment "Addition of functional groups to unsaturated bonds or reactive centers" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000057 a owl:NamedIndividual ;
  skos:notation "functional_group_interconversion" ;
  rdfs:comment "Conversion of one functional group to another without changing the carbon skeleton" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000019 a owl:NamedIndividual ;
  skos:notation "heteroatom_alkylation_arylation" ;
  rdfs:comment "Alkylation or arylation of heteroatoms such as nitrogen, oxygen, or sulfur" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000619 a owl:NamedIndividual ;
  skos:notation "hydrolysis" ;
  rdfs:comment "A solvolysis reaction where the solvent material is water" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000025 a owl:NamedIndividual ;
  skos:notation "isomerization" ;
  rdfs:comment "Rearrangement reactions that convert one isomer to another" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000012 a owl:NamedIndividual ;
  skos:notation "oxidation" ;
  rdfs:comment "A functional group modification reaction where a functional group is oxidised" ;
  a chemrof:ReactionTypeEnum .

chemrof:ReactionTypeEnum.PROTECTION a owl:NamedIndividual ;
  skos:notation "protection" ;
  rdfs:comment "Introduction of protecting groups to temporarily mask reactive functionalities" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000037 a owl:NamedIndividual ;
  skos:notation "reduction" ;
  rdfs:comment "A functional group modification reaction where a functional group is reduced" ;
  a chemrof:ReactionTypeEnum .

chemrof:ReactionTypeEnum.RESOLUTION a owl:NamedIndividual ;
  skos:notation "resolution" ;
  rdfs:comment "Separation of enantiomers or other stereoisomers" ;
  a chemrof:ReactionTypeEnum .

chemrof:ReactionTypeEnum.RING_OPENING a owl:NamedIndividual ;
  skos:notation "ring_opening" ;
  rdfs:comment "Cleavage of cyclic structures to form linear products" ;
  a chemrof:ReactionTypeEnum .

RXNO:0000331 a owl:NamedIndividual ;
  skos:notation "substitution" ;
  rdfs:comment "A reaction step where one atom or group is replaced with another" ;
  a chemrof:ReactionTypeEnum .

chemrof:SubatomicParticleEnum a owl:Class ;
  rdfs:label "subatomic_particle_enum" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( CHEBI:36375 CHEBI:146278 CHEBI:36342 CHEBI:30216 CHEBI:30214 CHEBI:36339 CHEBI:36341 CHEBI:36370 CHEBI:36369 CHEBI:36343 CHEBI:29233 CHEBI:36367 CHEBI:10545 CHEBI:30223 CHEBI:36340 CHEBI:33233 CHEBI:36344 CHEBI:30220 CHEBI:15378 CHEBI:36365 CHEBI:36338 CHEBI:36345 CHEBI:36356 CHEBI:36353 CHEBI:36352 CHEBI:30222 CHEBI:36347 CHEBI:33253 CHEBI:30212 CHEBI:36348 CHEBI:36350 CHEBI:36349 CHEBI:36351 CHEBI:30225 CHEBI:24636 CHEBI:36346 CHEBI:36368 CHEBI:36355 CHEBI:36354 CHEBI:36371 CHEBI:29234 CHEBI:36366 )
  ] .

CHEBI:36375 a owl:NamedIndividual ;
  skos:notation "Delta baryon" ;
  a chemrof:SubatomicParticleEnum .

CHEBI:146278 a owl:NamedIndividual ;
  skos:notation "Higgs boson" ;
  rdfs:comment "A boson that is its own antiparticle, has no spin, zero electric charge and zero colour charge." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36342 a owl:NamedIndividual ;
  skos:notation "SubatomicParticle" ;
  rdfs:comment "A particle smaller than an atom." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:30216 a owl:NamedIndividual ;
  skos:notation "alpha particle" ;
  rdfs:comment "Nucleus of the (4)He atom." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:30214 a owl:NamedIndividual ;
  skos:notation "antimuon" ;
  rdfs:comment "Elementary particle not affected by the strong force having a spin 1/2, a positive elementary charge and a rest mass of 0.113428913(17) u, or 105.658389(34) MeV." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36339 a owl:NamedIndividual ;
  skos:notation "baryon" ;
  rdfs:comment "Baryon is a fermion that does experience the strong force (strong interaction). The term is derived from the Greek betaalpharhoupsilonsigma (heavy)." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36341 a owl:NamedIndividual ;
  skos:notation "boson" ;
  rdfs:comment "Particle of integer spin quantum number following Bose-Einstein statistics. Bosons are named after Satyendra Nath Bose." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36370 a owl:NamedIndividual ;
  skos:notation "bottom quark" ;
  rdfs:comment "A third-generation quark with a charge of -1/3." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36369 a owl:NamedIndividual ;
  skos:notation "charm quark" ;
  rdfs:comment "A second-generation quark with a charge of +2/3." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36343 a owl:NamedIndividual ;
  skos:notation "composite particle" ;
  rdfs:comment "A subatomic particle known to have substructure (i.e. consisting of smaller particles)." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:29233 a owl:NamedIndividual ;
  skos:notation "deuteron" ;
  rdfs:comment "Nucleus of the (2)H atom." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36367 a owl:NamedIndividual ;
  skos:notation "down quark" ;
  rdfs:comment "A first-generation quark with a charge of -1/3. The up and down quarks are the fundamental constituents of the nucleons." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:10545 a owl:NamedIndividual ;
  skos:notation "electron" ;
  rdfs:comment "Elementary particle not affected by the strong force having a spin 1/2, a negative elementary charge and a rest mass of 0.000548579903(13) u, or 0.51099906(15) MeV." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:30223 a owl:NamedIndividual ;
  skos:notation "electron neutrino" ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36340 a owl:NamedIndividual ;
  skos:notation "fermion" ;
  rdfs:comment "Particle of half-integer spin quantum number following Fermi-Dirac statistics. Fermions are named after Enrico Fermi." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:33233 a owl:NamedIndividual ;
  skos:notation "fundamental particle" ;
  rdfs:comment "A particle not known to have substructure." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36344 a owl:NamedIndividual ;
  skos:notation "hadron" ;
  rdfs:comment "Hadron is a subatomic particle which experiences the strong force." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:30220 a owl:NamedIndividual ;
  skos:notation "helion" ;
  rdfs:comment "Nucleus of the (3)He atom." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:15378 a owl:NamedIndividual ;
  skos:notation "hydron" ;
  rdfs:comment "The general name for the hydrogen nucleus, to be used without regard to the hydrogen nuclear mass (either for hydrogen in its natural abundance or where it is not desired to distinguish between the isotopes)." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36365 a owl:NamedIndividual ;
  skos:notation "hyperon" ;
  rdfs:comment "A baryon which contain one or more strange quarks. Hyperons are short-lived and heavier than nucleons." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36338 a owl:NamedIndividual ;
  skos:notation "lepton" ;
  rdfs:comment "Lepton is a fermion that does not experience the strong force (strong interaction). The term is derived from the Greek lambdaepsilonpitauomicronsigma (small, thin)." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36345 a owl:NamedIndividual ;
  skos:notation "meson" ;
  rdfs:comment "A hadron with zero or integer spin; a strongly interacting boson. The term is derived from the Greek muepsilonsigmaomicronsigma (medium, middle)." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36356 a owl:NamedIndividual ;
  skos:notation "muon" ;
  rdfs:comment "Elementary particle not affected by the strong force having a spin 1/2, a negative elementary charge and a rest mass of 0.113428913(17) u, or 105.658389(34) MeV." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36353 a owl:NamedIndividual ;
  skos:notation "muon neutrino" ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36352 a owl:NamedIndividual ;
  skos:notation "neutrino" ;
  rdfs:comment "An elementary particle of spin 1/2, zero electric charge and negligible rest mass. Three known types (flavors) of neutrino are electron neutrino, muon neutrino and tau neutrino, named after their charged partner leptons." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:30222 a owl:NamedIndividual ;
  skos:notation "neutron" ;
  rdfs:comment "Nuclear particle of zero charge, spin 1/2 and rest mass of 1.008664904(14) u." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36347 a owl:NamedIndividual ;
  skos:notation "nuclear particle" ;
  rdfs:comment "A nucleus or any of its constituents in any of their energy states." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:33253 a owl:NamedIndividual ;
  skos:notation "nucleon" ;
  rdfs:comment "Heavy nuclear particle: proton or neutron." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:30212 a owl:NamedIndividual ;
  skos:notation "photon" ;
  rdfs:comment "Particle of zero charge, zero rest mass, spin quantum number 1, energy hnu and momentum hnu/c (h is the Planck constant, nu the frequency of radiation and c the speed of light), carrier of electromagnetic force." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36348 a owl:NamedIndividual ;
  skos:notation "pi meson" ;
  rdfs:comment "The collective name for zero-spin mesons pi(+), pi(-) and pi(0)." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36350 a owl:NamedIndividual ;
  skos:notation "pi minus meson" ;
  rdfs:comment "A subatomic particle of charge number -1, zero spin and rest mass of 0.1498323(8) u, or 139.5679(7) MeV." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36349 a owl:NamedIndividual ;
  skos:notation "pi positive meson" ;
  rdfs:comment "A subatomic particle of charge number +1, zero spin and rest mass of 0.1498323(8) u, or 139.5679(7) MeV." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36351 a owl:NamedIndividual ;
  skos:notation "pi zero meson" ;
  rdfs:comment "A subatomic particle of zero charge, zero spin and rest mass of 0.1449008(9) u, or 134.9743(8) MeV." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:30225 a owl:NamedIndividual ;
  skos:notation "positron" ;
  rdfs:comment "Elementary particle not affected by the strong force having a spin 1/2, a positive elementary charge and a rest mass of 0.000548579903(13) u, or 0.51099906(15) MeV." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:24636 a owl:NamedIndividual ;
  skos:notation "proton" ;
  rdfs:comment "Nuclear particle of charge number +1, spin 1/2 and rest mass of 1.007276470(12) u." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36346 a owl:NamedIndividual ;
  skos:notation "quark" ;
  rdfs:comment "Quarks comprise one of two classes of the fundamental particles. Quarks possess fractional electric charges and are not observed in free state." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36368 a owl:NamedIndividual ;
  skos:notation "strange quark" ;
  rdfs:comment "A second-generation quark with a charge of -1/3 and a strangeness of -1." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36355 a owl:NamedIndividual ;
  skos:notation "tau lepton" ;
  rdfs:comment "Elementary particle not affected by the strong force having a spin 1/2, a negative elementary charge and a rest mass of 1777.05 MeV." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36354 a owl:NamedIndividual ;
  skos:notation "tau neutrino" ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36371 a owl:NamedIndividual ;
  skos:notation "top quark" ;
  rdfs:comment "A third-generation quark with a charge of +2/3." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:29234 a owl:NamedIndividual ;
  skos:notation "triton" ;
  rdfs:comment "Nucleus of the (3)H atom." ;
  a chemrof:SubatomicParticleEnum .

CHEBI:36366 a owl:NamedIndividual ;
  skos:notation "up quark" ;
  rdfs:comment "A first-generation quark with a charge of +2/3. The up and down quarks are the fundamental constituents of the nucleons." ;
  a chemrof:SubatomicParticleEnum .

xsd:anyURI rdfs:label "file location" .

dcterms:license a owl:AnnotationProperty .

pav:version a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

skos:example a owl:AnnotationProperty .

skos:altLabel a owl:AnnotationProperty .

skos:mappingRelation a owl:AnnotationProperty .

skos:note a owl:AnnotationProperty .

skos:exactMatch a owl:AnnotationProperty .

skos:closeMatch a owl:AnnotationProperty .

skos:editorialNote a owl:AnnotationProperty .

dcterms:source a owl:AnnotationProperty .

chemrof:hash_of a owl:AnnotationProperty .

chemrof:inchi.index a owl:AnnotationProperty .

skos:narrowMatch a owl:AnnotationProperty .

chemrof:transitive_closure_of a owl:AnnotationProperty .

skos:notation a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .
