Skip to main content

⚠️ Please note that this topic or post has been archived. The information contained here may no longer be accurate or up-to-date. ⚠️

Please change the handling of hierarchical keywords

Comments

19 comments

  • Ian Wilson
    Moderator
    Top Commenter

    I don't quite understand either. But I am fairly sure that catalogs and sessions are the same as far as this goes. I use some fairly comprehensive custom keyword libraries that are common to both.

    Ian

    0
  • RobiWan

    OK, my English is not very good.

    If you enter the following hierarchy in C1 as an example:

    Environment ->Animal ->Mammal ->Dog ->German Boxer

    C1 writes the following entries into the database and if you want also XMP files.

    Environment
    Environment ->Animal
    Environment ->Animal ->Mammal
    Environment ->Animal ->Mammal ->Dog
    Environment ->Animal ->Mammal ->Dog ->German Boxer

    This creates a lot of work for the database and it slow it down. In addition, the XMP files are unnecessarily inflated. 
    C1 searches are more complicated...
    If C1 were to write only the one hierarchy, you could still find an image about each keyword from the hierarchy. That makes a lot of things easier.
    And yes session and catalogs are 100% the same at this point.

    "Is it mainly that C1 creates and maintains multiple indexes for the component parts of hierarchical keywords?"
    Yes this is what I mean. And it's not optimal.

    Robert

    1
  • BeO
    Top Commenter

    In addition, the XMP files are unnecessarily inflated. 

    In my tests with Photomechanic Plus as a catalog application in combination with C1, when syncronizing metadata and hierarchical keywords via xmp files from C1 to PM+ I noticed this too, and it created a keyword mess in PM+.

    But there is probably a reason why C1 does it this way, maybe compatibility with a specific other Adobe product, as they have these redundant information in the tag

       <lightroom:hierarchicalSubject>
        <rdf:Bag>
         <rdf:li>Level1</rdf:li>
         <rdf:li>Level1|Level2</rdf:li>
         <rdf:li>MLevel1|Level2|Level3</rdf:li>
        </rdf:Bag>
       </lightroom:hierarchicalSubject>

    I believe neither C1 nor PM will change here anything, so syncing hierarchical keywords from C1 to PM+ is not a good idea, which is a pity as the keyword tool in C1 is much better than in PM+ (for my taste).

    1
  • RobiWan

    | maybe compatibility with a specific other Adobe product

    Nope. Adobe uses

      <lightroom:hierarchicalSubject>
        <rdf:Bag>
         <rdf:li>MLevel1|Level2|Level3</rdf:li>
        </rdf:Bag>
       </lightroom:hierarchicalSubject>

    nothing else.

    | I believe neither C1

    Why not? I believe, this would significant improve C1 DAM speed and we are in "Improve Capture One Pro" section :D

     

     

    1
  • BeO
    Top Commenter

    his would significant improve C1 DAM speed 

    Maybe.

    Why not?

    The low hanging fruits for performance improvements have alread been harvested. I don't see much appetite on C1 side to really care about major performance improvements which would probably require some sort of refactoring, too costly at the current assumed company state of harvesting money from the market. I wish you were right though.

    1
  • RobiWan

    The problem is the complete DAM structure. In modern development, one then goes one small step to the next. Each of these steps may bring very small improvement at first, but there is no other way. I had already analyzed many things together with Microsoft years ago and passed them on to Capture One (Phase One). The result was that they agreed to it, but due to limited resources they were not able to implement it. So it goes to cut the whole thing in kline slices. Development just has to want it and get serious about it.

    Robert

    1
  • ernst.w

    „The result was that they agreed to it, but due to limited resources they were not able to implement it.“

    Same here some years ago. „Not possible because of limited ressources …“

    Kind regards Ernst

    1
  • Fabrizio Giudici (stoppingdown)

    I second this request (I've posted something about that years ago, before this forum section existed). It's not only a problem of performance, but of mess. If the keyword is A->B->C, the only keyword that should be associated is C. This is how other applications work (e.g. PhotoSupreme, but also LightRoom a few years ago). The point is that because of this behaviour I can't export XMP from C1, otherwise the keyword set get polluted. Which also means that I cannot set ratings or colours from C1. It's really, really annoying.

    1
  • Ian Wilson
    Moderator
    Top Commenter

    I'm not sure about that. If I have a photograph of a Red Kite, for instance, I will keyword it as 

    bird>bird of prey>Red Kite

    and I want to be able to find the photo if I search for Red Kite, or for bird of prey.

    Ian

    0
  • RobiWan

    Which also means that I cannot set ratings or colours from C1. It's really, really annoying.

    Unfortunately, that is true.
    I therefore have a different procedure, which is unfortunately also somewhat more complicated. C1 cannot modify the metadata. I set ratings and color markings in C1. Then I close the application and use my own script to read the database and write the appropriate values into the XMP files using ExifTool. Then I start C1 and read in the metadata for the affected images again. It is a longer process but the metadata (XMP) remains clean

    and I want to be able to find the photo if I search for Red Kite, or for bird of prey.

    This is absolutely no problem with the procedure I have described.
    The way C1 writes it now, there are 3 skin keywords in your structure, which is wrong. It's still just "red kite"

    Robert

     

    1
  • Ian Wilson
    Moderator
    Top Commenter

    RobiWan - I'm not sure what you mean by skin keywords, nor why it is wrong. And I certainly don't want to have to do things like reading the database, adding values to XMP files, and so on. 

    What I am most keen to have is better searching of the keywords. For example I would like to be able to search for "cat" without also finding images of cathedrals and caterpillars. So simple things like being able to search for whole words only and to match case to distinguish kite (the toy) from Kite (the word) would make my life a lot easier.

    Ian

    0
  • Fabrizio Giudici (stoppingdown)

    If you have:

    A > B > C

    and

    D > B > E

    that is two keywords B that are different because they are in different branches, C1 makes a TOTAL MESS. A 'flattened' B appears and you can't tell whether is A > B or D > B.

    If other DAM software applications don't flatten hierarchies there's a reason.

    Not to say that resyncing metadata to other DAMs makes B to appear from nothing, and if you didn't have a B flat keyword it's because you didn't want it.

    1
  • ernst.w

    Ian Wilson

    What I am most keen to have is better searching of the keywords. For example I would like to be able to search for "cat" without also finding images of cathedrals and caterpillars.

    This function is implemented, I think:

    This will find all "cat" for you, but no catapillar, catalog or other words with "cat" in.the string.

    Kind regards
    Ernst

    1
  • RobiWan

    Ian Wilson- Nobody says you should read out the database. I wrote it in response to Fabrizio Giudici (stoppingdown) message about how I do with the stars and color marks.
    I think enough people have written why what Capture One does is wrong with keywords.
    And that is just a small step. Only when this is implemented will it make sense to talk about other design errors. You can't see them all if you have a database with 10-20000 images. 

     

    Cheers
    Robert

    0
  • Ian Wilson
    Moderator
    Top Commenter

    Thanks for the suggestion, Ernst.

    It doesn't get it right, though. 

    I hope I have understood "Jedes ist gleich cat" translates as "Any equals cat". I actually have 408 images in the catalog with the keyword Animal>cat (some of which have further stages such as Animal>cat>sand cat). I also have 11 just with the keyword cat (from before I started using hierarchical keywords).

    • If I search Keywords equals cat, I get no hits at all.
    • If I search for Any equals cat I just get the 11 that are not hierarchical.
    • If I search for Keywords contains cat, I get 998 images that include as you can see an oystercatcher, cats, caterpillars, and so on.


    So I think your suggestion doesn't work with hierarchical keywords, and it only reliably finds keyworded images if you search for Any rather than Keywords

    Ian

    0
  • Ian Wilson
    Moderator
    Top Commenter

    RobiWan - Apologies. I must have misunderstood you. And I still don't know what you mean by "skin keywords" - could you explain?

    Ian

    0
  • RobiWan

    Ian Wilson

    . And I still don't know what you mean by "skin keywords" - could you explain?

     

    Sorry my mistake - main keywords not "skin" :D

    Cheers Robert

    0
  • Ian Wilson
    Moderator
    Top Commenter

    Ah - that makes more sense!

    😀

    Ian

    0
  • ernst.w

    Ian Wilson

    I hope I have understood "Jedes ist gleich cat" translates as "Any equals cat".

    Yes, you did. It's the German interface.

    (removed) -> edit

    The difference may be: I use the hierarchical keywords more in the way SFA described. ;) Means that I try to get all keywords I need with one entry. So that I can find any of these keywords if I want to.

    But I cannot see why this usage should make such a difference...

    Kind regards
    Ernst

     

    Edit: I just tried once more and found what you found too: hierarchical keywords contain (in Capture One) in every case the complete String with the complete hierarchy - and cannot be found in the way I described. *rats* as Charlie Brown would say.

    Did you open a ticket?

    0

Please sign in to leave a comment.