@prefix biggC: <http://bigg.ucsd.edu/compartments/> .
@prefix bigg.compartment: <https://identifiers.org/bigg.compartment:> . # proxy for biggC: via identifiers.org
@prefix biggM: <http://bigg.ucsd.edu/universal/metabolites/> .
@prefix bigg.metabolite: <https://identifiers.org/bigg.metabolite:> . # proxy for biggM: via identifiers.org
@prefix biggR: <http://bigg.ucsd.edu/universal/reactions/> .
@prefix bigg.reaction: <https://identifiers.org/bigg.reaction:> . # proxy for biggR: via identifiers.org
@prefix cco: <http://brg.ai.sri.com/CCO/downloads/cco.html#> .
@prefix chebi: <http://purl.obolibrary.org/obo/CHEBI_> .
@prefix CHEBI: <https://identifiers.org/CHEBI:> . # proxy for chebi: via identifiers.org
@prefix chem: <https://rdf.metanetx.org/chem/> .
@prefix metanetx.chemical: <https://identifiers.org/metanetx.chemical:> . # proxy for chem: via identifiers.org
@prefix cl: <http://purl.obolibrary.org/obo/CL_> .
@prefix CL: <https://identifiers.org/CL:> . # proxy for cl: via identifiers.org
@prefix comp: <https://rdf.metanetx.org/comp/> .
@prefix metanetx.compartment: <https://identifiers.org/metanetx.compartment:> . # proxy for comp: via identifiers.org
@prefix envipathM: <https://envipath.org/package/> .
@prefix envipath: <https://identifiers.org/envipath:> . # proxy for envipathM: via identifiers.org
@prefix glycosphingo: <http://slm.example.org/glycosphingo/> .
@prefix go: <http://purl.obolibrary.org/obo/GO_> .
@prefix GO: <https://identifiers.org/GO:> . # proxy for go: via identifiers.org
@prefix hmdb: <https://identifiers.org/hmdb:> .
@prefix inchi: <https://identifiers.org/inchi:> .
@prefix inchikey: <https://identifiers.org/inchikey:> .
@prefix keggC: <https://www.genome.jp/kegg/> .
@prefix kegg.compound: <https://identifiers.org/kegg.compound:> . # proxy for keggC: via identifiers.org
@prefix keggD: <https://www.genome.jp/kegg/drug/> .
@prefix kegg.drug: <https://identifiers.org/kegg.drug:> . # proxy for keggD: via identifiers.org
@prefix keggE: <https://www.genome.jp/kegg/> .
@prefix kegg.environ: <https://identifiers.org/kegg.environ:> . # proxy for keggE: via identifiers.org
@prefix keggG: <https://www.genome.jp/kegg/glycan/> .
@prefix kegg.glycan: <https://identifiers.org/kegg.glycan:> . # proxy for keggG: via identifiers.org
@prefix keggR: <https://www.genome.jp/kegg/reaction/> .
@prefix kegg.reaction: <https://identifiers.org/kegg.reaction:> . # proxy for keggR: via identifiers.org
@prefix lipidmapsM: <http://www.lipidmaps.org/data/LMSDRecord.php?LMID=> .
@prefix lipidmaps: <https://identifiers.org/lipidmaps:> . # proxy for lipidmapsM: via identifiers.org
@prefix metacycM: <https://biocyc.org/compound?id=> .
@prefix metacyc.compound: <https://identifiers.org/metacyc.compound:> . # proxy for metacycM: via identifiers.org
@prefix metacycR: <https://metacyc.org/META/NEW-IMAGE?type=REACTION&object=> .
@prefix metacyc.reaction: <https://identifiers.org/metacyc.reaction:> . # proxy for metacycR: via identifiers.org
@prefix mnet: <https://rdf.metanetx.org/mnet/> .
@prefix mnx: <https://rdf.metanetx.org/schema/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix pept: <https://rdf.metanetx.org/pept/> .
@prefix pmid: <http://rdf.ncbi.nlm.nih.gov/pubmed/> .
@prefix pubmed: <https://identifiers.org/pubmed:> . # proxy for pmid: via identifiers.org
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix reac: <https://rdf.metanetx.org/reac/> .
@prefix metanetx.reaction: <https://identifiers.org/metanetx.reaction:> . # proxy for reac: via identifiers.org
@prefix reactomeM: <https://reactome.org/content/detail/> .
@prefix reactomeR: <https://reactome.org/content/detail/> .
@prefix reactome: <https://identifiers.org/reactome:> . # proxy for reactomeR: or reactomeM: via identifiers.org
@prefix rheaC: <http://rdf.rhea-db.org/compartment/> .
@prefix rheaG: <http://rdf.rhea-db.org/generic/> .
@prefix rheaP: <http://rdf.rhea-db.org/polymer/> .
@prefix rh: <http://rdf.rhea-db.org/> .
@prefix rhea: <https://identifiers.org/rhea:> . # proxy for rh: via identifiers.org
@prefix rheaV: <http://rdf.rhea-db.org/> .
@prefix elr: <http://rdf.rhea-db.org/elr/> .
@prefix sabiorkM: <https://sabiork.h-its.org/newSearch?q=> .
@prefix sabiork.compound: <https://identifiers.org/sabiork.compound:> . # proxy for sabiorkM: via identifiers.org
@prefix sabiorkR: <https://sabiork.h-its.org/newSearch?q=sabioreactionid:> .
@prefix sabiork.reaction: <https://identifiers.org/sabiork.reaction:> . # proxy for sabiorkR: via identifiers.org
@prefix sbo: <https://identifiers.org/SBO:> .
@prefix seedC: <https://a_placeholder_base_IRI_for_modelseed_compartments/> .
@prefix seedM: <https://modelseed.org/biochem/compounds/> .
@prefix seed.compound: <https://identifiers.org/seed.compound:> . # proxy for seedM: via identifiers.org
@prefix seedR: <https://modelseed.org/biochem/reactions/> .
@prefix seed.reaction: <https://identifiers.org/seed.reaction:> . # proxy for seedR: via identifiers.org
@prefix slm: <https://swisslipids.org/rdf/SLM_> .
@prefix SLM: <https://identifiers.org/SLM:> . # proxy for slm: via identifiers.org
@prefix taxon: <http://purl.uniprot.org/taxonomy/> .
@prefix taxonomy: <https://identifiers.org/taxonomy:> . # proxy for taxon: via identifiers.org
@prefix uniprotkb: <http://purl.uniprot.org/uniprot/> .
@prefix uniprot: <https://identifiers.org/uniprot:> . # proxy for uniprotkb: via identifiers.org
@prefix up: <http://purl.uniprot.org/core/> .
@prefix vmhG: <https://vmh.life/#gene/> .
@prefix vmhgene: <https://identifiers.org/vmhgene:> . # proxy for vmhG: via identifiers.org
@prefix vmhM: <https://vmh.life/#metabolite/> .
@prefix vmhmetabolite: <https://identifiers.org/vmhmetabolite:> . # proxy for vmhM: via identifiers.org
@prefix vmhR: <https://vmh.life/#reaction/> .
@prefix vmhreaction: <https://identifiers.org/vmhreaction:> . # proxy for vmhR: via identifiers.org
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix sdo: <https://schema.org/> .

