zwischen Mac und Linux scheint das ö, das Ö zu haken. Vielleicht klappt es mit Oe. Auf jeden Fall ist es nun sichtbarer, dass sich etwas geändert hat und wie es ab nun aussehen soll.
109 lines
4.1 KiB
Markdown
109 lines
4.1 KiB
Markdown
# 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.
|