# Class: StudyDirectory 


_One directory in a study layout. ``role`` is the stable key code resolves by: a resolver asks the layout where the ``results`` go and never for a literal path, so moving a directory is a one-line edit to this record. ``bids`` states the directory's standing with the standard, which is what decides whether it needs a ``.bidsignore`` entry, and ``tracked`` states what version control keeps._



<div data-search-exclude markdown="1">



URI: [tvbo_study:class/StudyDirectory](https://w3id.org/tvbo/study/class/StudyDirectory)





```{mermaid}
 classDiagram
    class StudyDirectory
    click StudyDirectory href "./StudyDirectory.html"
      StudyDirectory : bids
        
          
    
        
        
        StudyDirectory --> "0..1" BidsDirectoryStatus : bids
        click BidsDirectoryStatus href "../../enums/BidsDirectoryStatus.html"
    

        
      StudyDirectory : description
        
          
    
        
        
        StudyDirectory --> "0..1" String : description
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      StudyDirectory : expires_with
        
          
    
        
        
        StudyDirectory --> "0..1" String : expires_with
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      StudyDirectory : files
        
          
    
        
        
        StudyDirectory --> "*" StudyFile : files
        click StudyFile href "./StudyFile.html"
    

        
      StudyDirectory : in_templates
        
          
    
        
        
        StudyDirectory --> "*" String : in_templates
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      StudyDirectory : level
        
          
    
        
        
        StudyDirectory --> "0..1" RequirementLevel : level
        click RequirementLevel href "../../enums/RequirementLevel.html"
    

        
      StudyDirectory : name
        
          
    
        
        
        StudyDirectory --> "1" String : name
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      StudyDirectory : not_in_templates
        
          
    
        
        
        StudyDirectory --> "*" String : not_in_templates
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      StudyDirectory : opaque
        
          
    
        
        
        StudyDirectory --> "0..1" Boolean : opaque
        click Boolean href "../http://www.w3.org/2001/XMLSchema#boolean.html"
    

        
      StudyDirectory : role
        
          
    
        
        
        StudyDirectory --> "0..1" StudyDirectoryRole : role
        click StudyDirectoryRole href "../../enums/StudyDirectoryRole.html"
    

        
      StudyDirectory : subdirs
        
          
    
        
        
        StudyDirectory --> "*" StudyDirectory : subdirs
        click StudyDirectory href "./StudyDirectory.html"
    

        
      StudyDirectory : tracked
        
          
    
        
        
        StudyDirectory --> "0..1" TrackedContent : tracked
        click TrackedContent href "../../enums/TrackedContent.html"
    

        
      
```




<!-- no inheritance hierarchy -->

## Slots

| Name | Cardinality and Range | Description | Inheritance |
| ---  | --- | --- | --- |
| [name](../slots/name.qmd) | 1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Globally unique identifier for the entity | direct |
| [description](../slots/description.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) |  | direct |
| [role](../slots/role.qmd) | 0..1 <br/> [StudyDirectoryRole](../enums/StudyDirectoryRole.qmd) | Semantic key this directory is resolved by | direct |
| [level](../slots/level.qmd) | 0..1 <br/> [RequirementLevel](../enums/RequirementLevel.qmd) | Whether a study MUST, SHOULD or MAY have this directory | direct |
| [opaque](../slots/opaque.qmd) | 0..1 <br/> [xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | BIDS: the standard does not specify the contents, so a validator does not rea... | direct |
| [bids](../slots/bids.qmd) | 0..1 <br/> [BidsDirectoryStatus](../enums/BidsDirectoryStatus.qmd) | Standing with the BIDS standard | direct |
| [tracked](../slots/tracked.qmd) | 0..1 <br/> [TrackedContent](../enums/TrackedContent.qmd) | What version control keeps, which is what the `` | direct |
| [expires_with](../slots/expires_with.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | For an unsanctioned or proposed directory, what would retire its `` | direct |
| [in_templates](../slots/in_templates.qmd) | * <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Init templates that include this directory | direct |
| [not_in_templates](../slots/not_in_templates.qmd) | * <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Init templates that do *not* get this directory, though every other kind does | direct |
| [files](../slots/files.qmd) | * <br/> [StudyFile](../classes/StudyFile.qmd) | Files this directory is expected to carry | direct |
| [subdirs](../slots/subdirs.qmd) | * <br/> [StudyDirectory](../classes/StudyDirectory.qmd) | Nested directories | direct |





## Usages

| used by | used in | type | used |
| ---  | --- | --- | --- |
| [StudyLayout](../classes/StudyLayout.qmd) | [subdirs](../slots/subdirs.qmd) | range | [StudyDirectory](../classes/StudyDirectory.qmd) |
| [StudyDirectory](../classes/StudyDirectory.qmd) | [subdirs](../slots/subdirs.qmd) | range | [StudyDirectory](../classes/StudyDirectory.qmd) |












## Identifier and Mapping Information





### Schema Source


* from schema: https://w3id.org/tvbo/study




## Mappings

| Mapping Type | Mapped Value |
| ---  | ---  |
| self | tvbo_study:StudyDirectory |
| native | tvbo_study:StudyDirectory |






## LinkML Source

<!-- TODO: investigate https://stackoverflow.com/questions/37606292/how-to-create-tabbed-code-blocks-in-mkdocs-or-sphinx -->

### Direct

<details>
```yaml
name: StudyDirectory
description: 'One directory in a study layout. ``role`` is the stable key code resolves
  by: a resolver asks the layout where the ``results`` go and never for a literal
  path, so moving a directory is a one-line edit to this record. ``bids`` states the
  directory''s standing with the standard, which is what decides whether it needs
  a ``.bidsignore`` entry, and ``tracked`` states what version control keeps.'
from_schema: https://w3id.org/tvbo/study
slots:
- name
- description
attributes:
  role:
    name: role
    description: Semantic key this directory is resolved by. Absent for a directory
      that only groups others, whose own path no code needs.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    domain_of:
    - StudyDirectory
    - StudyFile
    - SoftwareRequirement
    range: StudyDirectoryRole
  level:
    name: level
    description: Whether a study MUST, SHOULD or MAY have this directory. Enforced
      by ``tvbo validate study``; a BIDS-sanctioned directory is optional to BIDS
      regardless of what a study requires of itself.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    ifabsent: string(optional)
    domain_of:
    - StudyDirectory
    - StudyFile
    range: RequirementLevel
  opaque:
    name: opaque
    description: 'BIDS: the standard does not specify the contents, so a validator
      does not read inside. A sanctioned opaque directory therefore needs no ``.bidsignore``
      entry however its files are named.'
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    ifabsent: 'false'
    domain_of:
    - StudyDirectory
    range: boolean
  bids:
    name: bids
    description: Standing with the BIDS standard.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    ifabsent: string(sanctioned)
    domain_of:
    - StudyDirectory
    - StudyFile
    - Network
    range: BidsDirectoryStatus
  tracked:
    name: tracked
    description: What version control keeps, which is what the ``.gitignore`` writer
      emits.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    ifabsent: string(all)
    domain_of:
    - StudyDirectory
    - StudyFile
    range: TrackedContent
  expires_with:
    name: expires_with
    description: For an unsanctioned or proposed directory, what would retire its
      ``.bidsignore`` entry (a BEP identifier, or a change we would have to propose).
      Naming the exit keeps the ignore surface from becoming permanent by default.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    domain_of:
    - StudyDirectory
    - StudyFile
    range: string
  in_templates:
    name: in_templates
    description: Init templates that include this directory. Absent means every study
      gets it, so one record covers the general layout and its specialisations without
      a second copy of the tree to keep in step.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    domain_of:
    - StudyDirectory
    - StudyFile
    range: string
    multivalued: true
  not_in_templates:
    name: not_in_templates
    description: Init templates that do *not* get this directory, though every other
      kind does. The complement of ``in_templates``, for a directory one kind replaces
      rather than adds to.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    domain_of:
    - StudyDirectory
    - StudyFile
    range: string
    multivalued: true
  files:
    name: files
    description: Files this directory is expected to carry.
    from_schema: https://w3id.org/tvbo/study
    domain_of:
    - StudyLayout
    - StudyDirectory
    range: StudyFile
    multivalued: true
    inlined: true
    inlined_as_list: true
  subdirs:
    name: subdirs
    description: Nested directories.
    from_schema: https://w3id.org/tvbo/study
    domain_of:
    - StudyLayout
    - StudyDirectory
    range: StudyDirectory
    multivalued: true
    inlined: true
    inlined_as_list: true

```
</details>

### Induced

<details>
```yaml
name: StudyDirectory
description: 'One directory in a study layout. ``role`` is the stable key code resolves
  by: a resolver asks the layout where the ``results`` go and never for a literal
  path, so moving a directory is a one-line edit to this record. ``bids`` states the
  directory''s standing with the standard, which is what decides whether it needs
  a ``.bidsignore`` entry, and ``tracked`` states what version control keeps.'
from_schema: https://w3id.org/tvbo/study
attributes:
  role:
    name: role
    description: Semantic key this directory is resolved by. Absent for a directory
      that only groups others, whose own path no code needs.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    owner: StudyDirectory
    domain_of:
    - StudyDirectory
    - StudyFile
    - SoftwareRequirement
    range: StudyDirectoryRole
  level:
    name: level
    description: Whether a study MUST, SHOULD or MAY have this directory. Enforced
      by ``tvbo validate study``; a BIDS-sanctioned directory is optional to BIDS
      regardless of what a study requires of itself.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    ifabsent: string(optional)
    owner: StudyDirectory
    domain_of:
    - StudyDirectory
    - StudyFile
    range: RequirementLevel
  opaque:
    name: opaque
    description: 'BIDS: the standard does not specify the contents, so a validator
      does not read inside. A sanctioned opaque directory therefore needs no ``.bidsignore``
      entry however its files are named.'
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    ifabsent: 'false'
    owner: StudyDirectory
    domain_of:
    - StudyDirectory
    range: boolean
  bids:
    name: bids
    description: Standing with the BIDS standard.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    ifabsent: string(sanctioned)
    owner: StudyDirectory
    domain_of:
    - StudyDirectory
    - StudyFile
    - Network
    range: BidsDirectoryStatus
  tracked:
    name: tracked
    description: What version control keeps, which is what the ``.gitignore`` writer
      emits.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    ifabsent: string(all)
    owner: StudyDirectory
    domain_of:
    - StudyDirectory
    - StudyFile
    range: TrackedContent
  expires_with:
    name: expires_with
    description: For an unsanctioned or proposed directory, what would retire its
      ``.bidsignore`` entry (a BEP identifier, or a change we would have to propose).
      Naming the exit keeps the ignore surface from becoming permanent by default.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    owner: StudyDirectory
    domain_of:
    - StudyDirectory
    - StudyFile
    range: string
  in_templates:
    name: in_templates
    description: Init templates that include this directory. Absent means every study
      gets it, so one record covers the general layout and its specialisations without
      a second copy of the tree to keep in step.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    owner: StudyDirectory
    domain_of:
    - StudyDirectory
    - StudyFile
    range: string
    multivalued: true
  not_in_templates:
    name: not_in_templates
    description: Init templates that do *not* get this directory, though every other
      kind does. The complement of ``in_templates``, for a directory one kind replaces
      rather than adds to.
    from_schema: https://w3id.org/tvbo/study
    rank: 1000
    owner: StudyDirectory
    domain_of:
    - StudyDirectory
    - StudyFile
    range: string
    multivalued: true
  files:
    name: files
    description: Files this directory is expected to carry.
    from_schema: https://w3id.org/tvbo/study
    owner: StudyDirectory
    domain_of:
    - StudyLayout
    - StudyDirectory
    range: StudyFile
    multivalued: true
    inlined: true
    inlined_as_list: true
  subdirs:
    name: subdirs
    description: Nested directories.
    from_schema: https://w3id.org/tvbo/study
    owner: StudyDirectory
    domain_of:
    - StudyLayout
    - StudyDirectory
    range: StudyDirectory
    multivalued: true
    inlined: true
    inlined_as_list: true
  name:
    name: name
    description: Globally unique identifier for the entity.
    from_schema: https://w3id.org/tvbo/common
    slot_uri: schema:name
    identifier: true
    owner: StudyDirectory
    domain_of:
    - BrainAtlas
    - CommonCoordinateSpace
    - ParcellationEntity
    - StudyLayout
    - StudyTemplate
    - StudyDirectory
    - StudyFile
    - DBSProtocol
    - ClinicalScale
    - ClinicalScore
    - SoftwarePackage
    - SoftwareRequirement
    - SoftwareEnvironment
    - Figure
    - Event
    - Tractogram
    - ResultEntity
    - Activity
    - CachedArray
    - MeasureSpec
    - NamedArray
    - GraphGenerator
    - Binding
    - ProcedureStep
    - File
    - StateValue
    - Observation
    - Dynamics
    - StateVariable
    - Distribution
    - Parameter
    - CouplingInput
    - Argument
    - Function
    - FunctionCall
    - Callable
    - DerivedParameter
    - DerivedVariable
    - DataSource
    - OptimizationStage
    - Exploration
    - Inference
    - Prior
    - Likelihood
    - UpdateRule
    - Algorithm
    - Option
    - BranchSwitch
    - Continuation
    - Coupling
    - EnvironmentVariable
    - SchedulerDirective
    - Reducer
    range: string
    required: true
  description:
    name: description
    from_schema: https://w3id.org/tvbo
    rank: 1000
    slot_uri: dcterms:description
    owner: StudyDirectory
    domain_of:
    - CommonCoordinateSpace
    - Dataset
    - StudyLayout
    - StudyTemplate
    - StudyDirectory
    - StudyFile
    - ClinicalScore
    - SoftwarePackage
    - SoftwareRequirement
    - SoftwareEnvironment
    - Figure
    - Panel
    - Equation
    - Stimulus
    - Event
    - Tractogram
    - Matrix
    - ResultEntity
    - Activity
    - Phenotype
    - MeasureSpec
    - NamedArray
    - Network
    - GraphGenerator
    - ProcedureStep
    - File
    - Node
    - Edge
    - Observation
    - Dynamics
    - StateVariable
    - Parameter
    - CouplingInput
    - Argument
    - Function
    - FunctionCall
    - Callable
    - DerivedParameter
    - DerivedVariable
    - RandomStream
    - DataSource
    - OptimizationStage
    - Exploration
    - ExplorationAxis
    - FreeParameter
    - Inference
    - Prior
    - Likelihood
    - UpdateRule
    - AlgorithmStage
    - TuningObjective
    - Algorithm
    - BranchSwitch
    - Continuation
    - Integrator
    - Coupling
    - RegionMapping
    - SimulationExperiment
    - Study
    - ResultBinding
    - TimeSeries
    - NDArray
    - SpatialDomain
    - Mesh
    - SpatialField
    - FieldStateVariable
    - BoundaryCondition
    - PDESolver
    - PDE
    - Reducer
    range: string

```
</details></div>