# JSON-Datenstruktur für Social-Media-Profile und Organisationen ## Übersicht Diese JSON-Datei speichert Social-Media-Profile von Personen und Organisationen, einschließlich ihrer Verknüpfungen mit Communities oder Labels wie **relilab** und **relimentar**. Zusätzlich ermöglicht die Struktur eine mehrfache Zuordnung von Personen zu Organisationen sowie Beziehungen zwischen Organisationen. --- ## Datenstruktur ### Personen (`persons`) - **`name`** *(String)* – Name der Person - **`profiles`** *(Array)* – Liste der Social-Media-Accounts der Person - **`platform`** *(String)* – Plattform (z.B. Twitter, Instagram, LinkedIn) - **`handle`** *(String)* – Benutzername/Handle auf der Plattform - **`mentionSyntax`** *(String)* – Syntax für Erwähnungen (`@handle` oder ID) - **`profileLink`** *(String)* – Direktlink zum Profil - **`category`** *(String)* – Einstufung (z.B. VIP, Bildung, BNE) - **`firstSeen`** *(String, ISO-Zeitformat)* – Zeitpunkt der Ersterfassung - **`lastUpdated`** *(String, ISO-Zeitformat)* – Letzte Aktualisierung - **`organizationIds`** *(Array)* – Liste der zugehörigen Organisationen anhand ihrer `orgId` ### Organisationen (`organizations`) - **`orgId`** *(String)* – Eindeutige Abkürzung für die Organisation - **`orgName`** *(String)* – Vollständiger Name der Organisation - **`handles`** *(Array)* – Social-Media-Profile der Organisation - **`platform`** *(String)* – Plattform (z.B. Twitter, LinkedIn) - **`handle`** *(String)* – Benutzername/Handle der Organisation - **`mentionSyntax`** *(String)* – Erwähnungs-Syntax (`@handle` oder ID) - **`profileLink`** *(String)* – Direktlink zum Profil - **`relatedOrgs`** *(Array, optional)* – Liste verwandter Organisationen anhand ihrer `orgId` ### Beispielhafte JSON-Struktur ```json { "persons": [ { "name": "Jörg Lohrer", "profiles": [ { "platform": "Mastodon", "handle": "joerglohrer", "mentionSyntax": "@joerglohrer", "profileLink": "https://reliverse.social/@joerglohrer", "category": "Bildung", "firstSeen": "2025-02-01T09:00:00", "lastUpdated": "2025-02-10T14:00:00", "organizationIds": ["comenius", "relilab"] } ] } ], "organizations": [ { "orgId": "comenius", "orgName": "Comenius-Institut", "relatedOrgs": ["relilab"], "handles": [ { "platform": "Mastodon", "handle": "ComeniusInst", "mentionSyntax": "@ComeniusInst", "profileLink": "https://reliverse.social/ComeniusInst" } ] } ] } ``` --- ## Nutzung ### 1. **Abruf der Social-Media-Profile einer Person** **Filtere nach `name` oder einem bestimmten `handle`**, um zu sehen, welche Plattformen eine Person nutzt. ### 2. **Organisationen einer Person ermitteln** **Nutze das Feld `organizationIds`**, um alle zugehörigen Organisationen zu einer Person nachzuschlagen. ### 3. **Verknüpfte Organisationen abrufen** Über das Feld **`relatedOrgs`** kann man nachsehen, mit welchen anderen Organisationen eine Organisation kooperiert. ### 4. **Automatisierte API-Integration** Da die Datei in JSON-Format vorliegt, kann sie über **JavaScript (Node.js, fetch)** oder **Python (`json`-Modul)** verarbeitet werden. #### Beispiel (JavaScript): ```js fetch('https://raw.githubusercontent.com/user/repository/main/social_profiles.json') .then(response => response.json()) .then(data => console.log(data.persons)); ``` #### Beispiel (Python): ```python import json import requests data = requests.get("https://raw.githubusercontent.com/user/repository/main/social_profiles.json").json() print(data["persons"]) ``` --- ## Erweiterungsmöglichkeiten - **Weitere Kategorien** wie „Dozenten“, „Referenten“, „Netzwerkpartner“ - **Mehrere Rollen innerhalb einer Organisation** (z.B. „Mitarbeiter“, „Community-Manager“) - **Erweiterung um Aktivitätsdaten** (z.B. letzter Tweet, letzte Veranstaltung) Diese JSON-Struktur ist flexibel erweiterbar und für verschiedene Anwendungsfälle anpassbar.