psychoinformatics-de / datalad-concepts

Other
3 stars 2 forks source link

Modeling a scientific study with participants, samples, and data distributions #180

Open jsheunis opened 2 months ago

jsheunis commented 2 months ago

See https://hub.datalad.org/datalink/tools/issues/3

Just using this issue here to prototype the idea using mermaid.


flowchart TD
    study("`**Research Project/Study/Dataset**
       is_a Resource`" )
    session("`**Study Activity (session)**
       is_a Activity`" )
    participant("`**Study Participant**
       is_a Agent`" )
    property("`**Participant Property**
       is_a Property OR QuantitativeProperty`" )
    AgentInfluence("`**AgentInfluence**
       is_a dlprov:Influence`" ) 
    role([some IRI]) 
    file("`**Raw data file**
       is_a dldist:Distribution`" )
    Attribution("`**Attribution**
       is_a dlprov:AgentInfluence`" )
    sample("`**Data sample**
       is_a Entity (or resource??)`" )
    Attribution2("`**Attribution**
       is_a dlprov:AgentInfluence`" )
    sampleproperty("`**Sample Property**
       is_a Property OR QuantitativeProperty`" )

    study -->|relation| session
    study -->|relation| participant
    participant -->|has_property| property
    session -->|qualified_association| AgentInfluence
    AgentInfluence -->|agent| participant
    AgentInfluence -->|had_role| role
    Attribution -->|agent| participant
    file -->|qualified_attribution| Attribution
    file -->|was_generated_by| session
    sample -->|qualified_attribution| Attribution2
    sample -->|was_generated_by| session
    Attribution2 -->|agent| participant
    sample -->|has_property| sampleproperty

Base classes:


flowchart TD

    Thing("`**dlthing:Thing**`" )

    Activity("`**dlprov:Activity**
       is_a Thing`" )
    Agent("`**dlprov:Agent**
       is_a Thing`" )
    Entity("`**dlprov:Entity**
       is_a Thing`" )
    Resource("`**dldist:Resource**
       is_a Entity`" )
    Distribution("`**dldist:Distribution**
       is_a Entity`" )

    Characteristic("`**dlthing:Characteristic**`" )
    Property("`**dlthing:Property**
       is_a Characteristic`" )
    QuantitativeProperty("`**dlthing:QuantitativeProperty**
       is_a Property`" )

    Thing --> Activity
    Thing --> Agent
    Thing --> Entity
    Entity --> Resource
    Entity --> Distribution
    Characteristic --> Property
    Property --> QuantitativeProperty