mnx: rdf:type owl:Ontology ;
	owl:versionIRI <http://purl.org/net/mnx/1.0> ;
    <http://purl.org/dc/terms/abstract> "MetaNetX/MNXref is a reconciliation of metabolites and biochemical reactions, providing cross-links between major public biochemistry and Genome-Scale Metabolic Network (GSMN) databases.";
	<http://purl.org/dc/terms/bibliographicCitation> """MetaNetX/MNXref: unified namespace for metabolites and biochemical reactions in the context of metabolic models
Sébastien Moretti, Van Du T Tran, Florence Mehl, Mark Ibberson, Marco Pagni 
Nucleic Acids Research (2021), 49(D1):D570-D574""" ;
	<http://purl.org/dc/terms/created> "2017-11-13"^^xsd:date ;
    <http://purl.org/dc/terms/creator> <https://orcid.org/0000-0001-9292-9463> ,
									   <https://orcid.org/0000-0003-3947-488X> ;
    <https://w3id.org/widoco/vocab#introduction> """
GSMN reconstruction is one of the foundations of Systems Biology. The development of such 
reconstruction involves the integration of knowledge about reactions and metabolites from 
the scientific literature, public databases and previously published GSMNs. Historically, 
many GSMNs were formulated using metabolites represented as "symbols", i.e. without 
explicit reference to a molecular structure. The initial motivation for creating this 
resource ten years ago was to add molecular structures to existing GSMNs. More generally, 
the goal was to establish cross-links between symbols in GSMNs published by different 
groups and the molecules found in the major biochemical databases. This problem is trivial 
as long as one-to-one mappings can be established between the different resources, but 
this is not always the case. Merging metabolites in a metabolic network may lead to the 
merging of reactions, possibly altering the model properties, and hence the predictions 
that could be made using it.
<br>
<img src="https://www.metanetx.org/images/MNXref_schema.png" alt="drawing" width="800"/>

