NOTE: These are abstractions of terms I think should be added, not absolutes. The details of these implementations, especially naming, are definitely up for debate, please give feedback!
Class name: ReactionParticipant
Purpose: To better represent a reaction and its participants, a midway type that links Reactions and Compounds called ReactionParticipant should be created. Through it, it is possible to mention the same compound in different reactions with different stoichiometric ratios
Example use case: You have a CompoundX which participates in two chemical reactions: ReactionA and ReactionB. In ReactionA, CompoundX's stoichiometric ratio is 2, while in ReactionB its stoichiometric ratio is 1. Make both ReactionA and ReactionB point to different ReactionParticipant objects through a new hasReactionParticipant predicate. These ReactionParticipant objects then point to their respective stoichiometric ratios through a new stoichiometricRatio predicate. They then both point to CompoundX.
Clashes: SyBiOnt currently makes connections between Reactions and Compounds through the memberOf predicate. That's fine, but if we want to better describe a reaction, or a compounds involvement in multiple different reactions, something like ReactionParticipant seems necessary.
NOTE: These are abstractions of terms I think should be added, not absolutes. The details of these implementations, especially naming, are definitely up for debate, please give feedback!
Class name: ReactionParticipant
Purpose: To better represent a reaction and its participants, a midway type that links Reactions and Compounds called ReactionParticipant should be created. Through it, it is possible to mention the same compound in different reactions with different stoichiometric ratios
Example use case: You have a CompoundX which participates in two chemical reactions: ReactionA and ReactionB. In ReactionA, CompoundX's stoichiometric ratio is 2, while in ReactionB its stoichiometric ratio is 1. Make both ReactionA and ReactionB point to different ReactionParticipant objects through a new hasReactionParticipant predicate. These ReactionParticipant objects then point to their respective stoichiometric ratios through a new stoichiometricRatio predicate. They then both point to CompoundX.
Clashes: SyBiOnt currently makes connections between Reactions and Compounds through the memberOf predicate. That's fine, but if we want to better describe a reaction, or a compounds involvement in multiple different reactions, something like ReactionParticipant seems necessary.