###########################################################################
#
#  SSTIM Technique, Framework, and Protocol Module
#
#  Version:    0.20.0
#  Date:       2026-10-19
#  Author:     Renato Fabbri <renato@junto.space>
#  License:    CC BY 4.0 <https://creativecommons.org/licenses/by/4.0/>
#
#  Protected ontology source. Public term IRIs remain stable across the
#  0.13 modular redistribution (ADR 0043).
#
###########################################################################

@prefix sstim:     <https://w3id.org/sstim#> .
@prefix sstim-v:   <https://w3id.org/sstim/vocab#> .
@prefix sstim-sh:  <https://w3id.org/sstim/shapes#> .
@prefix sstim-ex:  <https://w3id.org/sstim/exposure#> .
@prefix sstim-eco: <https://w3id.org/sstim/ecosystem#> .

@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix skos:  <http://www.w3.org/2004/02/skos/core#> .
@prefix dct:   <http://purl.org/dc/terms/> .
@prefix prov:  <http://www.w3.org/ns/prov#> .
@prefix mod:   <https://w3id.org/mod#> .

@prefix bfo:   <http://purl.obolibrary.org/obo/BFO_> .
@prefix obi:   <http://purl.obolibrary.org/obo/OBI_> .
@prefix iao:   <http://purl.obolibrary.org/obo/IAO_> .
@prefix cob:   <http://purl.obolibrary.org/obo/COB_> .
@prefix ro:    <http://purl.obolibrary.org/obo/RO_> .


###########################################################################
# Module metadata
###########################################################################

<https://w3id.org/sstim/technique> a owl:Ontology ;
    owl:versionInfo "0.20.0" ;
    dct:title "SSTIM Technique, Framework, and Protocol Module"@en ;
    dct:description "Reusable technique, framework, protocol, and implementation semantics, with protocol schedules and study arms, independent of neuromodulation and evidence claims."@en ;
    dct:isPartOf <https://w3id.org/sstim> ;
    dct:requires <https://w3id.org/sstim/common>, <https://w3id.org/sstim/stimulus> ;
    dct:creator <https://orcid.org/0000-0002-9699-629X> ;
    dct:publisher <https://www.w3.org/community/sstim/> ;
    dct:created "2026-08-01"^^xsd:date ;
    dct:issued "2026-10-19"^^xsd:date ;
    dct:modified "2026-10-19"^^xsd:date ;
    dct:license <https://creativecommons.org/licenses/by/4.0/> .


###########################################################################
# Techniques, frameworks, protocols, and relations
###########################################################################

