Besteht auch die Möglichkeit, nur die OER Metadaten für ausgewählte Institutionen herunterzuladen und in eine csv umzuwandeln? Ich habe mir die Anleitung angeschaut (Data API | OERSI), kann sie aber als IT-Laie nicht unmittelbar umsetzen und wäre für Hinweise dankbar.
Herzlich willkommen im metadaten.community-Forum, Wiebke!
Danke für die Anfrage, ich habe daraus mal ein eigenes Thema (einen separaten Diskussionsfaden) gemacht. Lass uns zunächst noch die Anforderungen ein wenig konkretisieren, damit wir die richtige Anfrage bauen können:
Was meinst du konkret mit „Metadaten für ausgewählte Institutionen“?
- Handelt es sich um OER, an deren Erstellung mindestens eine Person mitgewirkt hat, die mit der Institution affiliiert ist?
- Soll die Institution als Herausgeberin/Mitwirkende angegeben sein?
3 Oder entweder 1.) und 2.)?
Hast du außerdem eine Liste der Institutionen (ein Link reicht), nach denen abgefragt werden soll?
Hi Adrian,
danke für Deine Klärungsanfrage. Ich suche nach einer Möglichkeit, die Metadaten für OER zu bekommen, an deren Erstellung mindestens eine Person mitgewirkt hat, die mit einer der 37 ORCA.nrw-Hochschulen (Netzwerkstellen | ORCA.nrw) affiliiert ist und diese Institution in den Metadaten angegeben hat.
Beispiel: Für OER aus der Uni Düsseldorf wären das die Metadaten aller OER, die mit dem Suchfilter Open Educational Resources Search Index erscheinen.
Verstehe, der Filter in der Oberfläche geht im Hintergrund auf ein Feld namens sourceOrganization
. Dieses lässt sich aucgh über die API abfragen, so dass JSOn zurückkommt, z.B. ein Abfrage nach den ersten fün Institutionen: https://oersi.org/resources/api/search/oer_data/_search?q=sourceOrganization.name:("Bergische%20Universität%20Wuppertal"%20OR%20"Deutsche%20Sporthochschule%20Köln"%20OR%20"Fachhochschule%20Aachen"%20OR%20"Fachhochschule%20Dortmund"%20OR%20"Fachhochschule%20Südwestfalen"%20OR%20"Fachhochschule%20Südwestfalen")
Jetzt müssen wir zwei Dinge entscheiden:
- Wie holen wir am besten über die API die Daten zu den 37 ORCA.nrw-Hochschulen?
- Wie wandeln wir das in CSV um?
Zu 1.) kann der OERSI-Kollege Mirjan sicher etwas sagen, der hier noch nicht im Forum ist. Ich werde ihn aber mal anpingen.
Zu 2.) findet dann sicher @TobiasNx einen Ansatz mit dem Metafacture Playground, so dass du dir dynamisch eine CSV mit den jeweils aktuellen OERSI-Daten ziehen kannst. Dazu müssten wir noch klären:
- Willst du tatsächlich einfach nur eine Liste der Metadaten zu den OERs?
- Oder willst du lieber eine aggregierte Tabelle mit den Namen der Einrichtung in einer Spalte und der Anzahl der damit assoziierten OERs in einer anderen Spalte, plus ggf. ein Link auf die entsprechende Ergebnisliste?
Danke für Deine schnelle Antwort! Mir wäre eine nicht aggregierte Liste am liebsten, damit ich ggf. vorhandenen Dopplungen schauen kann und auch sehen kann, von wievielen Ersteller*innen sie stammen.
Die wird dann recht groß, weil allein knapp 4700 Ressourcen mit der HHU Düsseldorf verknüpft sind (die meisten davon aus der HHU Mediathek). Oder möchtest du nur die Ressourcen die über twillo erfasst wurden?
Was die Abfrage angeht: Die relevanten Informationen stehen im Feld sourceOrganization
. Dort steht einerseits der Namen der Institution und oftmals auch eine ID, Beispiel:
"sourceOrganization": [
{
"name": "Hochschule Bielefeld",
"id": "https://ror.org/00edvg943",
"type": "Organization"
}
]
Prinzipiell empfehle ich die Nutzung und auch die Abfrage nach ID, weil die stabiler ist (falls sich mal ein Name ändert). Momentan bringt das aber im OERSI nicht unbedingt einen Vorteil und wir müssen auch die Konfiguration noch anpassen, damit das entsprechende Feld sourceOrganization.id
abgefragt werden kann.
Von daher müsste die Abfrage mit einer OR
-verknüpften Liste der Namen der entsprechenden Hochschulen gebaut werden, wie ich das oben gemacht habe. Das wir aber ziemlich lang und damit recht umständlich. Ich habe deshalb ein Ticket aufgemacht, damit wir OERSI-intern einmal diskutieren, ob wir nicht ein Kennzeichen in OERSI ergänzen, dass eine Institution zu ORCA gehört bzw. in NRW ansässig ist. Ähnliche Anforderungen wurden ja bereits beim Umstieg von ORCA.nrw auf twillo geäußert. Damals wurde OERSI-intern noch ein NRW-Marker einem ORCA-Marker vorgezogen und dieser NRW-Marker auch prototypisch umgesetzt. Wir nehmen den Faden jetzt in dem erwähnten Ticket wieder auf.
Falls die Datei für die 37 Hochschulen zu groß würde, wären auch Einzeldateien pro Hochschule für mich ok. Nach Möglichkeit bräuchte ich eine Liste mit allen Ressourcen, die mit die Hochschule als „source organization“ benennen, unabhängig davon, wo die Ressource hochgeladen wurde und ob ORCA.nrw in irgendeiner Form genannt wird. Für meine Zwecke könnte ich auch mit einem NRW-Marker arbeiten und würde mir dann einfach die Hochschulen rausfiltern, die ich brauche
Wir haben im heutigen OERSI-Treffen beschlossen, den geobasierten Ansatz zu verfolgen, bei dem etwa ein NRW-Marker vergeben wird. Dazu gibt es dieses Ticket: Add geo information about institutions (#165) · Issues · OER Search Index / OER Search Index Setup · GitLab Ich melde mich, wenn wir das umgesetzt haben.
Danke schonmal!!
Das Ticket Add geo information about institutions to public index (#165) · Tickets · OER Search Index / OER Search Index Setup · GitLab ist nun geschlossen, und in OERSI befinden sich jetzt Geo-Informationen, wo immer eine Organisation mit RoR-ID angegeben sein können. Das Bundesland steht in addressRegion
, für NRW ist der Wert „North Rhine-Westphalia“. Konkret kann es an diesen vier Stellen aufftauchen:
creator.location.address.addressRegion
creator.affiliation.location.address.addressRegion
publisher.location.address.addressRegion
sourceOrganization.location.address.addressRegion
Die API-Abfrage, die nach dem Vorkommen von „North Rhine-Westphalia“ in mindestens einem dieser Felder fragt, sieht dementsprechend wie folgt aus (eine OR
-verknüpfte Anfrage nach dem Wert „North Rhine-Westphalia“ in diesen vier Feldern):
Momentan gibt diese Anfrage 7518 OERSI-Ressourcen zurück. Mit einer solchen URL-Query lassen sich über die Anpassung des size
-Parameters momentan – wenn ich mich recht erinnere – bis zu 9999 Ressourcen abfragen. Deshalb können wir (noch) alle Ressourcen mit einer Query holen mit dieser Abfrage:
(Wenn es mehr als 9999 werden oder wir in Zukunft einmal das Limit heruntersetzen, müssten man auf point in time queries](Metadata Search | SIDRE Documentation) umsteigen.)
Fazit
Wir können nun die gewünschten OERSI-Ressourcen über die API abfragen und bekommen eine Datei mit mehr als 7500 Ressourcen.
Nächster Schritt
Also nächstes können wir mit Unterstützung von @TobiasNx aus dem JSON, eine CSV-Datei generieren. Die Frage ist: Wie soll die gewünschte CSV-Datei am besten aussehen, damit du damit gut arbeiten kannst, @WBreustedt ?
Hallo @acka47 ,
klasse! Ich bräuchte eine csv-Datei mit den OER aus NRW (Deine API-Abfrage) mit folgenden Informationen in den Spalten (siehe Abbildung), wobei ‚…‘ für weitere verfügbare Einträge steht:
name
Creator 0 name
Creator 1 name
Creator … name
about0prefLabel de
about1prefLabel de
about…prefLabel de
publisher id
publisher name
inLanguage0
inLanguage1
inLanguage…
main entity of page provider name
mainentityofpage id
isAccessibleforfree
datepublished
Eine Frage noch - nach Möglichkeit bräuchte ich auch die Lizenz, habe sie aber in der JSON Datei nicht gefunden.
Wäre das möglich?
Hi, ich habe ein paar Nachfragen/Anmerkungen:
-
Bei sich wiederholbaren Angaben, wie
creator
,about
,inLanguage
macht es mit Blick auf eine CSV wenig Sinn unendlich Angaben mit je einer Spalte zuzulassen. Stattdessen sollte man entweder alle Angaben in eine Spalte packen, oder die Anzahl der Angaben pro Angabe beschränken auf 3 oder 5? Ich habe erstmal alles in eine Spalte geschrieben -
provider und mainEntityOfPage sind auch wiederholbar, da es Elemente mit unterelementen sind, habe ich jetzt je „nur“ 2 übernommen.
-
isAccessibleForFree=true
hat jeder Datensatz im Oersi. Daher bringt diese Angabe in der Csv keinen Mehrwert, sondern wäre nur für Computer im Web interessant. Habe ich nicht berücksichtigt -
habe zusätzlich id. contributor und datePublished ergänzt.
Hi,
danke für den Aufschlag und die Ergänzungen bzw. Klärung zu „isAccessibleforFree“.
Bezüglich der Frage zu den wiederholbaren Angaben - die Daten sind in Excel nicht auswertbar, wenn alle Angaben (z. B. inLanguage) in einer Spalte stehen. Darüber hinaus geht Information verloren, wenn sie bei 3 oder 5 Angaben pro OER gekappt werden. Ich bräuchte daher alle Angaben, auch wenn das nachher in vielen Spalten resultiert.
Eine grundsätzliche Frage - wie komme ich mithilfe des Links zu metafacture zur csv-Datei?
Viele Grüße
Wiebke
Hi Wiebke,
der Link sollte jetzt eigenltich funktionieren, dauert wohl ein paar Sekunden.
Mit Blick auf eine CSV ist die Übernahme von beliebig vielen Angaben zu den Urheben u.a. bei der Datentransformation schwierig.
Wir sind hier einfach mit eine gewissen inkompatibilität der verschiedenen Datenstrukturen von JSON (Baumstruktur) vs. CSV (Tabellenstruktur) konfrontiert, die wir mit einem Workaround lösen müssten.
JSON-Formate können in Arrays/Listen x-beliebige Einträge haben, z.B. hat ein Datensatz 10 und einer 3 und einer keine Urheber. Es ist quasi offen wie viele Angaben mitgegeben werden und ob das Feld auch ausgewiesen wird.
CSV hingegen ist tabellarisch und nicht offen und die CSV muss im Vorhinein definieren, wie viele Spalten existieren und jeder Datensatz hat exakt so viele Angaben, auch wenn die leer sind.
Die Schwierigkeit bei der Übetragung von JSON zu CSV ist nun, da die OERSI Daten sich durch neue OER und Veränderung von Metadaten verändern können, weiß ich im vorhinein nicht, wie viele Urheber:innen maximal angeben werden. Zudem unterscheidet sich das je nach Datensatz.
Wenn ich die JSON-Daten mit ihren x-vielen Angaben einfach übernehmen würde, würden so kaputte und nicht auswertbare CSV-Daten erstellt. Um das zu vermeiden, muss ich leere Platzhalter an die Stelle der nicht vorhandenen Angaben setzen. Da ich aber nicht weiß wie viele Angaben maximal übergeben werden, kann ich lediglich die Angaben auf eine bestimmte Zahl begrenzen, um sicher zu gehen, dass die erzeugte CSV-Datei nicht kaputt geht.
Hi Tobias,
der Download hat geklappt, danke! Verstehe, dann trenne ich die Mehrfachangaben (z. B. creatorName - mehrere Autoren) manuell, dürfte mit der Funktion „Text in Spalten“ in Excel gehen.
Bzgl. der Daten zu:
main entity of page provider name
mainentityofpage id
Die Spalten sind durchgehend leer.
Könntest Du Dir das nochmal anschauen?
Viele Grüße
Wiebke
Und noch zwei Fragen:
I.
Wie müsste ich die URL anpassen, wenn ich mir (ohne die NRW-Einschränkung bei creator.location/creator.affiliation/publisher.location/sourceOrganization.location) die Daten
- für eine bestimmten Hochschule (als publisher name)
- mit ‚AV-Portal‘ als Quelle (mainentityofpage provider name)
ausgeben lassen möchte?
II.
Sind die cc-Lizenzen in den Metadaten hinterlegt und können sie mit ausgegeben werden?
Hi Wiebke,
wollen wir mal videotelefonieren. Dann können wir nochmal versuchen, deine Anforderungen anzupassen.
Zudem würde ich an deiner Stelle nicht die Funktion „Text in Spalten“ in Excel nutzen. Ich bin mir nämlich nicht sicher, ob danach deine Zeilen unterschiedliche Anzahl an Spalten haben und dadurch die Struktur der CSV korrput ist. Dadurch würde auch deine Auswertungen fehlschlagen.
Beste Grüße
Tobias