Hierarchie von Schlagworten/Sachbegriffen ermitteln

Hallo,

bei Schlagworten aus lobid-gnd ist es möglich über die Query alle Schlagworte zu erhalten, welche in der Hierarchie direkt unter einem Oberbegriff vorhanden sind. Ich benötige für meinen Anwendungsfall aber die gesamte Hierarchie die über einem Begriff ist bis zur höchsten Ebene. Ist das mit lobid-gnd umsetzbar ohne für jede Ebene eine extra Anfrage starten zu müssen?

Viele Grüße

Danke für die Anfrage, @mschaefer. Nein, lobid-gnd bietet keine Funktion zum Laden der gesamten Schlagworthierarchie als Kontext eines Schlagwortes, so dass dafür mehrere Abfragen gemacht werden müssten auf die jeweiligen GND-Einträge, die mit broaderTermGeneric, broaderTermGeneral, broaderTermInstantial bzw. "broaderTermPartitive verlinkt sind.

Für ein initiales Holen des Schlagwortes ist das denke ich kein Problem.
Was wäre der beste Weg die lokale Schlagwort-Struktur zu aktualisieren, wenn beispielsweise sich die Hierarchie ändert oder die Bezeichnung?
Es kann leider kein regelmäßiger Abgleich automatisch stattfinden. Der Nutzer entscheidet selbst wenn er einen Abgleich starten möchte.

Wie würde man das am Besten mit Lobid umsetzen? Eventuell über die Reconciliation API - Data Extension API?

Ich verstehe eventuell die Frage nicht richtig. Was spricht dagegen das gleiche Verfahren zu benutzen wie beim initialen Holen des Schlagworts, wenn der Nutzer ein Update laden möchte?

Der Abgleich soll im besten Fall alle Schlagworte abgleichen die lokal vorhanden sind. Das können schnell mehrere Zehntausende sein. Dann müssten wir pro Schlagwort eine Anfrage schicken. Das wird sicher zu Performance-Probleme führen und eine ganze Weile dauern. Nächtlich abgleichen steht leider nicht zur Verfügung. Es müsste also adhoc funktionieren.
Daher kam ich auf die Idee das eventuell über die Data Extension API der Reconciliation API zu machen, da man dort eine Liste von Idents angeben kann mit den entsprechenden Feldern.

Das selbe Problem bekomme ich auch bei anderen Entitäten, wie z.B. Personen. Da hatte ich den selben Ansatz. Könnte man das darüber machen oder sprengt das den Rahmen der Schnittstelle?

Ja, gute Idee. Wenn man alle Schlagwörter und die Überordnungsfelder schickt, bekommt man im Grunde die Hierarchie, hier z.B. für Italienisch und einige übergeordnete Schlagwörter:

curl --data 'extend={"ids":["4114056-4","4194314-4","4194314-4"],"properties":[{"id":"preferredName"},{"id":"broaderTermPartitive"}]}' https://lobid.org/gnd/reconcile/ (link):

{
  "rows": {
    "4114056-4": {
      "preferredName": [{"str": "Italienisch"}],
      "broaderTermPartitive": [{
          "id": "4194314-4",
          "name": "Italoromanisch"
      }]
    },
    "4194314-4": {
      "preferredName": [{"str": "Italoromanisch"}],
      "broaderTermPartitive": [{
          "id": "4115788-6",
          "name": "Romanische Sprachen"
      }]
    },
    "4115788-6": {
      "preferredName": [{"str": "Romanische Sprachen"}],
      "broaderTermPartitive": [{
          "id": "4114006-0",
          "name": "Indogermanische Sprachen"
      }]
    }
  }
}
1 Like

Im FDMLab@LABW haben wir uns letztes Jahr intensiver mit der Hierarchie der Schlagworte in der GND auseinandergesetzt.

Hier ein paar Erfahrungen:

Unbedingt im Blick behalten, dass die „Hierarchie“ in der GND nicht perfekt ist.

Ich würde die Hierarchie bei den GND Schlagworten eher als Netzwerk mit potentiellen Schleifen betrachten.

Außerdem ist es möglich, dass auch andere Entitäten als Ober- oder Unterbegriffe verlinkt sind. Also Beispielsweise Orte und Personen. Da kann man sich bei fehlenden Stoppkriterien beim Aufbau der Hierarchie schnell in der GND verlaufen.

Außerdem gibt es in der GND noch die Beziehungen Complex see reference - subject, Related Term und Related subject heading. Ich erwähne das, weil doch einige Sachbegriffe in der GND nicht wirklich in der Hierarchie aufgehängt sind und nur über eben genannte Beziehungen zu anderen Sachbegriffen in Relation gesetzt werden können.

Unsere Erfahrungen zum Thema Schlagworte in der GND haben wir im FDMLab Blog unter Named-entity Recognition und Gemeinsame Normdatei zur Verbesserung der Erschließung und GND Hierarchieinformationen zur Verbesserung der Erschließung zusammengefasst.

Um die lobid-gnd API zu entlasten :smiley:, haben wir dabei direkt mit einem Daten Dump der GND gearbeitet (siehe GND in lokale Datenbank laden (reloaded)).

3 Likes

Vielen Dank für den ausführlichen Einblick.
Werde mir Ihre Erfahrungen mal genauer ansehen!

1 Like