Gibt es eine bekannte Möglichkeit, eine Taxonomie-Hierarchie in XMP, IPTC oder EXIF ​​zu speichern?

Ein Kunde hat eine Bilddatenbank mit vielen Bildern. Sie haben diese Bilder in einer Hierarchie kategorisiert. Jetzt wollen sie die Bilder in eine neue Bilddatenbank verschieben und ich werde gebeten, diese Hierarchie in die EXIF- oder XMP-Daten innerhalb der Bilder einzufügen. Technisch gesehen ist das mit exiftool alles sehr einfach, aber ich kann anscheinend keine Konventionen dafür finden, welches Feld wie verwendet werden soll. Wer weiß also, wie man diese Art von hierarchischen Daten in EXIF ​​speichert?

Antworten (4)

So habe ich nach ein wenig Graben und mit Hilfe von Murats Hinweis auf einigen Bildern folgendes Feld gefunden. Dies ist im Grunde die Art und Weise, wie Adobe Lightroom die Informationen speichert, und sie könnte als Defacto-Standard in Ihrem Projekt verwendet werden. Wir haben uns bereits für eine ähnliche Lösung mit unserem eigenen Feldnamen und ohne Verwendung von rdf entschieden, aber nur um diese Frage zu schließen, hier ist die Lightroom-Lösung, wie sie von exiftool exportiert wurde:

 <XMP-lr:HierarchicalSubject>
   <rdf:Bag>
     <rdf:li>general|mission|ISAF</rdf:li>
     <rdf:li>Army|vehicle|Fennek</rdf:li>
     <rdf:li>Army|personnel|troops</rdf:li>
     <rdf:li>general|mission</rdf:li>
     <rdf:li>Army</rdf:li>
   </rdf:Bag>
 </XMP-lr:HierarchicalSubject>

Auf dieser Seite finden Sie eine Liste mit XMP-Feldnamen, die von gängiger Fotosoftware verwendet werden .

Beispielsweise verwendet digiKam den TagsListFeldnamen in XMP-Metadaten, um seine Tag-Hierarchie zu speichern. Wenn ich also ein Bild mit dem Sub-Tag „Brighton“ markiere, das unter dem Sub-Tag „East-Sussex“ verschachtelt ist, unter dem Sub-Tag „UK“ verschachtelt ist, unter dem Top-Level-Tag „located“ verschachtelt ist und auch das Unter-Tag "Friends", das unter dem Top-Level-Tag "bevölkert" verschachtelt ist, digiKam fügt dies dem TagList-Feld hinzu:

populated/Friends, located/UK/East-Sussex/Brighton

Dieses Format verbietet zwar, dass einzelne Tag-Werte Leerzeichen oder Schrägstriche enthalten, aber ich glaube, Tags sollten kompakte und eindeutige Token mit einer definierten Bedeutung sein, kein ausführlicher freier Text, daher sollte diese Einschränkung kein Problem darstellen.

Um ehrlich zu sein, sollte es keine Rolle spielen, wie Sie die Informationen speichern, solange es für Sie zu diesem Zeitpunkt funktioniert und solange Sie Ihre Entscheidungen dokumentieren, damit zukünftige Benutzer die Metadaten in Zukunft bei Bedarf in ein neues Format migrieren können entsteht.

Ich würde sagen, es ist wichtiger, dass Sie sich für ein Format entscheiden und sich dann konsequent daran halten. Konsistente Daten können automatisch von einem Format in ein anderes übersetzt und migriert werden. Inkonsistente Daten sind Müll, der jedes Mal, wenn er verarbeitet werden muss, stundenlange menschliche Eingriffe erfordert. (Und ich sollte wissen: Ich scheine normalerweise derjenige zu sein, der es am Ende verarbeiten muss.)