sstim:StimulationTechnique a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:label "Stimulation Technique"@en ;
    skos:definition "A reusable information-content category for a parameterizable stimulation method. Classification records the method's declared design intent and characteristic delivery, not that any response occurred."@en ;
    skos:scopeNote "The neutral technique layer over sensory stimulation and interventional neuromodulation techniques. Electrical, magnetic, acoustic, optical, thermal, and chemical stimulation are property-based views over this class, not primitive subclasses (ADR 0034 §4)."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0034-neuromodulation-relation-and-neural-target-axis.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:SensoryStimulationTechnique a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:subClassOf sstim:StimulationTechnique ;
    rdfs:label "Sensory Stimulation Technique"@en,
               "Tecnica di Stimolazione Sensoriale"@it,
               "Técnica de Estimulação Sensorial"@pt,
               "Técnica de Estimulación Sensorial"@es ;
    skos:definition "An information-content category for a reusable, parameterizable method of sensory stimulation, characterized by stimulus form, delivery mechanism, and any explicitly proposed response mechanism. A technique is less specific than a protocol and does not by itself provide enough detail to reproduce an intervention."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:EntrainmentBasedTechnique a owl:Class ;
    rdfs:subClassOf sstim:SensoryStimulationTechnique ;
    rdfs:label "Entrainment-Based Technique"@en ;
    skos:definition "A Sensory Stimulation technique whose primary proposed mechanism involves frequency-following responses, phase-locking, or oscillatory coupling between a periodic stimulus and endogenous neural oscillations."@en ;
    skos:example "Binaural beat stimulation, isochronous tone stimulation, photic driving, Symmetry permutation entrainment."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:NonEntrainmentTechnique a owl:Class ;
    rdfs:subClassOf sstim:SensoryStimulationTechnique ;
    rdfs:label "Non-Entrainment Technique"@en ;
    skos:definition "A Sensory Stimulation technique whose proposed mechanism does not rely on frequency-following responses. Includes stochastic resonance, autonomic respiratory entrainment, and attentional anchoring via ambient structured sound."@en ;
    skos:example "Calibrated pink noise for stochastic resonance, Martigli breathing oscillation, ambient Symmetry sequences for attentional anchoring."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:SensoryStimulationFramework a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:label "Sensory Stimulation Framework"@en ;
    skos:definition "A broad information artifact defining a family of sensory stimulation principles, techniques, protocols, evidence rules, grouping logic, and design constraints. A framework can guide multiple protocols, implementations, presets, and sessions."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0007-framework-protocol-implementation.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:StimulationProtocol a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:subClassOf obi:0000272 ;
    rdfs:label "Stimulation Protocol"@en ;
    skos:definition "A structured method specification for using one or more stimulation techniques toward an intended use, including composition rules, timing, parameter ranges, constraints, and cautions. The neutral protocol layer over sensory stimulation and neuromodulation protocols."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0034-neuromodulation-relation-and-neural-target-axis.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:SensoryStimulationProtocol a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:subClassOf obi:0000272 ;
    rdfs:subClassOf sstim:StimulationProtocol ;
    rdfs:label "Sensory Stimulation Protocol"@en ;
    skos:definition "A structured method specification for using one or more sensory stimulation techniques toward an intended use, including composition rules, timing, parameter ranges, constraints, and cautions. A protocol is narrower than a framework and can constrain many presets."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0007-framework-protocol-implementation.md> ,
        <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0014-preset-is-not-a-protocol.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:SensoryStimulationImplementation a owl:Class ;
    rdfs:subClassOf prov:Entity ;
    rdfs:label "Sensory Stimulation Implementation"@en ;
    skos:definition "A concrete realization of a sensory stimulation framework or protocol, represented in SSTIM by the implementation identity and metadata. An implementation can be software, hardware, mechanical, manual, or hybrid."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0007-framework-protocol-implementation.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:ParticipantEngagementMode a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:label "Participant Engagement Mode"@en ;
    skos:definition "A controlled information category for the degree and kind of active participation a stimulation or neuromodulation method requires of the individual — from passive reception, through following an external pacing cue, to active self-regulation of one's own state. It records what the method demands of the participant, never whether that participation is effective."@en ;
    skos:scopeNote "Orthogonal to the ADR 0034 route, approach, target-site, system, and phenomenon axes: a method's engagement mode is neither implied by nor implies any of them. It is the axis that distinguishes self-regulatory practices (meditation, volitional breathwork, neurofeedback, biofeedback) and cue-following practices (paced-breathing guidance) from purely receptive exposure (binaural beats to a resting listener, tDCS). By itself it never reclassifies a method as neuromodulation; the relationship between active self-regulation and the sstim:Neuromodulation definition is discussed in ADR 0035."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0035-participant-engagement-mode-and-endogenous-self-regulation.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:proposedMechanism a owl:ObjectProperty ;
    rdfs:domain sstim:StimulationTechnique ;
    rdfs:range  sstim:StimulationMechanism ;
    rdfs:label  "proposed mechanism"@en ;
    skos:definition "Links a stimulation technique to a controlled mechanism category proposed to explain a response. The relation records a hypothesis or evidence interpretation, not proof of causation."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0034-neuromodulation-relation-and-neural-target-axis.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:hasStimulusTemporalStructure a owl:ObjectProperty ;
    rdfs:domain sstim:StimulationTechnique ;
    rdfs:range  sstim:StimulusTemporalStructure ;
    rdfs:label  "has stimulus temporal structure"@en ;
    skos:definition "Links a stimulation technique to one or more controlled descriptions of its temporal organization, such as periodic, quasi-periodic, aperiodic, adaptive, continuous, pulsed, or scheduled administration."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0034-neuromodulation-relation-and-neural-target-axis.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:participantEngagementMode a owl:ObjectProperty ;
    rdfs:range sstim:ParticipantEngagementMode ;
    rdfs:label "participant engagement mode"@en ;
    skos:definition "Links a stimulation or neuromodulation process, technique, or protocol to the degree and kind of active participation it requires of the individual. Not functional: a method with distinct phases may declare more than one mode. Records what the method demands of the participant, never whether the participation is effective."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0035-participant-engagement-mode-and-endogenous-self-regulation.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:definesTechnique a owl:ObjectProperty ;
    rdfs:domain sstim:SensoryStimulationFramework ;
    rdfs:range  sstim:SensoryStimulationTechnique ;
    rdfs:label  "defines technique"@en ;
    skos:definition "Links a sensory stimulation framework to a technique that it defines or governs."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:incorporatesTechnique a owl:ObjectProperty ;
    rdfs:domain sstim:SensoryStimulationFramework ;
    rdfs:range  sstim:SensoryStimulationTechnique ;
    rdfs:label  "incorporates technique"@en ;
    skos:definition "Links a sensory stimulation framework to a pre-existing, vendor-neutral technique that it uses but did not originate. Distinct from sstim:definesTechnique, which is reserved for techniques the framework itself defines or governs; a framework that merely applies binaural beats or photic driving incorporates them rather than defining them."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0033-framework-scope-and-generic-technique-deduplication.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:usesTechnique a owl:ObjectProperty ;
    rdfs:domain sstim:StimulationProtocol ;
    rdfs:range  sstim:StimulationTechnique ;
    rdfs:label  "uses technique"@en ;
    skos:definition "Links a stimulation protocol to a technique used by the protocol. Naming a method does not make the protocol sensory, nor imply that any framework originated or incorporates the technique."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:definedByFramework a owl:ObjectProperty ;
    rdfs:domain obi:0000272 ;
    rdfs:range  sstim:SensoryStimulationFramework ;
    rdfs:label  "defined by framework"@en ;
    skos:definition "Links a protocol to the broader framework that defines or constrains it. The domain is the general OBI protocol class, not a stimulation protocol: a capability-boundary or baseline protocol can be authored and constrained by a framework without thereby becoming stimulation (ADR 0034 §7)."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0034-neuromodulation-relation-and-neural-target-axis.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:implementsFramework a owl:ObjectProperty ;
    rdfs:domain sstim:SensoryStimulationImplementation ;
    rdfs:range  sstim:SensoryStimulationFramework ;
    rdfs:label  "implements framework"@en ;
    skos:definition "Links an implementation to the framework it realizes."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:implementsProtocol a owl:ObjectProperty ;
    rdfs:domain sstim:SensoryStimulationImplementation ;
    rdfs:range  sstim:SensoryStimulationProtocol ;
    rdfs:label  "implements protocol"@en ;
    skos:definition "Links an implementation to a protocol it realizes."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:techniqueModality a owl:ObjectProperty ;
    rdfs:domain sstim:SensoryStimulationTechnique ;
    rdfs:range  sstim:SensoryModality ;
    rdfs:label  "technique modality"@en ;
    skos:definition "Coarse legacy/convenience relation linking a sensory stimulation technique to broad sensory modality tags. Use the SSTIM exposure module when physical delivery medium, perceived modality, device capability, body placement, experiment context, or knowledge status must be represented separately."@en ;
    skos:scopeNote "Kept unchanged for compatibility with SSTIM 0.3.0 consumers. New detailed modeling should use sstim-exposure.ttl terms such as sstim-ex:deliveryMedium, sstim-ex:perceivedModality, and sstim-ex:requiresDeviceCapability."@en ;
    rdfs:seeAlso <https://github.com/w3c-cg/sstim/blob/v0.20.0/docs/decisions/0010-exposure-delivery-modality.md> ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:EntrainmentBasedTechnique owl:disjointWith sstim:NonEntrainmentTechnique .


