Slots
slot_usage
The slot_usage
slot can be used to specify how a particular slot ought to be used in a class.
This is useful for documenting what a particular slot means for instances of a particular class.
gene to gene association:
aliases: ['molecular or genetic interaction']
is_a: association
defining_slots:
- subject
- object
description: >-
abstract parent class for different kinds of gene-gene or gene product to gene product relationships.
Includes homology and interaction.
slot_usage:
subject:
range: gene or gene product
description: >-
the subject gene in the association. If the relation is symmetric, subject vs object is arbitrary.
We allow a gene product to stand as proxy for the gene or vice versa
object:
range: gene or gene product
description: >-
the object gene in the association. If the relation is symmetric, subject vs object is arbitrary.
We allow a gene product to stand as proxy for the gene or vice versa
Here we document the association class gene to gene association
with information on how the slot subject
and object
ought to be used to represent this association properly.
In the slot_usage
section we define the range and provide a description for the slot subject
and object
.
required
The required
slot can be used to define whether a slot is required.
When a slot is declared as required, any class that uses that slot must have a value for that slot.
id:
is_a: node property
required: true
domain: named thing
mappings:
- alliancegenome:primaryId
- gff3:ID
- gpi:DB_Object_ID
Here we define the property slot id
as a required field for all instances of the entity class named thing
.
Slots Relating to Constraints on Slot Composition
domain
The domain
slot mimics the idea of rdfs:domain
where you constrain the type of classes that a given Biolink Model slot can be a part of.
genetically interacts with:
is_a: interacts with
domain: gene
Here we define that the subject (source node) of the predicate slot genetically interacts with
must be an instance of class gene
.
range
The range
slot mimics the idea of rdfs:range
where you can constrain the type of classes (or data types) a given Biolink Model slot can have as its value.
genetically interacts with:
is_a: interacts with
domain: gene
range: gene
Here we define that both the subject (source node) and object (target node) of the predicate slot genetically interacts with
must be instances of class gene
.
symmetric
The symmetric
slot can be used to specify whether a Biolink Model predicate slot is symmetric in its semantics.
i.e. if A -[r]-> B
and r
is symmetric then one can infer B -[r]-> A
genetically interacts with:
is_a: interacts with
domain: gene
range: gene
in_subset:
- translator_minimal
symmetric: true
Here we define that the predicate slot genetically interacts with
is symmetric.
Note: This property is not inherited by descendants of this predicate slot. You will have to explicitly define every predicate slot that should be considered as symmetric.
Slots Relating Semantic Mappings and Anchoring to External Ontology
symmetric
The symmetric
slot can be used to specify whether a given predicate slot is symmetric.
interacts with:
domain: named thing
range: named thing
description: >-
holds between any two entities that directly or indirectly interact with each other
is_a: related to
in_subset:
- translator_minimal
symmetric: true
Note: The symmetric nature of the predicate is not inherited by descendants of the predicate.
inverse
The inverse
slot can be used to specify the inverse predicate of a given predicate slot relationship.
affects:
is_a: related to
description: >-
describes an entity that has a direct affect on the state or quality
of another existing entity. Use of the 'affects' predicate implies that
the affected entity already exists, unlike predicates such as
'affects risk for' and 'prevents, where the outcome is something
that may or may not come to be.
inverse: affected by
in_subset:
- translator_minimal