Ich bin ein IT-Berater, der sich auf Migrationen spezialisiert hat. Ihre Lösung ist gut für kleine Sets oder sogar größere, wenn Sie sie alleine verwenden. Das Problem ist, dass es keine zentrale Möglichkeit gibt, Ihre Hierarchie zu verwalten. Wenn Sie ein Tag auf eine andere Ebene verschieben oder einen Zweig neu organisieren möchten, müssten Sie am Ende jedes einzelne Feld erneut bearbeiten. Was ich also wirklich wissen möchte, ist: Gibt es keinen besseren standardisierten Weg, dies zu tun? Wenn dies nicht der Fall ist, werden wir es möglicherweise so machen, wie Sie es vorschlagen, und Bots verwenden, um das Tagging durchzuführen.
Die einzige Möglichkeit, eine hierarchische Struktur zentral zu verwalten, wäre die Verwendung eines Datenbanksystems, das die Strukturen in einer einzigen Tabelle verwaltet, so dass die hierarchische Struktur einfach reorganisiert werden könnte. Aber so funktionieren Metadaten in Bilddateien nicht, weil jede Bilddatei für sich alleine steht. Wenn Sie die gewünschte Hierarchiestruktur ändern, müssen Sie die Metadaten in jeder Bilddatei nacheinander aktualisieren. Die Verwendung von XMP-Sidecar-Dateien reduziert die Zeit, die für solche Aktualisierungen benötigt wird, aber Sie laufen dann Gefahr, die Bilddatei von ihrer Metadatendatei zu trennen.
Das Risiko, die Metadaten vom Bild zu trennen, wird durch die Sicherheit ausgeglichen, dass nie in die Bilddatei geschrieben werden muss - es ist also nicht so einfach zu schneiden und zu trocknen, wenn die Dateien eindeutige Namen haben, wäre es einfach, sie abzugleichen, wenn Sie müssten .
Ich meinte, man sollte ja eine db verwenden und dann zB Kategorie-ID's in den Bildern hinterlegen. Trotzdem bleibt der Hauptpunkt meiner Frage, nämlich: Gibt es dafür überhaupt keine Norm? Das würde mich eher überraschen.
Nein, es gibt keinen Standard. Eine wurde nie für notwendig erachtet, da jede Art von Organisation oder Suche über Schlüsselwörter erfolgte und normalerweise erfolgt. Es lohnt sich auch, die vollständigen Metadaten in/mit der Datei aufzubewahren, da sie auf diese Weise die Metadaten behält, wenn Sie sie an Dritte weitergeben müssen. Die Datenbankseite ist bereits ein gelöstes Problem, wenn Sie Windows verwenden, da der Indexing Server-Dienst die Metadaten aus den Dateien liest und zwischenspeichert.

Sie können Ihrem Kunden vorschlagen, ein Digital Asset Management zur Verwaltung seiner Bilddatenbank zu verwenden. Die modernsten DAM-Lösungen können die Tag-Hierarchie automatisch in XMP speichern.

EXIF wird hauptsächlich zum Speichern technischer Kamera- und Bildaufnahmeinformationen verwendet.

Ein weiterer Standard ist IPTC, aber er ist veraltet und weist erhebliche Beschränkungen hinsichtlich der Länge der Felder auf.

Hierarchische Informationen werden von der XMP/MWG-Spezifikation unterstützt, aber ich kenne nur sehr wenige Programme, die sie gut unterstützen.

Der beliebteste Ansatz zum Speichern hierarchischer Daten in Ihrem XMP (MWG) besteht darin, jede Ebene mit dem „|“ zu trennen. Separator. Dieses Symbol wird von vielen DAM-Lösungen (inoffiziell) verwendet, darunter Daminion, Lightroom, IdImager, MS Photogallery, iView/MediaPro usw.

Erfinden Sie also kein Rad neu und überlegen Sie sich eine gute DAM-Lösung!

Danke für den Hinweis auf XMP/MWG, werde dem nachgehen. Es ist für eine Regierung, sie haben beschlossen, ihr eigenes DAM zu bauen ...
Um ehrlich zu sein, wäre es das Letzte, was ich tun würde, wenn ich für eine Regierung arbeiten würde. Sie sollten sich vorstellen, dass DAM kein einzelner Aufgabenlöser ist, sondern eine Kombination mit vielen Funktionen, die entworfen, implementiert und zusammengearbeitet werden sollten. Hinter einer erschwinglichen DAM-Lösung stecken Hunderte von Medienformaten und Dutzende von Metadatenspezifikationen und Hunderttausende Entwicklerstunden (siehe Dollar). Wir vom Daminion Team sind seit 2003 in diese Aufgabe involviert und es gibt viele Dinge, die wir vorhaben. Nur einige Gedanken.

Taxonomie? Exiftool unterstützt seit einiger Zeit das Schreiben von Darwin Core als XMP.

http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/DarwinCore.html

http://rs.tdwg.org/dwc/terms/

Resource Space ist ein kostenloses Software-DAM, das exiftool als Metadaten-Backend verwendet. Sie können es so anpassen, dass es Darwin Core unterstützt.