Can I just chip in with a test I have just made?
Delete PL5 database and any DOP and XMP files from test folder.
Open PL5 and select a RAW image with no keywords assigned.
Type A > A > A into the keywords field…
Press Enter to accept…
Note that all levels of the hierarchy are assigned.
Now enter A > B > C into the keywords field…
Press Enter to accept…
Note that only C gets assigned, in addition to the three levels of A. The middle B is ignored, whereas, with the A > A > A, the middle A was assigned.
Write the metadata to the file…
<dc:subject>
<rdf:Bag>
<rdf:li>A</rdf:li>
<rdf:li>C</rdf:li>
</rdf:Bag>
</dc:subject>
…
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>A</rdf:li>
<rdf:li>A|A</rdf:li>
<rdf:li>A|A|A</rdf:li>
<rdf:li>A|B|C</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
My question, at this point is, why did PL5 assign all three levels when I type A > A > A, but not when I typed A > B > C?
Using Adobe Bridge, if I add the same values, I get an XMP file that looks like this…
<dc:subject>
<rdf:Bag>
<rdf:li>A</rdf:li>
<rdf:li>C</rdf:li>
</rdf:Bag>
</dc:subject>
…
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>A|A|A</rdf:li>
<rdf:li>A|B|C</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
Using Capture One 12, if I type the same hierarchies into the keywords field, I get…
… in the UI and…
<dc:subject>
<rdf:Bag>
<rdf:li>A</rdf:li>
<rdf:li>B</rdf:li>
<rdf:li>C</rdf:li>
</rdf:Bag>
</dc:subject>
<lightroom:hierarchicalSubject>
<rdf:Bag>
<rdf:li>A</rdf:li>
<rdf:li>A|A</rdf:li>
<rdf:li>A|A|A</rdf:li>
<rdf:li>A|B</rdf:li>
<rdf:li>A|B|C</rdf:li>
</rdf:Bag>
</lightroom:hierarchicalSubject>
So, Capture One seems to be more compliant with MWG than both PL5 and Adobe Bridge. Although the UI doesn’t show me which A is the parent of which other A without having to invoke the tooltip. on each token.
Reading this back into PL5, I then get…
But in PL5.1.3b55, the dc:subject
used to confirm to the MWG guidance in doing the same as Capture One.
This is just the kind of thing that is getting so frustrating for users who want to use an external DAM in addition to PL5 and is why several of us have ended up saying Don’t do it to anyone thinking of so doing.
Now, in a recent discussion with @platypus we seem to be in agreement that, not only does PL5 rely on the lr:hierarchicalSubject
tag, or more likely on its own internal database, to power the search, other apps may be doing the same and my guess is that DxO are following the crowd, rather than “doing the right thing”
If, as we suspect, some apps (Adobe included) are relying on their own database/catalogue instead of the actual XMP for searching and refusing to follow the MWG Guidance they help write, this would explain the missing keyword B in the dc:subject
tag.
Now, this is all well and good, as long as users only play with software written by the “gang”, which seems to be led by Adobe.
But, if a user decides to use any other software, they will not be able to search for intermediate level keywords, since they’re not mentioned in the dc:subject
tag, as recommended by the MWG.
It’s not exactly rocket science to write the dc:subject
tag correctly, as Capture One proves.