Relationships
How resources connect, as the queries that follow each link. A forward step reads ids on the record you already have; a reverse step asks the next resource for records pointing back. Collect ids, de-duplicate them and pass them on with filter{<field>.in}.
Table of contents
Single-hop routes
| From → to | How |
|---|---|
anatomicalregion → experimentalinterface | GET /api/private/modules/experimentalinterface/?filter{target_regions.in}=<ids> |
anatomicalregion → procedure | GET /api/private/modules/procedure/?filter{target_regions.in}=<ids> |
anatomicalregion → specimenprocedure | GET /api/private/modules/specimenprocedure/?filter{target_regions.in}=<ids> |
anatomicalregion → specimenset | GET /api/private/stem/specimenset/?filter{target_regions.in}=<ids> |
behavior → behavioralassay | read behavioralassay on each behavior record (one id) |
behavior → session | read session on each behavior record (one id) |
behavior → setup | read setup on each behavior record (one id) |
behavior → subject | read subjects on each behavior record (list of ids) |
behavioralassay → behavior | GET /api/private/modules/behavior/?filter{behavioralassay.in}=<ids> |
behavioralassay → behavioralparadigm | read behavioral_paradigm on each behavioralassay record (one id) |
behavioralparadigm → behavioralassay | GET /api/private/personal_attributes/behavioralassay/?filter{behavioral_paradigm.in}=<ids> |
cohort → subject | read subjects on each cohort record (list of ids) |
collection → session | read sessions on each collection record (list of ids) |
consumable → consumablestock | GET /api/private/modules/consumablestock/?filter{consumable.in}=<ids> |
consumable → materialusage | GET /api/private/modules/materialusage/?filter{consumable.in}=<ids> |
consumablestock → consumable | read consumable on each consumablestock record (one id) |
consumablestock → materialusage | GET /api/private/modules/materialusage/?filter{consumable_stock.in}=<ids> |
dataacquisition → equipment | read equipment on each dataacquisition record (list of ids) |
dataacquisition → experimentalinterface | read interfaces on each dataacquisition record (list of ids) |
dataacquisition → session | read session on each dataacquisition record (one id) |
epoch → session | GET /api/private/stem/session/?filter{epochs.in}=<ids> |
equipment → dataacquisition | GET /api/private/modules/dataacquisition/?filter{equipment.in}=<ids> |
equipment → experimentalinterface | GET /api/private/modules/experimentalinterface/?filter{equipment.in}=<ids> |
equipment → setup | read setup on each equipment record (one id) |
experimentalinterface → anatomicalregion | read target_regions on each experimentalinterface record (list of ids) |
experimentalinterface → dataacquisition | GET /api/private/modules/dataacquisition/?filter{interfaces.in}=<ids> |
experimentalinterface → equipment | read equipment on each experimentalinterface record (list of ids) |
experimentalinterface → manipulation | GET /api/private/modules/manipulation/?filter{interfaces.in}=<ids> |
experimentalinterface → materialusage | GET /api/private/modules/materialusage/?filter{experimental_interface.in}=<ids> |
experimentalinterface → specimenset | read specimen_set on each experimentalinterface record (one id) |
experimentalinterface → subject | read subject on each experimentalinterface record (one id) |
manipulation → experimentalinterface | read interfaces on each manipulation record (list of ids) |
manipulation → session | read session on each manipulation record (one id) |
materialusage → consumable | read consumable on each materialusage record (one id) |
materialusage → consumablestock | read consumable_stock on each materialusage record (one id) |
materialusage → experimentalinterface | read experimental_interface on each materialusage record (one id) |
materialusage → procedure | read procedure on each materialusage record (one id) |
materialusage → specimenprocedure | read specimen_procedure on each materialusage record (one id) |
procedure → anatomicalregion | read target_regions on each procedure record (list of ids) |
procedure → materialusage | GET /api/private/modules/materialusage/?filter{procedure.in}=<ids> |
procedure → procedurelog | GET /api/private/modules/procedurelog/?filter{procedure.in}=<ids> |
procedure → subject | read subject on each procedure record (one id) |
procedurelog → procedure | read procedure on each procedurelog record (one id) |
project → session | GET /api/private/stem/session/?filter{projects.in}=<ids> |
project → specimenset | GET /api/private/stem/specimenset/?filter{projects.in}=<ids> |
project → subject | GET /api/private/stem/subject/?filter{projects.in}=<ids> |
session → behavior | GET /api/private/modules/behavior/?filter{session.in}=<ids> |
session → collection | GET /api/private/stem/collection/?filter{sessions.in}=<ids> |
session → dataacquisition | GET /api/private/modules/dataacquisition/?filter{session.in}=<ids> |
session → epoch | read epochs on each session record (list of ids) |
session → manipulation | GET /api/private/modules/manipulation/?filter{session.in}=<ids> |
session → project | read projects on each session record (list of ids) |
session → specimenset | read specimen_sets on each session record (list of ids) |
session → subject | read subjects on each session record (list of ids) |
setup → behavior | GET /api/private/modules/behavior/?filter{setup.in}=<ids> |
setup → equipment | GET /api/private/modules/equipment/?filter{setup.in}=<ids> |
setup → setuptype | read setup_type on each setup record (one id) |
setuptype → setup | GET /api/private/personal_attributes/setup/?filter{setup_type.in}=<ids> |
species → subject | GET /api/private/stem/subject/?filter{species.in}=<ids> |
specimen → specimenset | read specimen_set on each specimen record (one id) |
specimenlog → specimenset | read specimen_set on each specimenlog record (one id) |
specimenprocedure → anatomicalregion | read target_regions on each specimenprocedure record (list of ids) |
specimenprocedure → materialusage | GET /api/private/modules/materialusage/?filter{specimen_procedure.in}=<ids> |
specimenprocedure → specimenset | read specimen_set on each specimenprocedure record (one id) |
specimenset → anatomicalregion | read target_regions on each specimenset record (list of ids) |
specimenset → experimentalinterface | GET /api/private/modules/experimentalinterface/?filter{specimen_set.in}=<ids> |
specimenset → project | read projects on each specimenset record (list of ids) |
specimenset → session | GET /api/private/stem/session/?filter{specimen_sets.in}=<ids> |
specimenset → specimen | GET /api/private/stem/specimen/?filter{specimen_set.in}=<ids> |
specimenset → specimenlog | GET /api/private/modules/specimenlog/?filter{specimen_set.in}=<ids> |
specimenset → specimenprocedure | GET /api/private/modules/specimenprocedure/?filter{specimen_set.in}=<ids> |
specimenset → subject | read subject on each specimenset record (one id) |
strain → subject | GET /api/private/stem/subject/?filter{strain.in}=<ids> |
subject → behavior | GET /api/private/modules/behavior/?filter{subjects.in}=<ids> |
subject → cohort | GET /api/private/stem/cohort/?filter{subjects.in}=<ids> |
subject → experimentalinterface | GET /api/private/modules/experimentalinterface/?filter{subject.in}=<ids> |
subject → procedure | GET /api/private/modules/procedure/?filter{subject.in}=<ids> |
subject → project | read projects on each subject record (list of ids) |
subject → session | GET /api/private/stem/session/?filter{subjects.in}=<ids> |
subject → species | read species on each subject record (one id) |
subject → specimenset | GET /api/private/stem/specimenset/?filter{subject.in}=<ids> |
subject → strain | read strain on each subject record (one id) |
subject → subjectlog | GET /api/private/modules/subjectlog/?filter{subject.in}=<ids> |
subjectlog → subject | read subject on each subjectlog record (one id) |
Questions with several branches
session → anatomicalregion
Where a session’s recordings or manipulations were targeted, through the interfaces they used. For specimen sessions the set’s own target regions apply.
session>dataacquisition→dataacquisition>experimentalinterface→experimentalinterface>anatomicalregionsession>manipulation→manipulation>experimentalinterface→experimentalinterface>anatomicalregionsession>specimenset→specimenset>anatomicalregion
session → behavioralparadigm
Behavioral paradigms run in a session.
session>behavior→behavior>behavioralassay→behavioralassay>behavioralparadigm
session → consumable
Which probe designs, viruses or reagents a session’s recordings used, through interface materials.
session>dataacquisition→dataacquisition>experimentalinterface→experimentalinterface>materialusage→materialusage>consumablesession>dataacquisition→dataacquisition>experimentalinterface→experimentalinterface>materialusage→materialusage>consumablestock→consumablestock>consumablesession>manipulation→manipulation>experimentalinterface→experimentalinterface>materialusage→materialusage>consumablesession>manipulation→manipulation>experimentalinterface→experimentalinterface>materialusage→materialusage>consumablestock→consumablestock>consumable
session → setuptype
Setup types used in a session: behavior setups, or the setups of recording equipment.
session>behavior→behavior>setup→setup>setuptypesession>dataacquisition→dataacquisition>equipment→equipment>setup→setup>setuptype
session → species
Species of the animals in a session, directly or through the subject a specimen set came from.
session>subject→subject>speciessession>specimenset→specimenset>subject→subject>species
subject → anatomicalregion
Regions targeted on a subject: by its procedures, its interfaces, or specimen sets taken from it.
subject>procedure→procedure>anatomicalregionsubject>experimentalinterface→experimentalinterface>anatomicalregionsubject>specimenset→specimenset>anatomicalregion
subject → consumable
Materials used on a subject: in its procedures or built into its interfaces.
subject>procedure→procedure>materialusage→materialusage>consumablesubject>procedure→procedure>materialusage→materialusage>consumablestock→consumablestock>consumablesubject>experimentalinterface→experimentalinterface>materialusage→materialusage>consumablesubject>experimentalinterface→experimentalinterface>materialusage→materialusage>consumablestock→consumablestock>consumable
Delete behaviour
What happens to a record when a record it points to is deleted: cascade deletes it too, protect refuses the deletion while it exists, set null clears the link.