[Digikam-users] Digikam XMP schema ?

Jean-François Rabasse jean-francois.rabasse at wanadoo.fr
Tue Feb 12 21:08:36 GMT 2013

On Tue, 12 Feb 2013, Gilles Caulier wrote:

> Hi Jean Francois,
> The schema is defined as well in Exiv2. I do it personalty.

Hi Gilles, thanks for the answer.
Ok, so you are the « connecting link » between Digikam and exiv2 :-)
I didn't know, and the problem I raised seems to indicate other
people didn't know (Phil Harvey et al.)

But, ok for rdf:Seq

> An ordered list sound logical for me. Why un-ordered one ?

It's a matter of taste. The RDF standards tend to indicate that ordered
arrays should wrap array items with some hierarchical order, the 1st
item, then the 2nd, the 3rd, etc. (As is done for the DCMI dc:creator
with 1st item is the major creator, then other contributors.)
For images tags, it's not obvious to settle a hierarchy.
But that's another issue, the reference is the schema designer(s).

> The digiKam schema is a private stuff. If a 3rd party don't play properly
> with it, this is not digiKam fault. As you said : "Other software (exiftool,
> the Gimp) process as an unordered list, a <rdf:Bag>."

I never said it was Digikam fault :-)
For me the problem was different interpretations between various metadata
handlers, libexiv2, exiftool et al. And that's why I was looking for THE
reference. You gave it above.

> Why this software do not respect how digiKam store metadata ?

Perhaps because the official reference isn't easy to find. It's obvious
for you 'cause you work on both exiv2 and DK, but it's not that obvious
for other people (beginning with me).
I think people from other software may have reproduced the LightRoom 
HierachicalSubjet because the semantics are really close, aprt from the
tree components separator, '/' or '|'.
Perhaps (a suggestion) the exiv2 web site should indicate that « This is
the official Digikam schema », and/or the DK web site could have a link
to the related exiv2 page.

You're right, private schemas are private stuff, but for interoperability
reasons, metadata handling implementations want to be compatible with the
most possible data.
And even Digikam, when writing via libexiv2, stores the tagslists in
digiKam:Tagslist, yes, but also in lr:hierarchicalSubject (private stuff
from Adobe) and also MicrosoftPhot:LastKeywordXMP (private stuff from
the firm in Seattle).
Compatibility is a great thing and should be pushed as far as possible
and it's important that developpers could have the authoritative information
under hand.

(I'm in that case, writing personal tools to manage my metadata for 
special needs, and before reading your answer, above, I was unable to
choose between rdf:Seg/rdf:Bag implementation.
This when producing XMP streams; reading should not be a problem if the
reader is prepare to acommodate known variants.)

Thanks for the answer anyway,

More information about the Digikam-users mailing list