inhibits / inhibitedBy
Properties expressing biological suppression relationships where one entity blocks, downregulates, or reduces activity in another. inhibitedBy is the inverse property.
Why These Properties Exist
Understanding what suppresses or blocks biological processes is fundamental to medicine. Drugs work by inhibiting enzymes, hormones downregulate metabolic pathways, and anti-inflammatory agents block inflammatory cascades. Yet schema.org provides no way to express these relationships.
When marking up health content, we frequently need to state things like:
- "Botulinum toxin inhibits acetylcholine release"
- "Cortisol inhibits collagen synthesis"
- "COX-2 inhibitors block prostaglandin production"
The inhibits and inhibitedBy properties enable:
- Drug mechanism documentation: Explain how medications work by linking them to what they block
- Side effect understanding: Show why treatments have certain adverse effects
- Contraindication modelling: Connect why certain combinations are problematic
- Regulatory network mapping: Build complete pictures of biological control systems
Alignment with Established Ontologies
This property aligns with the Gene Ontology's negatively_regulates relationship. The terminology "inhibits" was chosen for accessibility whilst maintaining the semantic precision needed for medical content.
Domain and Range
inhibits — Used On (Domain)
| Type | Context |
|---|---|
| schema:Drug | Medications that block enzymes, receptors, or biological processes |
| schema:ChemicalSubstance | Hormones, toxins, or other substances that suppress activity |
| schema:Protein | Regulatory proteins, antibodies, or enzymes that block targets |
| hs:BiologicalProcess | Processes that suppress other processes (e.g., apoptosis inhibiting proliferation) |
| schema:AnatomicalStructure | Structures that suppress others (e.g., inhibitory neurons) |
inhibits — Expected Values (Range)
| Type | Context |
|---|---|
| hs:BiologicalProcess | Cellular activities, metabolic processes, or physiological responses being suppressed |
| schema:ChemicalSubstance | Substances whose production or activity is reduced |
| schema:Protein | Proteins whose expression or activity is downregulated |
| schema:AnatomicalStructure | Cells or tissues being suppressed (e.g., immune cells, glands) |
inhibitedBy — Domain and Range
The inverse property inhibitedBy has the domain and range reversed—it's used on the entity being suppressed, pointing to what suppresses it.
Relationship Semantics
Inverse Relationship
inhibits and inhibitedBy are formal inverses. If A inhibits B, then B is inhibitedBy A:
| Statement | Equivalent Inverse |
|---|---|
| Botulinum toxin inhibits muscle contraction | Muscle contraction inhibitedBy botulinum toxin |
| Cortisol inhibits collagen synthesis | Collagen synthesis inhibitedBy cortisol |
Relationship to stimulates
inhibits is semantically opposite to stimulates. Use inhibits for negative regulatory relationships (suppression) and stimulates for positive regulatory relationships (activation).
Types of Inhibition
This property covers various forms of suppression:
- Competitive inhibition: Blocking a receptor or binding site
- Non-competitive inhibition: Reducing enzyme activity without blocking the active site
- Downregulation: Reducing expression or production
- Antagonism: Opposing the effect of another substance
The property doesn't distinguish between these mechanisms—use description or mechanism to specify when important.
Not Transitive
If A inhibits B, and B inhibits C, it does NOT follow that A inhibits C. In fact, this often means A indirectly activates C (disinhibition). Each relationship must be explicitly stated.
Usage Guidance
Do
- Use for regulatory relationships—where one entity decreases the activity or expression of another
- Document drug mechanisms—link medications to what they block
- Explain side effects—show why treatments cause certain adverse outcomes
- Reference defined entities—use
@idto link to entities defined elsewhere - Combine with evidenceSource—link inhibition claims to supporting research
Don't
- Confuse with contraindications—
inhibitsdescribes mechanism, not clinical guidance - Use for absence—"lacks" or "doesn't produce" is not inhibition
- Assume transitivity—inhibiting an inhibitor creates disinhibition, not continued inhibition
- Overstate certainty—if the relationship is dose-dependent or conditional, note this
Examples
Example 1: Drug Inhibiting a Process
Documenting how botulinum toxin works:
{
"@type": "Drug",
"@id": "#Drug/BotulinumToxin",
"name": "Botulinum toxin",
"alternateName": ["Botox", "BTX-A"],
"inhibits": {
"@type": "BiologicalProcess",
"@id": "#BiologicalProcess/AcetylcholineRelease",
"name": "Acetylcholine release",
"description": "Release of acetylcholine at neuromuscular junctions"
},
"description": "Neurotoxin that blocks neuromuscular transmission by preventing acetylcholine release"
}
Why this works: Clearly links the drug to its mechanism of action—essential for understanding both therapeutic effects and risks.
Example 2: Hormone Inhibiting Protein Production
Explaining how stress affects skin:
{
"@type": "ChemicalSubstance",
"@id": "#ChemicalSubstance/Cortisol",
"name": "Cortisol",
"sameAs": "https://www.wikidata.org/wiki/Q190875",
"inhibits": [
{"@id": "#BiologicalProcess/CollagenSynthesis"},
{"@id": "#BiologicalProcess/ElastinSynthesis"},
{"@id": "#BiologicalProcess/HyaluronicAcidProduction"}
],
"description": "Glucocorticoid stress hormone that suppresses extracellular matrix production"
}
Why this works: Shows the multiple suppressive effects of cortisol—useful for explaining why chronic stress accelerates skin ageing.
Example 3: Process Listing Its Inhibitors
From the perspective of the process being suppressed:
{
"@type": "BiologicalProcess",
"@id": "#BiologicalProcess/CollagenSynthesis",
"name": "Collagen synthesis",
"inhibitedBy": [
{"@id": "#ChemicalSubstance/Cortisol"},
{"@id": "#BiologicalProcess/UVExposure"},
{"@id": "#BiologicalProcess/ChronicInflammation"}
],
"stimulatedBy": [
{"@id": "#Protein/TGF-beta"},
{"@id": "#Protein/VitaminC"}
]
}
Why this works: Shows both positive and negative regulators of a process, creating a complete regulatory picture.
Example 4: Enzyme Inhibitor Drug
COX inhibitor mechanism:
{
"@type": "Drug",
"@id": "#Drug/Aspirin",
"name": "Aspirin",
"alternateName": "Acetylsalicylic acid",
"inhibits": {
"@type": "Protein",
"@id": "#Protein/COX1",
"name": "Cyclooxygenase-1",
"alternateName": "COX-1"
},
"description": "Irreversible COX inhibitor that blocks prostaglandin synthesis"
}
Example 5: Bidirectional Declaration
Complete graph with both directions specified:
{
"@graph": [
{
"@type": "Drug",
"@id": "#Drug/Finasteride",
"name": "Finasteride",
"inhibits": {"@id": "#Protein/5AlphaReductase"}
},
{
"@type": "Protein",
"@id": "#Protein/5AlphaReductase",
"name": "5-alpha reductase",
"description": "Enzyme converting testosterone to dihydrotestosterone",
"inhibitedBy": {"@id": "#Drug/Finasteride"}
}
]
}
Example 6: With Evidence Source
Combining inhibition relationship with supporting evidence:
{
"@type": "ChemicalSubstance",
"@id": "#ChemicalSubstance/Menthol",
"name": "Menthol",
"inhibits": {
"@type": "BiologicalProcess",
"@id": "#BiologicalProcess/SkinBarrierFunction",
"name": "Skin barrier function"
},
"description": "Irritant that damages lip tissue when used repeatedly in plumping products",
"evidenceSource": {
"@type": "WebPage",
"@id": "https://www.aad.org/public/everyday-care/lip-care",
"name": "Lip care recommendations",
"publisher": {
"@type": "Organization",
"name": "American Academy of Dermatology"
}
}
}
Implementation Notes
Graph Queries
Example SPARQL queries enabled by this property:
Find all inhibitors of a process:
SELECT ?inhibitor ?name WHERE {
?inhibitor hs:inhibits <#BiologicalProcess/CollagenSynthesis> .
?inhibitor schema:name ?name .
}
Find what a drug inhibits:
SELECT ?target ?name WHERE {
<#Drug/Finasteride> hs:inhibits ?target .
?target schema:name ?name .
}
Build a suppression network:
SELECT ?source ?target WHERE {
?source hs:inhibits ?target .
?source a schema:Drug .
}
Validation
Standard schema.org validators will not recognise these properties. This is expected for Health Schema extensions. The properties are defined in the Health Schema context.