¿Cómo limpio las jerarquías de palabras clave en Lightroom?

He estado usando Lightroom durante algunos años. En un momento, mantuve las palabras clave en una jerarquía, por lo que tendría algo como:

Animales > Aves > Águilas

Esto funcionó bien, pude incluir la opción de exportar palabras clave principales y todo estuvo bien. Luego me volví perezoso y comencé a etiquetar cosas por todos lados. Entonces, mientras que mi etiqueta "Águilas" está muy bien debajo de Animales y Pájaros, es posible que tenga una palabra clave Halcones o Loros que se sostiene por sí sola y no tiene la estructura parental.

Reorganizar la jerarquía de palabras clave dentro de Lightroom lleva mucho tiempo... arrastrar y soltar no es tan rápido cuando hay miles de elementos en juego.

Sé que Lightroom tiene la capacidad de exportar e importar palabras clave, pero estoy luchando con la mejor manera de quizás limpiar esto. ¿Hay una buena manera de manipular las palabras clave externamente y luego traerlas de vuelta a Lightroom?

Oh chico, siento tu dolor. Estoy en una situación similar, después de importar miles de archivos JPEG que había etiquetado correctamente (y en gran medida) en Flickr. La palabra clave UI en LR es realmente difícil y lenta de usar, incluso con una estructura jerárquica. Sin embargo, las palabras clave se almacenan como el resto de los datos de LR, en su base de datos SQLite (es decir, el catálogo de LR). Contemplé escribir una pequeña aplicación en Qt para manipular las palabras clave, pero el problema es que también necesito ver las fotos correspondientes cuando limpio o reorganizo mis palabras clave, por ejemplo, para ver si esa palabra clave es realmente necesaria o se aplica correctamente, por ejemplo.
No estoy demasiado preocupado por la asociación de fotos; solo quiero jerarquizar las palabras clave, dejándolas asociadas con sus respectivas fotos.

Respuestas (3)

Como mencionó Sebastien, el archivo de la biblioteca es SQLite. Busqué en mi propio catálogo y encontré esa AgLibraryKeywordmesa. Hay tres columnas que le interesan: id_local, namey parent. Como era de esperar, parentapunta a la id_localde la palabra clave principal. En mi biblioteca, la palabra clave "raíz" tiene id_local73.

Entonces, suponiendo que tuvieras algo como esto:

  id_local | name    | parent
-----------+---------+--------
  12345    | animals | 73
  12346    | birds   | 73
  12347    | eagles  | 73
  12348    | parrots | 73
  12349    | falcons | 73

Podrías "arreglar" la jerarquía así:

UPDATE AgLibraryKeyword
    SET parent = (SELECT id_local FROM AgLibraryKeyword WHERE name = 'animals')
    WHERE name = 'birds';

UPDATE AgLibraryKeyword
    SET parent = (SELECT id_local FROM AgLibraryKeyword WHERE name = 'birds')
    WHERE name IN ( 'eagles', 'parrots', 'falcons' );

Esto terminaría como Animales > Pájaros > Águilas, Animales > Pájaros > Loros, y así sucesivamente. La tabla termina luciendo así:

  id_local | name    | parent
-----------+---------+--------
  12345    | animals | 73
  12346    | birds   | 12345
  12347    | eagles  | 12346
  12348    | parrots | 12346
  12349    | falcons | 12346

No es tan manual como hacerlo a mano a través de la interfaz de usuario, pero aun así requerirá algo de trabajo. Sin embargo, debería ser igual de funcional.

Debo señalar que mientras investigaba esto, realicé cambios similares varias veces que no parecieron funcionar. Sugeriría guardar su SQL en un archivo para que pueda volver a ejecutarlo si no parece funcionar la primera vez. Y, por supuesto, debe hacer una copia de seguridad de su biblioteca con anticipación :)

Si desea editar la jerarquía usando SQLite como se sugiere en la respuesta de bleything, tenga en cuenta que (al menos en LR4; no estoy seguro acerca de 3) la jerarquía de palabras clave en realidad está representada en dos lugares diferentes en la AgLibraryKeywordtabla:

sqlite> select id_local, parent, genealogy, lc_name from AgLibraryKeyword;
[...]
1757015|989984|/240/6802186/6989984/71757015|karen people
1757016|1757015|/240/6802186/6989984/71757015/71757016|red karen
1757018|1757016|/240/6802186/6989984/71757015/71757016/71757018|kayan people
1757019|1757018|/240/6802186/6989984/71757015/71757016/71757018/71757019|kayan lahwi

La genealogycolumna es un volcado completo de los nodos de la jerarquía, con nodos delimitados por barras diagonales y con el primer dígito de cada entrada indicando el número de dígitos en la ID del nodo. En el extracto anterior, el nodo raíz es ID 40, la palabra clave de nivel superior en mi jerarquía es ID 802186, etc.

Probablemente querrá asegurarse de que tanto la columna como la parentcolumna se actualicen correctamente si está manipulando manualmente la jerarquía en SQLite.

No me queda claro por qué incluyen la cantidad de dígitos en la identificación del nodo; Mi mejor suposición es admitir consultas LIKE para devolver subárboles rápidamente sin correr el riesgo de ambigüedad entre ID de diferentes longitudes, pero podrían haberlo hecho fácilmente en menos espacio al requerir un delimitador final, por lo que tal vez haya otra razón.

Espero que mi respuesta no sea percibida como publicidad.

Recientemente, nuestra empresa lanzó un nuevo software de administración de fotos digitales llamado Daminion .

Daminion y Lightroom pueden interactuar fácilmente mediante XMP: ambas herramientas pueden leer/escribir palabras clave jerárquicas. Pero Daminion es un software de gestión de fotos puro, por lo que nos centramos principalmente en las tareas de gestión de medios.

El programa es gratuito (porque está en una etapa beta). Te sugiero que:

  1. Escriba sus palabras clave en metadatos de Lightroom
  2. Importa tus carpetas con fotos a Daminion
  3. Reorganiza tus palabras clave como quieras en Daminion.
  4. Daminion escribirá automáticamente todos los cambios de sus palabras clave (así como otras más de 30 etiquetas) en los metadatos XMP
  5. Regrese a LR y vuelva a leer los metadatos del archivo

Espero que esto ayude.

No creo que eso resuelva el problema, porque solo afectará las palabras clave en imágenes individuales, en lugar de corregir la jerarquía interna de palabras clave de Lightroom.
Si los metadatos del archivo y los metadatos del catálogo LR difieren, ¿qué sucede?