###########################################################################
# Schedules and study arms (ADR 0064)
#
# What a published protocol states first, after its stimulus, is how often
# and for how long ("1 hour a day for 7 days"), and what it is compared with
# (darkness, white noise, the same tones at random). Neither had a place: a
# session plan describes one execution, and comparators and populations
# existed only on the evidence side, as properties of a source about its
# findings rather than of a protocol about its design.
###########################################################################

sstim:StimulationSchedule a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:label "Stimulation Schedule"@en ;
    skos:definition "How a protocol, or one of its arms, distributes stimulation over time: how long a session lasts, how many sessions a day, how many sessions in all, how long the course runs, and how a session is divided into blocks, trials and their ordered segments."@en ;
    skos:scopeNote "A design, stated in advance. What actually happened in one execution is session data (sstim:SessionInstance), and a single planned execution is a sstim:SessionSpecification."@en ;
    skos:historyNote "Added in 0.20.0 by ADR 0064."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:ScheduleSegment a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:label "Schedule Segment"@en ;
    skos:definition "One ordered part of a session or of a trial, such as a cue, a stimulation period, a rest or a baseline, with its duration and, where it presents one, the stimulus it presents."@en ;
    skos:historyNote "Added in 0.20.0 by ADR 0064."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:SegmentRole a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:label "Segment Role"@en ;
    skos:definition "A controlled information category for the part a schedule segment plays: cue, stimulation, rest or baseline."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:StudyArm a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:label "Study Arm"@en ;
    skos:definition "One condition of a protocol: what one group of subjects receives, or what each subject receives in turn. An arm may present the stimulation under study, a different active stimulation, a sham, or no stimulation at all, which is why an arm need not have a stimulus."@en ;
    skos:scopeNote "An arm describes a protocol's design. A comparator named by an evidence source (sstim:ComparatorDescriptor) describes what that source compared against; the two may be the same condition seen from either side."@en ;
    skos:historyNote "Added in 0.20.0 by ADR 0064."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:StudyArmRole a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:label "Study Arm Role"@en ;
    skos:definition "A controlled information category for the part an arm plays in a protocol: experimental, active comparator, sham, or no stimulation."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:ArmAllocation a owl:Class ;
    rdfs:subClassOf iao:0000030 ;
    rdfs:label "Arm Allocation"@en ;
    skos:definition "A controlled information category for how a protocol's subjects meet its arms: each subject receives every arm in turn, or each receives one."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:hasSchedule a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:domain [ a owl:Class ; owl:unionOf ( sstim:StimulationProtocol sstim:StudyArm ) ] ;
    rdfs:range  sstim:StimulationSchedule ;
    rdfs:label  "has schedule"@en ;
    skos:definition "Links a protocol, or one of its arms, to the schedule on which it delivers stimulation. An arm's own schedule applies to that arm; otherwise the protocol's applies to every arm."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:sessionDurationSeconds a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:StimulationSchedule ;
    rdfs:range  xsd:decimal ;
    rdfs:label  "session duration (s)"@en ;
    skos:definition "How long one scheduled session lasts, in seconds."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:sessionsPerDay a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:StimulationSchedule ;
    rdfs:range  xsd:decimal ;
    rdfs:label  "sessions per day"@en ;
    skos:definition "How many sessions the schedule places in one day."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:sessionCount a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:StimulationSchedule ;
    rdfs:range  xsd:integer ;
    rdfs:label  "session count"@en ;
    skos:definition "How many sessions the schedule contains in all."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:courseDurationValue a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:StimulationSchedule ;
    rdfs:range  xsd:decimal ;
    rdfs:label  "course duration value"@en ;
    skos:definition "How long the whole course of sessions runs, in the calendar unit stated by sstim:courseDurationUnit. A value and a unit rather than a count of seconds, because protocols state courses in days, weeks or months, and a month has no fixed length to convert."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:courseDurationUnit a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:StimulationSchedule ;
    rdfs:range  sstim:MeasurementUnit ;
    rdfs:label  "course duration unit"@en ;
    skos:definition "The calendar unit of the course duration: day, week or month."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:trialsPerBlock a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:StimulationSchedule ;
    rdfs:range  xsd:integer ;
    rdfs:label  "trials per block"@en ;
    skos:definition "How many trials one block of a session contains, each trial being one pass through the schedule's ordered segments."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:blocksPerSession a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:StimulationSchedule ;
    rdfs:range  xsd:integer ;
    rdfs:label  "blocks per session"@en ;
    skos:definition "How many blocks of trials one session contains."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:hasScheduleSegment a owl:ObjectProperty ;
    rdfs:domain sstim:StimulationSchedule ;
    rdfs:range  sstim:ScheduleSegment ;
    rdfs:label  "has schedule segment"@en ;
    skos:definition "Links a schedule to one of the ordered segments a trial, or a session without trials, passes through."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:segmentOrder a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:ScheduleSegment ;
    rdfs:range  xsd:integer ;
    rdfs:label  "segment order"@en ;
    skos:definition "The position of the segment within its schedule, counting from 1. Positions are unique within a schedule."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:segmentDurationSeconds a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:ScheduleSegment ;
    rdfs:range  xsd:decimal ;
    rdfs:label  "segment duration (s)"@en ;
    skos:definition "How long the segment lasts, in seconds."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:segmentRole a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:ScheduleSegment ;
    rdfs:range  sstim:SegmentRole ;
    rdfs:label  "segment role"@en ;
    skos:definition "The part the segment plays: cue, stimulation, rest or baseline."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:segmentStimulus a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:ScheduleSegment ;
    rdfs:range  sstim:StimulusSpecification ;
    rdfs:label  "segment stimulus"@en ;
    skos:definition "The stimulus specification a stimulation segment presents for its duration. A cue, rest or baseline segment usually presents none."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:hasStudyArm a owl:ObjectProperty ;
    rdfs:domain sstim:StimulationProtocol ;
    rdfs:range  sstim:StudyArm ;
    rdfs:label  "has study arm"@en ;
    skos:definition "Links a protocol to one of its arms."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:armRole a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:StudyArm ;
    rdfs:range  sstim:StudyArmRole ;
    rdfs:label  "arm role"@en ;
    skos:definition "The part the arm plays in its protocol."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:armStimulus a owl:ObjectProperty ;
    rdfs:domain sstim:StudyArm ;
    rdfs:range  sstim:StimulusSpecification ;
    rdfs:label  "arm stimulus"@en ;
    skos:definition "A stimulus the arm presents. An arm with no stimulation has none, and a SHACL constraint rejects one that does."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .

sstim:armAllocation a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:domain sstim:StimulationProtocol ;
    rdfs:range  sstim:ArmAllocation ;
    rdfs:label  "arm allocation"@en ;
    skos:definition "How the protocol's subjects meet its arms: each receives every arm in turn, or each receives one."@en ;
    rdfs:isDefinedBy <https://w3id.org/sstim/technique> .


###########################################################################
# End of technique
###########################################################################
