Skip to content

Instantly share code, notes, and snippets.

@ntj
Created May 27, 2025 14:22
Show Gist options
  • Select an option

  • Save ntj/d043c3d8e89fd66a90bd96a4993e7e35 to your computer and use it in GitHub Desktop.

Select an option

Save ntj/d043c3d8e89fd66a90bd96a4993e7e35 to your computer and use it in GitHub Desktop.

Revisions

  1. ntj created this gist May 27, 2025.
    1,080 changes: 1,080 additions & 0 deletions 1. Workshop Research Data Management.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,1080 @@
    <!--
    author: Antje Kazimiers
    email: [email protected]
    language: de
    narrator, german, female *
    edit: true
    import: https://raw.githubusercontent.com/LiaTemplates/LiveEdit-Embeddings/refs/tags/0.0.1/README.md
    https://raw.githubusercontent.com/liaTemplates/ABCjs/main/README.md
    https://raw.githubusercontent.com/LiaTemplates/GGBScript/refs/heads/main/README.md
    https://raw.githubusercontent.com/LiaTemplates/PyScript/main/REAMDE.md
    https://raw.githubusercontent.com/LiaScript/CodeRunner/master/README.md
    script: https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.4.1/papaparse.min.js
    @CSV
    <script run-once style="display:block" modify="false">
    async function csvToMarkdownTable(csvFile) {
    const response = await fetch(csvFile);
    const text = await response.text();
    const rows = Papa.parse(text).data;
    let markdownTable = "| " + rows[0].join(" | ") + " |\n"; // Header
    markdownTable += "| " + rows[0].map(() => "---").join(" | ") + " |\n"; // Separator
    for (let i = 1; i < rows.length; i++) {
    if (rows[i].length === rows[0].length) {
    markdownTable += "| " + rows[i].join(" | ") + " |\n";
    }
    }
    send.lia("LIASCRIPT: <!-- data-type='none' --" + ">" + markdownTable);
    }
    csvToMarkdownTable("@0")
    "LIA: wait"
    </script>
    @end
    -->

    # 1. Workshop Research Data Management

    - Zenodo: https://zenodo.org/records/15424433

    - LiaScript: https://liascript.github.io/course/?https://zenodo.org/api/records/15424433/files/README.md/content

    - LiveEdit: https://liascript.github.io/LiveEditor/?/show/file/https://zenodo.org/api/records/15424433/files/README.md/content

    ## Motivation

    {{1}}
    <section>

    #### Fehlen technischer Expertise

    ![history of writing](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/history.jpg)

    </section>

    {{2}}
    <section>

    #### Separierung durch Werkzeuge, Plattformen und Formate

    ![islands](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/islands.png)

    </section>

    {{3}}
    <section>

    #### OER hat _Keine Sprache & Keine Zusammenarbeit_

    ![tower of babel](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/babel.jpg)

    </section>

    ## LiaScript?

    !?[YouTube: Industrial eLab](https://www.youtube.com/watch?v=bICfKRyKTwE&autoplay=1)

    {{1}}
    ````markdown @embed.style(height: 550px; min-width: 100%; border: 1px black solid)
    # Markdown Einkaufsliste

    - `Teig`
    - _Tomaten_ und _Käse_
    - ~keine Salami~

    ```
    Rezept

    man nehme ...
    ```
    ````

    ### `Hello World!`

    <!--
    language: en
    narrator: UK English Female
    -->

    --{{0}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_0.webm)
    Hello, my name is LiaScript, I am a Markdown-based language that has been specially developed to create educational materials.
    The advantage of Markdown is that it is already widely used, easy to write and read, and supported by many platforms.
    The biggest drawback, however, is that it is @burn(static as hell) and offers no interactivity.

    {{1-2}}
    <section>

    --{{1}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_1.webm)
    So my creators set out to rethink Markdown from the ground up...

    > <marquee>... Once you free your mind about a concept of Harmony and of music being "correct" you can do whatever you want ...</marquee>
    >
    > -- Giorgio Moroder (inventor of disco music)
    </section>

    --{{2}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_2.webm)
    Actually, tables in Markdown are simple to create and, as mentioned, are quite @burn(static).
    However, a table can also represent a dataset that strives for its ideal visualization.

    {{2}}

    | Animal | Weight in kg | Lifespan (years) | Mitogen |
    | --------------- | -----------: | ---------------: | ------: |
    | Mouse | 0.028 | 02 | 95 |
    | Flying Squirrel | 0.085 | 15 | 50 |
    | Brown Bat | 0.020 | 30 | 10 |
    | Sheep | 90 | 12 | 95 |
    | Human | 68 | 70 | 10 |

    --{{3}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_3.webm)
    Another tabular structure can produce a different visualization that can be fine-tuned by the creator.
    In total, I support 10 different types of visualizations.

    {{3}}
    <!--
    data-type="heatmap"
    data-title="Seattle Average Temperature in Fahrenheit"
    data-show
    -->

    | Seattle | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
    | ------: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
    | 0 | 40.7 | 41.5 | 43.6 | 46.6 | 51.4 | 56.0 | 60.5 | 61.2 | 57.0 | 50.1 | 44.1 | 39.6 |
    | 2 | 40.2 | 40.7 | 42.7 | 45.3 | 50.0 | 54.4 | 58.5 | 59.2 | 55.4 | 49.2 | 43.5 | 39.3 |
    | 4 | 39.7 | 40.0 | 41.9 | 44.4 | 48.9 | 53.2 | 57.0 | 57.7 | 54.2 | 48.6 | 43.1 | 38.9 |
    | 6 | 39.6 | 39.5 | 41.3 | 44.2 | 49.5 | 54.2 | 57.8 | 57.4 | 53.6 | 48.2 | 42.8 | 38.7 |
    | 8 | 39.6 | 39.9 | 42.9 | 47.1 | 52.7 | 57.3 | 61.3 | 61.1 | 56.7 | 49.5 | 43.1 | 38.7 |
    | 10 | 41.3 | 42.7 | 46.4 | 50.7 | 56.4 | 60.9 | 65.2 | 65.4 | 60.9 | 52.8 | 45.5 | 40.4 |
    | 12 | 43.8 | 46.0 | 49.5 | 53.8 | 59.6 | 64.3 | 69.4 | 69.8 | 65.1 | 56.0 | 47.8 | 42.6 |
    | 14 | 45.1 | 47.7 | 51.3 | 55.9 | 61.9 | 66.9 | 72.6 | 73.2 | 67.7 | 57.8 | 48.8 | 43.6 |
    | 16 | 44.5 | 47.5 | 51.4 | 55.9 | 62.3 | 67.5 | 73.9 | 74.3 | 68.2 | 57.4 | 47.8 | 42.6 |
    | 18 | 42.6 | 44.7 | 48.7 | 53.8 | 60.3 | 65.9 | 72.3 | 72.2 | 64.6 | 53.9 | 46.0 | 41.2 |
    | 20 | 42.0 | 43.3 | 46.4 | 50.2 | 56.0 | 61.4 | 66.9 | 66.6 | 60.7 | 52.3 | 45.2 | 40.7 |
    | 22 | 41.4 | 42.5 | 45.0 | 48.3 | 53.5 | 58.2 | 63.2 | 63.5 | 58.7 | 51.1 | 44.5 | 40.1 |

    --{{4}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_4.webm)
    What Markdown has always lacked was the embedding of multimedia content ...

    --{{5}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_5.webm)
    I support audio content ...

    {{5-6}}
    ?[a horse](https://www.w3schools.com/html/horse.mp3 'hear a horse')

    --{{6}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_6.webm)
    I can handle video as well, and of course, I work on feature phones even if they are offline.

    {{6-7}}
    !?[LiaScript on Nokia](https://www.youtube.com/watch?v=U_UW69w0uHE)

    --{{7}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_7.webm)
    I can also try to embed other types of content that do not fall into either of the two categories

    {{7}}
    ??[3D scan cathedral](https://sketchfab.com/3d-models/mision-de-guadalupe-y-catedral-de-cd-juarez-ab5af73f981b44e09522d7482f95f08a 'Misión De Guadalupe y Catedral de Cd. Juárez')

    --{{8}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_8.webm)
    And much, much more... We will soon show you how everything works.

    {{8}}
    ```abc
    X: 1
    M: 4/4
    L: 1/8
    K: Emin
    |:D2|"Em"EBBA B2 EB|~B2 AB dBAG|"D"FDAD BDAD|FDAD dAFD|
    "Em"EBBA B2 EB|B2 AB defg|"D"afe^c dBAF|"Em"DEFD E2:|
    ```
    @ABCJS.eval

    --{{9}}--
    !?[](https://raw.githubusercontent.com/LiaPlayground/Expert-Meeting-on-AI-and-TVET-2025/refs/heads/main/media/liascript_9.webm)
    You might have noticed that this document is being used like a PowerPoint presentation.
    However, our intention was to utilize LiaScript in various contexts.
    With LiaScript, you can create presentations, enable self-study through browser-based text-to-speech output, or read the content as a simple yet interactive textbook, without animations.

    ### LiaScript meets FDM & OER


    {{0-1}}
    ![Suchergebnisse zu "LiaScript Forschungsdatenmanagement"](https://raw.githubusercontent.com/LiaPlayground/SLUB-2025/refs/heads/main/screenshot_fdm_liascript.png)

    {{1-2}}
    | Autor_innen | Titel & | Link | Hinweise |
    | ----------------------------------------------------- | ----- | ---- | -------- |
    | Tim Bender, _Hessische Forschungsdateninfrastrukturen (HeFDI)_ | [HeFDI-FDM-Selbstlerneinheit](https://liascript.github.io/course/?https://api.allorigins.win/raw?url=https://code.fbi.h-da.de/fbmd1715/hefdi-selbstlerneinheit/-/raw/main/de/01_einfuehrung_in_das_fdm.md?ref_type=heads#3) | https://code.fbi.h-da.de/fbmd1715/hefdi-selbstlerneinheit | Überzeugende Motivation anhand einer _FDM-Foto-Lovestory_ |
    | Antje Ahrens, Nicola Seitz, Henrik Wagner, _C3L – Center für lebenslanges Lernen, Carl von Ossietzky Universität Oldenburg_ | [Universität Oldenburg, Research Data Management in the Energy Sector](https://www.twillo.de/edu-sharing/components/collections?id=cdaaa23c-4f8f-481f-bdad-19aad3bef880) | https://github.com/NFDI4Energy/EFZN_rdm | Im August 2023 war dieser Kurs "Twillo edu-sharing Perle des Monats", Einbettung von H5P Elementen |
    | Rose Hartmann, Joy Payton, _ARCUS Projekt, Children's Hospital of Philadelphia_ | [Data Education Courses](https://learn.arcus.chop.edu/) | https://github.com/arcus/education_modules | Grandioses Frontend für die Verwaltung der LiaScript-FDM-Kurse |


    # 2. Crashkurs Forschungs-Daten-Management

    ## 1. Forschungsdaten (FD)

    ... sind alle Daten, die während eines wissenschaftlichen Forschungsprozesses
    entstehen, verarbeitet werden oder dessen Ergebnis sind.


    Aufgrund der Fächervielfalt sind FD sehr heterogen.
    Das können z. B. sein: Messdaten, Laborwerte, audiovisuelle Informationen,

    <!-- style="color: red" -->
    Texte, Surveydaten, Objekte aus Sammlungen oder Proben, methodische
    Testverfahren _(Fragebögen, Interviews_), Transkripte, Beobachtungen, Software,
    Code, Simulationen.

    ## 2 Forschungsdaten-Lebenszyklus

    ... ist eine schematische Darstellung der Phasen, die Daten in einem Forschungsprozess idealerweise durchlaufen.
    Hieraus ergeben sich die Aufgaben im Forschungsdatenmanagement (FDM) für Forschende und Einrichtungen der wissenschaftlichen Infrastruktur.
    Die Phasen des Forschungsdatenlebenszyklus bilden zudem die Grundlage für das Aufstellen eines Datenmanagementplans sowie für die Kostenkalkulation im Gesamtprojekt.

    ```ascii
    .---------------------.
    .-------> | 📝 Erhebung |▓--------.
    / '---------------------+▓ \
    / ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ \
    / V
    .---------------------. .---------------------.
    | ♻️ Nachnutzung |▓ | ⚙️ Verarbeitung |▓
    '---------------------+▓ '---------------------+▓
    ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    A |
    | D A T E N |
    | |
    | V
    .---------------------. .---------------------.
    | 📢 Veröffentlichung |▓ | 🔍 Analyse |▓
    '---------------------+▓ '---------------------+▓
    ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    A /
    \ .---------------------. /
    '-------- | 🗄️ Archivierung |▓ <------'
    '---------------------+▓
    ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    ```

    ```
    ASCII-Art
    ```

    1. ~~__Erhebung__~~

    * Methodik der Datenerhebung
    * Planen des Datenmanagements, inklusive Budgetplanung
    * Festlegen von Rollen innerhalb der Arbeitsgruppe

    * Recherche bereits vorhandener Datenbestände
    * Beachten der FAIR-Prinzipien
    * Mehr wissen: https://www.forschungsdaten.info/themen/planen-und-strukturieren/

    2. __Verarbeitung__

    - Daten:

    - Eingeben, digitalisieren, transkribieren...
    - Prüfen, validieren, bereinigen
    - Ggf. anonymisieren
    - Beschreiben
    - Sichern, Backup

    - Mehr wissen: https://www.forschungsdaten.info/themen/organisieren-und-arbeiten/

    3. Analyse

    - Interpretation der Daten
    - Präsentation der Forschungsergebnisse
    - Publikationsprozess
    - Vorbereitung für Datenerhalt (Metadaten)
    - Beachten der FAIR-Prinzipien

    4. Archivierung ...
    5. Veröffentlichung ...
    6. Nachnutzung ...

    ## 3 FAIR Prinzipien

    > (F)indable (A)ccessible (I)nteroperable (R)eusable
    >
    > > *The original idea of the web was that it should be a collaborative space where you can communicate through sharing information.
    > >
    > > -- Tim Berners-Lee
    ### 3.1 Verweise

    https://zenodo.org

    Weitere Informationen findet ihr [__hier__](https://zenodo.org/records/3778431)


    ### 3.2 Bilder `!`

    ![Fair Data Prinzipien](https://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/FAIR_data_principles.jpg/1024px-FAIR_data_principles.jpg "Bild: Fair Data Prinzipien, Quelle: Wikipedia oder auf Zenodo https://zenodo.org/records/3778431")<!-- style="width: 70%; min-width: 400px" -->

    lorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubablorem ipsujm blublbubab

    ### 3.3 Audio `?` & Video `!?`

    ?[Audio: NFDI podcast - For a FAIR Data Future](https://stitcher2.acast.com/livestitches/bc8221ade949204134bf80938b93cd50.mp3?aid=67373c78cb2eb55da66b1173&chid=67373bb1ba4404855a808f2b&ci=Hr-WmEqIpldSpeELudn1iPtBsQOtSSRQNRi-7zdJjBX-LHSt5wYK_w%3D%3D&pf=embed&sv=sphinx%401.238.0&uid=c680c28a8214ed250783ec7d0663439c&Expires=1747225822552&Key-Pair-Id=K38CTQXUSD0VVB&Signature=cSkZ5gG94SCBR8jSflpF1dnwWiuf9SB9BScvEflrL0m-bA~Y9bchmQStVRwz1icCltrCc6GVaRyVe1Kb-RDJhbcf2yTF4nOzhYCgmOqn89UqfbIS3Ha31qC~qRqwsYsjFQ3UtK8EeRE4K~k8C0JodZty4ueXsDr696TJg7NH71sgSmuGo680qqNnOi5Drl8SAKrOPNoWYiUlXHCIqIRUHy1ZnmO0Y3BOM0MscLzyFkUOUa2Wf~LlsUj1Gi67XwjNabYjVbdulpz2UsAVCIg2Oljbzj0o~YOnYTXpSNhZbqol-kXqIgRCdYhY7o8KVe27JoxFxFcKuY8I81E9t6Jm9g__)
    !?[Video: An introduction to FAIR data](https://upload.wikimedia.org/wikipedia/commons/transcoded/a/a9/FREYA-The-power-of-PIDs-V05-1.webm/FREYA-The-power-of-PIDs-V05-1.webm.720p.vp9.webm "_Source:_ https://en.wikipedia.org/wiki/FAIR_data")
    !?[YouTube FairData](https://www.youtube.com/watch?v=1pGPJYjs8tQ)

    ### 3.4 Alles zu oEmbed-den `??`

    ??[sketchfab](https://sketchfab.com/3d-models/railway-bridge-with-a-feeling-of-coziness-620a7c96136a4f41974245a04a90be78)

    [3D Scan - Familienschacht in Freiberg](https://sketchfab.com/3d-models/familienschacht-freiberg-germany-7c7d30506c554385a4a4321366e2e601)

    [NFDI podcast - For a FAIR Data Future](https://shows.acast.com/nfdi-podcast-for-a-fair-data-future/episodes/die-nationale-forschungsdateninfrastruktur-nfdi-und-die-fair)

    ## 4 Forschungsdaten-Management

    ... umfasst alle Aktivitäten, die mit

    - Aufbereitung,
    - Speicherung,
    - Archivierung und
    - Veröffentlichung von FD verbunden sind.

    9 | (* dots)
    |rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr (r obere Grenze)
    y | *
    - |
    a | *
    x |
    i | *
    s |
    |*
    0 +------------------------------------
    0 x-axis 360

    | x | dots | rot |
    | --- | ---- | --- |
    | 0 |0 | 22|
    | 10| 2|23|
    |20| 4|23|
    |30| 6|44|

    4.1 Mehr Daten


    | Animal | weight in kg | Lifespan years | Mitogen |
    | --------------- | -----------: | -------------: | ------: |
    | Mouse | 0.028 | 2 | 95 |
    | Flying squirrel | 0.085 | 15 | 50 |
    | Brown bat | 0.020 | 30 | 10 |
    | Sheep | 90 | 12 | 95 |
    | Human | 68 | 70 | 10 |


    | Music-Style | Classic | Country | Reggae | Hip-Hop | Hard-Rock | Samba |
    | :---------- | ------: | ------: | -----: | ------: | --------: | ----: |
    | 1994 | 50 | 50 | 100 | 200 | 350 | 250 |
    | 2014 | 20 | 30 | 100 | 220 | 400 | 230 |
    | demo 2034 | 5 | 12 | 98 | 293 | 345 | 32 |



    <!--
    data-type="heatmap"
    data-title="Seattle mean temperature in Fahrenheit"
    data-show
    -->
    | Seattle | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
    | ------: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
    | 0 | 40.7 | 41.5 | 43.6 | 46.6 | 51.4 | 56.0 | 60.5 | 61.2 | 57.0 | 50.1 | 44.1 | 39.6 |
    | 2 | 40.2 | 40.7 | 42.7 | 45.3 | 50.0 | 54.4 | 58.5 | 59.2 | 55.4 | 49.2 | 43.5 | 39.3 |
    | 4 | 39.7 | 40.0 | 41.9 | 44.4 | 48.9 | 53.2 | 57.0 | 57.7 | 54.2 | 48.6 | 43.1 | 38.9 |
    | 6 | 39.6 | 39.5 | 41.3 | 44.2 | 49.5 | 54.2 | 57.8 | 57.4 | 53.6 | 48.2 | 42.8 | 38.7 |
    | 8 | 39.6 | 39.9 | 42.9 | 47.1 | 52.7 | 57.3 | 61.3 | 61.1 | 56.7 | 49.5 | 43.1 | 38.7 |
    | 10 | 41.3 | 42.7 | 46.4 | 50.7 | 56.4 | 60.9 | 65.2 | 65.4 | 60.9 | 52.8 | 45.5 | 40.4 |
    | 12 | 43.8 | 46.0 | 49.5 | 53.8 | 59.6 | 64.3 | 69.4 | 69.8 | 65.1 | 56.0 | 47.8 | 42.6 |
    | 14 | 45.1 | 47.7 | 51.3 | 55.9 | 61.9 | 66.9 | 72.6 | 73.2 | 67.7 | 57.8 | 48.8 | 43.6 |
    | 16 | 44.5 | 47.5 | 51.4 | 55.9 | 62.3 | 67.5 | 73.9 | 74.3 | 68.2 | 57.4 | 47.8 | 42.6 |
    | 18 | 42.6 | 44.7 | 48.7 | 53.8 | 60.3 | 65.9 | 72.3 | 72.2 | 64.6 | 53.9 | 46.0 | 41.2 |
    | 20 | 42.0 | 43.3 | 46.4 | 50.2 | 56.0 | 61.4 | 66.9 | 66.6 | 60.7 | 52.3 | 45.2 | 40.7 |
    | 22 | 41.4 | 42.5 | 45.0 | 48.3 | 53.5 | 58.2 | 63.2 | 63.5 | 58.7 | 51.1 | 44.5 | 40.1 |


    Mehr Informatione zu Tabellen: https://liascript.github.io/course/?https://raw.githubusercontent.com/liaScript/docs/master/README.md#fun-with-tables

    ## 5 Forschungsdatenpolicies?

    - [X] habe ich gemacht
    - [ ] noch offen


    {{|>}}
    Welches [[Akronym ]] beschreibt im Forschungsdatenmanagement die Prinzipien, dass Daten auffindbar, zugänglich, interoperabel und wiederverwendbar sein sollen?

    [[FAIR]]
    [[?]] Es ist ein Acronym und muss groß geschrieben werden.
    [[?]] Es beginnt mit F
    <script>
    const x = "@input".toLowerCase()
    x == "fair"
    </script>

    ---

    Welche der Beispiele für Dateinamen auf folgen einer guten Benennungskonvention und warum?

    - [( )] `Olga_170413_probe17k`
    - [( )] `Naturepaper karl britta james fertig!`
    - [( )] `Naturepaper+karl+britta+james &nal`
    - [( )] `Naturepaper+karl+britta+james fertig! überarbeitet`
    - [(X)] `Kristall_765_spektr_20161203`
    - [( )] `Nature_karlbrittajames_endendversion`
    - [( )] `28q8QGlHKwrRw.pdf`
    - [( )] `Tagung_Digitale_Wissenschaft.pdf`

    Begründung:

    - Keine Sonderzeichen
    - Sortierung nach: Bezeichnung, ID-Nummer, Datum
    - Spektr ist vermutlich das Experiment
    - Datum ist eindeutig zuzuordnen

    ---

    Welche folgenden Punkte gehören typischerweise zu den Inhalten einer Forschungsdatenmanagement-Policy?

    - [[X]] Standardisierte Metadaten- und Dateiformate
    - [[ ]] Finanzierungs- und Budgetierungsrichtlinien für Projekte
    - [[x]] Regeln zur Datensicherung und Versionierung
    - [[ ]] Vorgaben zur Veröffentlichung von Forschungsergebnissen in Fachzeitschriften
    - [[x]] Aufbewahrungsfristen und Löschkonzepte

    ## 6 Datendokumentation (& Metadaten)

    --{{1}}--
    Eine Markdown-Datei ist eine menschenlesbare Textdatei, die einen Datensatz/einen Programmcode beschreibt, dient dessen Interpretation.


    {{1-2}}
    ````markdown
    # Projektname

    **Kurzbeschreibung:** Eine kurze Zusammenfassung des Forschungsprojekts und seiner Ziele.

    ## 1. Überblick

    Beschreibe den Hintergrund und die Hauptfragestellung deines Projekts.

    ## 2. Datensatzbeschreibung

    - **Daten-Typen:** (z.B. numerisch, qualitativ, Bilddaten)
    - **Erhebungszeitraum:** (z.B. Januar 2020 – März 2021)
    - **Geographische Abdeckung:** (Falls relevant)
    - **Stichprobe:** (z.B. Anzahl Beobachtungen, Probanden)

    ## 3. Verzeichnisstruktur

    ```bash
    .
    ├── data/
    │ ├── raw/ # Unveränderte Originaldaten
    │ ├── processed/ # Aufbereitete Daten
    │ └── metadata/ # Metadaten-Dateien
    ├── docs/ # Begleitdokumentation
    ├── scripts/ # Analyse-Skripte
    ├── results/ # Ergebnisse (Tabellen, Grafiken)
    └── README.md # Diese Datei
    ```

    ## 4. Metadaten und Datenstandard

    ...

    ## Kontakt

    ...
    ````

    Metadaten sind strukturierte Informationen, die den Inhalt, die Struktur und die Qualität von Daten beschreiben. Sie sind wichtig für die Auffindbarkeit, Zugänglichkeit und Wiederverwendbarkeit von Daten.

    {{2-3}}
    ```xml
    <?xml version="1.0" encoding="UTF-8"?>
    <SimpleDarwinRecordSet
    xmlns="http://rs.tdwg.org/dwc/xsd/simpledarwincore/"
    xmlns:dc="http://purl.org/dc/terms/"
    xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://rs.tdwg.org/dwc/xsd/simpledarwincore/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_simple.xsd">
    <SimpleDarwinRecord>
    <dc:modified>2009-02-12T12:43:31</dc:modified>
    <dc:language>en</dc:language>
    <dwc:basisOfRecord>Taxon</dwc:basisOfRecord>
    <dwc:scientificName>Ctenomys sociabilis</dwc:scientificName>
    <dwc:acceptedNameUsage>Ctenomys sociabilis Pearson and Christie, 1985</dwc:acceptedNameUsage>
    ...
    </SimpleDarwinRecord>
    </SimpleDarwinRecordSet>
    ```

    Persistent Identifier (PID) sind eindeutige, dauerhafte Identifikatoren, die zur eindeutigen Identifizierung von digitalen Objekten verwendet werden. Sie sind wichtig für die Auffindbarkeit und den langfristigen Zugang zu Daten.

    {{3}}
    *************************************
    Beispiele für PIDs sind:

    - DOI (Digital Object Identifier)
    - ARK (Archival Resource Key)
    - ORCID (Open Researcher and Contributor ID)
    - ISBN (International Standard Book Number)
    - ...
    *****************************************

    ## 7 Rekapitulation Fair Data Prinzipien

    > ℹ️ Die **FAIR Prinzipien** sind eine international anerkannte, unverbindliche Richtlinie der Datendokumentation und -veröffentlichung.
    >
    > Sie helfen, Forschungsdaten entlang ihres Lebenszyklus so zu organisieren, zu beschreiben, zu speichern, zu archivieren und zu veröffentlichen, dass diese sowohl von Menschen als auch von Maschinen gelesen und interpretiert werden können.
    >
    > Die FAIR Prinzipien dienen damit in erster Linie dem nachhaltigen Datenerhalt und der -nachnutzung.
    <lia-keep>
    <style>
    .flip-card {
    background-color: transparent;
    width: 300px;
    height: 200px;
    perspective: 1000px;
    cursor: pointer;
    margin: 20px auto;
    }
    .flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    }
    .flip-card.flipped .flip-card-inner {
    transform: rotateY(180deg);
    }
    .flip-card-front,
    .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border: 1px solid #ccc;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: sans-serif;
    padding: 1em;
    }
    .flip-card-front {
    background-color: #f9f9f9;
    }
    .flip-card-front p {
    padding: 1em;
    }
    .flip-card-back {
    background-color: #e1efef;
    transform: rotateY(180deg);
    display: block;
    }
    #flip-card-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    }
    </style>
    <div id="flip-card-container">
    <div class="flip-card" onclick="this.classList.toggle('flipped')">
    <div class="flip-card-inner">
    <h3 class="flip-card-front">Was bedeutet "Findable"?</h3>
    <div class="flip-card-back">
    <h3>Findable</h3>
    Auffinden von Daten und deren Metadaten, menschen- und maschinenlesbar
    </div>
    </div>
    </div>
    <div class="flip-card" onclick="this.classList.toggle('flipped')">
    <div class="flip-card-inner">
    <h3 class="flip-card-front">Was bedeutet "Accessible"?</h3>
    <div class="flip-card-back">
    <h3>Accessible</h3>
    Daten und Metadaten mittels Standard-Kommunikationsprotokollen abrufbar, herunterladbar oder lokal nutzbar
    </div>
    </div>
    </div>
    <div class="flip-card" onclick="this.classList.toggle('flipped')">
    <div class="flip-card-inner">
    <h3 class="flip-card-front">Was bedeutet "Interoperable"?</h3>
    <div class="flip-card-back">
    <h3>Interoperable</h3>
    (teil)automatisierter Austausch, Interpretation und Kombination von Daten
    </div>
    </div>
    </div>
    <div class="flip-card" onclick="this.classList.toggle('flipped')">
    <div class="flip-card-inner">
    <h3 class="flip-card-front">Was bedeutet "Reusable"?</h3>
    <div class="flip-card-back">
    <h3>Reusable</h3>
    Nachnutzung von Daten unter verständlichen Bedingungen
    </div>
    </div>
    </div>
    </div>
    </lia-keep>

    # 3. Datenanalyse mit ...

    > “Any application that can be written in JavaScript, will eventually be written in JavaScript.”
    >
    > -- [Atwood's Law](https://en.wikipedia.org/wiki/Jeff_Atwood)
    ## Erweiterungen / Templates

    <div style="display: flex; justify-content: center; align-items: center; height: 100%; margin: -22rem 0; font-size: 4rem;">
    https://github.com/topics/liascript-template
    </div>

    ## Titanic-Datensatz

    @[CSV](https://zenodo.org/api/records/15424433/files/titanic-dataset.csv/content)

    ### Survival of the richest
    <!--
    persistent: true
    -->

    > ... am Beispiel einer PyScript Realisierung
    >
    > Quelle des Moduls: https://github/LiaTemplates/PyScript
    >
    > `import: https://raw.githubusercontent.com/liaTemplates/PyScript/main/README.md`

    ```python @PyScript.repl
    import pyodide.http
    import pandas as pd
    from io import StringIO

    async def fetch_data(url):
    response = await pyodide.http.pyfetch(url) # Daten abrufen
    csv_data = await response.string() # Inhalt als String laden
    df = pd.read_csv(StringIO(csv_data)) # In DataFrame umwandeln
    return df

    # Funktion direkt aufrufen mit `await` (NICHT `asyncio.run()`)
    url = "https://zenodo.org/api/records/15424433/files/titanic-dataset.csv/content"
    Titanic = await fetch_data(url)

    # Ausgabe
    Titanic
    ```

    ---

    ```python @PyScript.repl
    import matplotlib.pyplot as plt

    # Absolute Häufigkeit der Überlebenden und Nicht-Überlebenden berechnen
    absolute_counts = Titanic.groupby(["Pclass", "Sex"])["Survived"].value_counts().unstack()

    # Visualisierung der absoluten Häufigkeiten
    absolute_counts.plot(kind="bar", stacked=True, figsize=(10,6), edgecolor="black")
    plt.title("Absolute Häufigkeit der Überlebenden nach Passagierklasse und Geschlecht")
    plt.xlabel("Passagierklasse und Geschlecht")
    plt.ylabel("Anzahl der Passagiere")
    plt.xticks(rotation=0)
    plt.legend(["Nicht Überlebt", "Überlebt"], title="Status")
    plt.grid(axis="y", linestyle="--", alpha=0.7)
    plt.show()
    plt
    ```

    ### Frauen und Kinder zu _R_ st

    > ... am Beispiel eines R Interpreters der auf einem Server (Coderunner) der TU Bergakademie läuft
    >
    > https://github.com/LiaScript/CodeRunner
    >
    > `import: https://raw.githubusercontent.com/LiaScript/CodeRunner/master/README.md`

    ```r
    suppressPackageStartupMessages({
    library(ggplot2)
    library(dplyr)
    })

    # CSV-Datei einlesen
    df <- read.csv("https://zenodo.org/api/records/15424433/files/titanic-dataset.csv/content")

    # Alter bereinigen (NA-Werte entfernen)
    df <- df %>% filter(!is.na(Age))

    # Überlebenswahrscheinlichkeit nach Geschlecht und Alter (inkl. Männer)
    women_children_men <- df %>%
    mutate(Category = case_when(
    Sex == "female" & Age < 18 ~ "Female Child",
    Sex == "female" & Age >= 18 ~ "Female Adult",
    Sex == "male" & Age < 18 ~ "Male Child",
    Sex == "male" & Age >= 18 ~ "Male Adult"
    )) %>%
    group_by(Category) %>%
    summarise(SurvivalRate = mean(Survived), .groups = 'drop')

    # PNG-Datei für Analyse speichern
    png("women_children_men_survival.png", width = 800, height = 400)

    ggplot(women_children_men, aes(x = Category, y = SurvivalRate, fill = Category)) +
    geom_bar(stat = "identity", position = "dodge") +
    ggtitle("Überlebenswahrscheinlichkeit von Frauen, Männern und Kindern") +
    xlab("Kategorie") +
    ylab("Überlebensrate") +
    scale_fill_manual(values = c("blue", "red", "green", "purple"), name = "Kategorie") +
    theme_minimal()

    dev.off()
    ```
    @LIA.r

    ### Geschichten mit JavaScript

    ```javascript
    <script run-once style="display:block" modify="false">
    async function queryDBpedia(lastName) {
    // Updated SPARQL query to also fetch images
    const query = `
    SELECT DISTINCT ?person ?name ?wikipediaLink ?image WHERE {
    ?person a dbo:Person ;
    rdfs:label ?name ;
    dbo:wikiPageWikiLink dbr:RMS_Titanic .
    ?person foaf:isPrimaryTopicOf ?wikipediaLink .
    OPTIONAL { ?person foaf:depiction ?image }
    FILTER(CONTAINS(LCASE(?name), "${lastName.toLowerCase()}"))
    }
    LIMIT 1
    `;

    const url = "https://dbpedia.org/sparql?query=" +
    encodeURIComponent(query) +
    "&format=json";

    try {
    const response = await fetch(url);
    const data = await response.json();
    return data.results.bindings[0] || null;
    } catch (error) {
    console.error("DBpedia query failed:", error);
    return null;
    }
    }

    async function csvToMarkdownTable(csvFile) {
    const response = await fetch(csvFile);
    const text = await response.text();
    const rows = Papa.parse(text).data;

    // Find the name column index
    const nameColumnIndex = rows[0].findIndex(header => header.includes("Name"));

    // Add an "Image" column header after the name column
    rows[0].splice(nameColumnIndex + 1, 0, "Image");

    let markdownTable = "| " + rows[0].join(" | ") + " |\n";
    markdownTable += "| " + rows[0].map(() => "---").join(" | ") + " |\n";

    // Process all rows in a single loop
    for (let i = 1; i < rows.length; i++) {
    if (rows[i].length === rows[0].length - 1) { // -1 because we added a column
    // Extract the name and get the last name
    const fullName = rows[i][nameColumnIndex];
    const nameParts = fullName.split(',');
    const lastName = nameParts[0].trim();

    // Try to find DBpedia entry
    const dbpediaInfo = await queryDBpedia(lastName);

    // Insert an image cell after the name cell
    let imageCell = "";

    if (dbpediaInfo) {
    // Add Wikipedia link to name if available
    if (dbpediaInfo.wikipediaLink) {
    rows[i][nameColumnIndex] = `[${fullName}](https://zenodo.org/api/records/15424433/files/README.md/${dbpediaInfo.wikipediaLink.value})`;
    }

    // Add image if available
    if (dbpediaInfo.image) {
    imageCell = `![${lastName}](https://zenodo.org/api/records/15424433/files/README.md/${dbpediaInfo.image.value})`;
    }
    }

    // Insert the image cell after the name
    rows[i].splice(nameColumnIndex + 1, 0, imageCell);

    markdownTable += "| " + rows[i].join(" | ") + " |\n";
    }
    send.lia("LIASCRIPT: <!-- data-type='none' --" + ">" + markdownTable);
    }

    }

    csvToMarkdownTable("https://zenodo.org/api/records/15424433/files/titanic-dataset.csv/content");

    "LIA: wait"
    </script>
    ```

    # 4. Ausblick & Kombinationen

    ![back to future](https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExcHNlcWd4NDFtZXQ0aXRsZXZtOHJpbTVwYWg0cHM1Ynkyd3c1bXh1YSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/92zXMobp0mrvy/giphy.gif)<!-- style='width: 100%' -->

    ## Echtzeitdaten ...

    Beispiel: Wetterdaten
    ---------------------

    https://open-meteo.com/

    longitude: <script default="13.33125" input="range" output="longitude">@input</script>

    latitude: <script default="50.92558" input="range" output="latitude">@input</script>

    <script run-once="true" style="display: block">
    fetch("https://api.open-meteo.com/v1/forecast?latitude=@input(`latitude`)&longitude=@input(`longitude`)&hourly=temperature_2m")
    .then(response => response.json())
    .then(data => {
    let table = "<!-- data-show data-type='line' data-title='Open-Meteo Weather API' -->\n"

    table += "| Time | Temperature |\n"
    table += "| ---- | ----------- |\n"

    for (let i=0; i < data.hourly.time.length; i++) {
    table += "| " + data.hourly.time[i] + " | " + data.hourly.temperature_2m[i] + " |\n"
    }
    send.lia("LIASCRIPT: "+table) }
    )
    .catch(e => {
    send.lia("ups, something went wrong")
    })
    "waiting for the weather"
    </script>

    ## SVG & LiaScript

    <svg style="width: 100%; aspect-ratio: 10 / 8" viewBox="0 0 500 500" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg">
    <defs>
    <marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto">
    <path d="M0,0 L10,5 L0,10 Z" fill="#7FC8D8" />
    </marker>
    </defs>

    <path
    d="M370,70 A210,210 0 1,1 170,65"
    fill="none"
    stroke="#7FC8D8"
    stroke-width="2"
    marker-end="url(#arrow)"
    />

    <!-- Zentrales Label -->
    <text x="275" y="260" text-anchor="middle" font-family="sans-serif" font-size="32" font-weight="bold" fill="#C0392B">
    DATEN
    </text>

    <!-- Knoten-Definitionen -->
    <g font-family="sans-serif" font-size="16" font-weight="bold" text-anchor="middle">

    <rect x="180" y="30" width="190" height="40" rx="5" fill="pink"/>
    <foreignObject x="220" y="35" width="190" height="40">

    {{1}}
    ## Erhebung

    </foreignObject>



    <rect x="363.2" y="130" width="190" height="40" rx="5" fill="pink"/>
    <foreignObject x="388" y="135" width="190" height="40">

    {{2}}
    ## Verarbeitung

    </foreignObject>

    <rect x="363.2" y="330" width="190" height="40" rx="5" fill="pink"/>
    <foreignObject x="418" y="335" width="190" height="40">

    {{3}}
    ## Analyse

    </foreignObject>

    <rect x="190" y="430" width="190" height="40" rx="5" fill="pink"/>
    <foreignObject x="214" y="435" width="190" height="40">

    {{4}}
    ## Archivierung

    </foreignObject>

    <rect x="16.8" y="330" width="190" height="40" rx="5" fill="pink"/>
    <foreignObject x="22" y="335" width="190" height="40" style="font-size: 16px">

    {{5}}
    ## Veröffentlichung

    </foreignObject>

    <rect x="16.8" y="130" width="190" height="40" rx="5" fill="pink"/>
    <foreignObject x="40" y="135" width="190" height="40" style="font-size: 16px">

    {{6}}
    ## Nachnutzung

    </foreignObject>

    </g>

    </svg>

    ## Explorative Darstellungen


    ``` js @GGBScript
    Titel("Die Distanz zwischen A und B ist 5");

    // Definiere Punkte
    const A = Punkt(1, 2, "A");
    const B = Punkt(4, 6, "B");
    ```

    {{1}}
    <section>

    -----------------------------------

    ### Vergleich quadratischer und linearer Funktionen

    Überführe die Quadratische Funktion in eine Geraden-Gleichung und untersuche wie sich Veränderung der Steigung und des Achsenabschnitts auf die Funktion auswirken. Vergleiche die Ergebnisse mit den Ergebnissen der quadratischen Funktion.
    Der Exponent der Funktion
    $a =$ <script input="range" step="1" min="-1" max="6" value="2" output="a">@input</script>,
    der Koeffizient des linearen Terms ist
    $b =$ <script input="range" step="0.1" min="-10" max="10" value="0" output="b">@input</script>
    und der y-Achsenabschnitt ist
    $c =$ <script modify="false" input="range" step="0.1" min="-10" max="10" value="0" output="c">@input</script>

    <script modify="false" run-once style="display: inline-block; width: 100%">
    "LIASCRIPT: ### $$f(x) = x^{@input(`a`)} + x * @input(`b`) + @input(`c`)$$"
    </script>

    <script run-once style="display: inline-block; width: 100%">
    function func(x) {
    return Math.pow(x, @input(`a`)) + @input(`b`) * x + @input(`c`);
    }

    function generateData() {
    let data = [];
    for (let i = -15; i <= 15; i += 0.01) {
    data.push([i, func(i)]);
    }
    return data;
    }

    let option = {
    animation: false,
    grid: { top: 40, left: 50, right: 40, bottom: 50 },
    xAxis: {
    name: 'x',
    minorTick: {
    show: true
    },
    splitLine: {
    lineStyle: {
    color: '#999'
    }
    },
    minorSplitLine: {
    show: true,
    lineStyle: {
    color: '#ddd'
    }
    }
    },
    yAxis: {
    name: 'y', min: -10, max: 10,
    minorTick: {
    show: true
    },
    splitLine: {
    lineStyle: {
    color: '#999'
    }
    },
    minorSplitLine: {
    show: true,
    lineStyle: {
    color: '#ddd'
    }
    }
    },
    dataZoom: [{
    show: true,
    type: 'inside',
    filterMode: 'none',
    xAxisIndex: [0],
    startValue: -20,
    endValue: 20
    }, {
    show: true,
    type: 'inside',
    filterMode: 'none',
    yAxisIndex: [0],
    startValue: -20,
    endValue: 20
    }],
    series: [
    {
    type: 'line',
    showSymbol: false,
    clip: true,
    data: generateData()
    }
    ]
    }
    "HTML: <lia-chart option='" + JSON.stringify(option) + "'></lia-chart>"
    </script>

    </section>

    # 5. Wie geht es weiter?

    | Ressource | Hinweise |
    | --------------------------------------------- | --------------------------------------------------------------------------------- |
    | https://liascript.github.io | Projektwebseite mit Links zu allen Informationen, LiveEditor, Blogbeiträgen, ... |
    | [LiaScript erklärt LiaScript](https://liascript.github.io/course/?https://raw.githubusercontent.com/LiaScript/docs/master/README.md) | Dokumentation des Sprachumfanges |
    | https://www.youtube.com/@liascript4180 | Youtube Kanal |
    | https://github.com/orgs/LiaScript/discussions | Diskussionsforum von Nutzenden |
    | https://app.gitter.im/#/room/#LiaScript_community:gitter.im | Gitter Chatroom |
    | eMail | [LiaScript\@web.de](https://zenodo.org/api/records/15424433/files/README.md/mailto:[email protected]) |