2
\$\begingroup\$

I'm currently using Digikam to assign tags to my photos. However, these tags are like boolean (true/false) values - a picture either has a tag or it doesn't. I also would like to assign more complex meta-data in the form of key/value pairs. The values could be integers or strings of arbitrary length. The end goal is to be able to create more complicated filters or queries to only show images matching various requirements.

So far, I have not seen a way to do this directly. In order to do this with tags I would have to do something with the tag hierarchy - for instance, suppose I want to have a key that is the number of people in the photograph, where the value is a number. Then I would have to create a tag for each different value like /PersonCount/1, /PersonCount/2, and so forth. This could potentially create a log of tag, but also I'm not sure how I would (easily, if even at all) set up a filter for example to find all photographs containing between 7 and 40 people in it.

I did see where it is possible to set up XMP tags which apparently can have arbitrary keys and values without any maximum length. However, this would seem to require that the metadata be stored in the image itself and not in the Digikam database, which is not always desirable. In addition, it's unclear to me how much filtering I can do on such tags.

Is it possible to associate arbitrary key/value pairs to images and then create a complex filter involving things like ranges of values, logical conditions, etc. preferably without having to keep any of the data in the actual image files?

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

I'm not sure it'll do exactly what you want, but it's possible to set up nested tags (eg. person count/1), or by selecting the top tag in the Tag Manager before pressing "+" to add a nested tag.

You could then use the tick box select in "Advanced Search". It's not a true range, but it allows selecting all those you want and excluding some. It will mean setting up a lot of tags, but that information would have to have been entered somewhere, so it might not be any more work.

For example, I'm looking for a "Subject count" from 2 to 6, but I don't want 4 :

enter image description here

[I'm running 8.0.0.]

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Ok, thanks. That was kind of what I was afraid of with tags - when I do the actual query, if I wanted to search for a large range I would have to check every number in the range. I guess this would be less problematic for example for the range of 7 to 40 if only values of 12, 16, and 23 existed, but if all values in the range existed it would be rather tedious. \$\endgroup\$
    – Michael
    Commented Jun 16, 2023 at 18:30
  • 1
    \$\begingroup\$ @Michael - I don't know of a shorter way to do it, but that doesn't mean there isn't one. Maybe some other digiKam users have come up with one. I'd sit tight and see if any come along. \$\endgroup\$ Commented Jun 16, 2023 at 18:37

Not the answer you're looking for? Browse other questions tagged or ask your own question.