""";
<http://purl.org/dc/terms/description> """
MetaNetX/MNXref: unified namespace for metabolites and biochemical reactions in the context of metabolic models""";
    <http://purl.org/dc/terms/issue> "2017-12-01"^^xsd:date ;
    <http://purl.org/dc/terms/license> <https://creativecommons.org/licenses/by/4.0/> ;
    <http://purl.org/dc/terms/modified> "2024-05-14"^^xsd:date ;
    <http://purl.org/dc/terms/title> "MetaNetX Ontology"@en ;
    <http://purl.org/vocab/vann/preferredNamespacePrefix> "mnx" ;
    <http://purl.org/vocab/vann/preferredNamespaceUri> <https://rdf.metanetx.org> ;
    # <http://schema.org/image> <https://www.metanetx.org/images/MNXref_schema.png> ;
 .

mnx:COMP a rdfs:Class ;
    rdfs:comment 'The type of all sub-cellular compartments, including specific and generic compartments' .
mnx:CHEM a rdfs:Class ;
    rdfs:comment 'The type of all metabolites' .
mnx:REAC a rdfs:Class ;
    rdfs:comment 'The type of all reactions, as defined in MNXref (with generic compartments) and in MetaNetX models (with specific compartments)' .
mnx:PEPT a rdfs:Class ;
    rdfs:comment 'The type for a gene or a protein that appears in MetaNetX models' .
mnx:PART a rdfs:Class ;
    rdfs:comment 'The type for a helper class, consisting of a compartmentalized chemical species (mnx:CHEM and mnx:COMP) associated with a particular stoichiometric coefficient' .
mnx:GPR a rdfs:Class ;
    rdfs:comment 'The type for Gene-Protein-Reaction, i.e. this is a helper class to associate a reaction (mnx:REAC) with zero, one or more catalyzers (mnx:CATA)' .
mnx:CATA  a rdfs:Class ;
    rdfs:comment 'The type of a helper class to describe one or several protein complexes' .

mnx:chemReplacedBy a rdf:Property ;
    rdfs:comment 'indicate how to replace a deprecated entity' ;
    rdfs:range mnx:CHEM ;
    rdfs:domain mnx:CHEM .
mnx:compReplacedBy a rdf:Property ;
    rdfs:comment 'indicate how to replace a deprecated entity' ;
    rdfs:range mnx:COMP ;
    rdfs:domain mnx:COMP .
mnx:reacReplacedBy a rdf:Property ;
    rdfs:comment 'indicate how to replace a deprecated entity' ;
    rdfs:range mnx:REAC ;
    rdfs:domain mnx:REAC .
mnx:compSource a rdf:Property ;
    rdfs:comment 'A predicate to design the public IRI that best represents a MNXref compartment' ;
    rdfs:domain mnx:COMP ;
    rdfs:range rdfs:Resource .
mnx:compRefer a rdf:Property ;
    rdfs:comment 'A predicate to design the public IRI that best represents a MNXref compartment' ;
    rdfs:domain mnx:COMP ;
    rdfs:range rdfs:Resource .
mnx:compXref a rdf:Property ;
    rdfs:comment 'A predicate to list all public IRIs that are included in a MNXref compartment' ;
    rdfs:domain mnx:COMP ;
    rdfs:range rdfs:Resource .
mnx:chemSource a rdf:Property ;
    rdfs:comment 'A predicate to design the public IRI that best represents a MNXref metabolite' ;
    rdfs:domain mnx:CHEM ;
    rdfs:range rdfs:Resource .
mnx:chemRefer a rdf:Property ;
    rdfs:comment 'A predicate to design the public IRI that best represents a MNXref metabolite' ;
    rdfs:domain mnx:CHEM ;
    rdfs:range rdfs:Resource .
mnx:chemXref a rdf:Property ;
    rdfs:comment 'A predicate to list all public IRIs that are included in a MNXref metabolite' ;
    rdfs:domain mnx:CHEM ;
    rdfs:range rdfs:Resource .
mnx:reacSource a rdf:Property ;
    rdfs:comment 'A predicate to design the public IRI that best represents a MNXref reaction' ;
    rdfs:domain mnx:REAC ;
    rdfs:range rdfs:Resource .
mnx:reacRefer a rdf:Property ;
    rdfs:comment 'A predicate to design the public IRI that best represents a MNXref reaction' ;
    rdfs:domain mnx:REAC ;
    rdfs:range rdfs:Resource .
mnx:reacXref a rdf:Property ;
    rdfs:comment 'A predicate to list all public IRIs that are included in a MNXref reaction' ;
    rdfs:domain mnx:REAC ;
    rdfs:range rdfs:Resource .
mnx:peptXref a rdf:Property ;
    rdfs:comment 'A predicate to list all public IRIs that correspond to a gene or a protein' ;
    rdfs:domain mnx:PEPT ;
    rdfs:range rdfs:Resource.
mnx:geneName a rdf:Property ;
    rdfs:comment 'A predicate to list all gene name that correspond to a gene or a protein' ;
    rdfs:domain mnx:PEPT ;
    rdfs:range rdfs:Resource.
mnx:formula a rdf:Property ;
    rdfs:comment '' ;
    rdfs:domain mnx:CHEM ;
    rdfs:range xsd:string .
mnx:charge a rdf:Property ;
    rdfs:comment '' ;
    rdfs:domain mnx:CHEM ;
    rdfs:range xsd:integer .
mnx:mass a rdf:Property ;
    rdfs:comment '' ;
    rdfs:domain mnx:CHEM ;
    rdfs:range xsd:decimal .
mnx:inchi a rdf:Property ;
    rdfs:comment '';
    rdfs:domain mnx:CHEM ;
    rdfs:range xsd:string .
mnx:inchikey a rdf:Property ;
    rdfs:comment '';
    rdfs:domain mnx:CHEM ;
    rdfs:range xsd:string .
mnx:smiles a rdf:Property ;
    rdfs:comment '';
    rdfs:domain mnx:CHEM ;
    rdfs:range xsd:string .
mnx:hasIsomericChild a rdf:Property ;
    owl:sameAs mnx:chemIsom ;
    owl:deprecated true .
mnx:chemIsom a rdf:Property ;
    rdfs:comment 'The object molecule has a more detailed description of its stereochemistry (either enantiomers or cis-trans isomers) than the subject molecule, i.e. the subject molecule encompasses the object molecule';
    rdfs:domain mnx:CHEM ;
    rdfs:range mnx:CHEM .
mnx:reacIsom rdfs:subPropertyOf mnx:hasIsomericChild ;
    rdfs:comment 'The object reaction has a more detailed description of the stereochemistry of its reactants than the subject reaction';
    rdfs:domain mnx:REAC ;
    rdfs:range mnx:REAC .
mnx:isBalanced a rdf:Property ;
    rdfs:comment 'Is the reaction balanced?' ;
    rdfs:domain mnx:REAC ;
    rdfs:range xsd:boolean .
mnx:isTransport a rdf:Property ;
    rdfs:domain mnx:REAC ;
    rdfs:range xsd:boolean .
mnx:classification a rdf:Property ;
    rdfs:domain mnx:REAC ;
    rdfs:range xsd:string .
mnx:left a rdf:Property ;
    rdfs:comment 'A predicate to specify the parts (mnx:PART) on the left side of a chemical equation (mnx:REAC)';
    rdfs:domain mnx:REAC ;
    rdfs:range mnx:PART .
mnx:right a rdf:Property ;
    rdfs:comment 'A predicate to specify the parts (mnx:PART) on the right side of a chemical equation (mnx:REAC)';
    rdfs:domain mnx:REAC ;
    rdfs:range mnx:PART .
mnx:side a rdf:Property ;
    rdfs:comment 'A predicate to specify the parts (mnx:PART) on the both sides of a chemical equation (mnx:REAC)';
    rdfs:seeAlso rheaV:side ;
    rdfs:domain mnx:REAC ;
    rdfs:range mnx:PART .
mnx:gpr a rdf:Property ;
    rdfs:comment 'A predicate to list GPRs that make the core of any model' ;
    rdfs:domain mnx:MNET ;
    rdfs:range mnx:GPR .
mnx:reac a rdf:Property ;
    rdfs:comment 'contains the following catalyzers (mnx:CATA)' ;
    rdfs:domain mnx:GPR ;
    rdfs:range mnx:REAC .
mnx:cata a rdf:Property ;
    rdfs:comment 'contains the following catalyzers (enzymatic complex(s) and flux constraints)' ;
    rdfs:domain mnx:GPR ;
    rdfs:range mnx:CATA .
mnx:pept a rdf:Property ;
    rdfs:comment 'implies the list of genes or proteins (no logical constraint specified here)' ;
    rdfs:domain  mnx:CATA ;
    rdfs:range mnx:PEPT .
mnx:cplx a rdf:Property ;
    rdfs:comment 'requires the full list of genes or proteins to be functional' ;
    rdfs:domain mnx:CATA ;
    rdfs:range mnx:CPLX ;
    owl:seeAlso sbo:0000173 .
mnx:subu a rdf:Property ;
    rdfs:comment 'A predicate to enumerate sub-units (mnx:PEPT) that make of an enzyme or transporter (mnx:CPLX)' ;
    rdfs:domain mnx:CPLX ;
    rdfs:range mnx:PEPT .
mnx:mnxr a rdf:Property ;
    rdfs:comment 'belongs to the MNXref reaction' ;
    rdfs:range mnx:REAC ;
    rdfs:domain mnx:REAC .
mnx:taxid a rdf:Property ;
    rdfs:comment 'indicates an NCBI Taxid' ;
    rdfs:range mnx:MNET .
mnx:pmid a rdf:Property ;
    rdfs:comment 'Cites a PubMed identifier' ;
    rdfs:range mnx:MNET .
mnx:lineage a rdf:Property ;
    rdfs:comment 'Organism lineage' ;
    rdfs:domain mnx:MNET ;
    rdfs:range xsd:string .
mnx:organism a rdf:Property ;
    rdfs:comment 'Organism name' ;
    rdfs:domain mnx:MNET ;
    rdfs:range xsd:string .
mnx:canGrow a rdf:Property ;
    rdfs:comment 'is the model able to simulate growth' ;
    rdfs:domain mnx:MNET ;
    rdfs:range xsd:string .
mnx:reacCount a rdf:Property ;
    rdfs:comment 'Number of reactions' ;
    rdfs:domain mnx:MNET ;
    rdfs:range xsd:integer .
mnx:specCount a rdf:Property ;
    rdfs:comment 'Number of compartmentalized chemical species' ;
    rdfs:domain mnx:MNET ;
    rdfs:range xsd:integer .
mnx:chemCount a rdf:Property ;
    rdfs:comment 'Number of chemicals' ;
    rdfs:domain mnx:MNET ;
    rdfs:range xsd:integer .
mnx:compCount a rdf:Property ;
    rdfs:comment 'Number of compartments' ;
    rdfs:domain mnx:MNET ;
    rdfs:range xsd:integer .
mnx:peptCount a rdf:Property ;
    rdfs:comment 'Number of genes/peptides' ;
    rdfs:domain mnx:MNET ;
    rdfs:range xsd:integer .
mnx:isGenericComp a rdf:Property ;
    rdfs:comment 'tags generic/placeholder compartment' ;
    rdfs:domain mnx:COMP ;
    rdfs:range xsd:boolean .
mnx:chemInMNXref a rdf:Property ;
    rdfs:comment 'identifies metabolites in MNXref' ;
    rdfs:domain mnx:CHEM ;
    rdfs:range xsd:boolean .
mnx:compInMNXref a rdf:Property ;
    rdfs:comment 'identifies (generic) compartments in MNXref' ;
    rdfs:domain mnx:COMP ;
    rdfs:range xsd:boolean .
mnx:reacInMNXref a rdf:Property ;
    rdfs:comment 'identifies reactions in MNXref' ;
    rdfs:domain mnx:REAC ;
    rdfs:range xsd:boolean .
mnx:BIOMASS a mnx:CHEM ;
    rdfs:label 'mnx:BIOMASS' ;
    rdfs:comment 'A symbol to represent biomass' .
mnx:PROTON a mnx:CHEM ;
    rdfs:label 'mnx:PROTON' ;
    rdfs:comment 'A symbol to represent the proton (H+) that is used to balance chemical equations' .
mnx:PMF a mnx:CHEM ;
    rdfs:label 'mnx:PMF' ;
    rdfs:comment 'A symbol to represent the proton motive force (PMF). PMF is often confounded with (balance) proton. MetaNetX attempts to distinguish them systematically' .
mnx:WATER a mnx:CHEM ;
    rdfs:label 'mnx:WATER' ;
    rdfs:comment 'A symbol to represent water' .
mnx:HYDROXYDE a mnx:CHEM ;
    rdfs:label 'mnx:HYDROXYDE' ;
    rdfs:comment 'A symbol to represent hydroxide (OH-). In principle, it can be substituted for mnx:PROTON or mnx:PMF on the other side of a chemical equation, hence it should not appear in MetaNetX models' .
mnx:BOUNDARY a mnx:COMP ;
    rdfs:label 'mnx:BOUNDARY' ;
    rdfs:comment 'A symbol to represent a model boundary and that appears in so-called external reactions' .
mnx:EMPTY a rdfs:Class;
    rdfs:label 'mnx:EMPTY ' ;
    rdfs:comment 'A symbol for reaction which both sides are empty, and that should not appear in a model. Typically, acid-base reactions become empty as the reconciliation merges different protonation states of a given metabolite.' .
mnx:MNXR01 a rdfs:Class;
    rdfs:label 'mnx:MNXR01' ;
    rdfs:comment 'An artificial reaction that exchange proton for PMF (a very trumpian deal)' .
mnx:SPONTANEOUS a mnx:PEPT ;
    rdfs:label 'mnx:SPONTANEOUS' ;
    rdfs:comment 'A symbol to tag reactions that occur spontaneously' .



<https://orcid.org/0000-0001-9292-9463> a foaf:Person , prov:Person ;
    rdfs:label      "Marco Pagni"                  ;
    sdo:name        "Marco Pagni"                  ;
    sdo:email       <mailto:marco.pagni@sib.swiss> ;
    sdo:affiliation <https://www.sib.swiss>        .

<https://orcid.org/0000-0003-3947-488X> a foaf:Person , prov:Person ;
    rdfs:label      "Sébastien Moretti"                  ;
    sdo:name        "Sébastien Moretti"                  ;
    sdo:email       <mailto:Sebastien.Moretti@sib.swiss> ;
    sdo:affiliation <https://www.sib.swiss>              .


