Filtering By High-Level Keywords
By using a simple trick, revealed in a conversation with Anthony Caltabiano, I have found that I can make all keywords appear in the filter dialog and so make it possible to filter quickly and accurately on any keyword at any level, something thought impossible.
In a previous article, I described how Aperture's keyword system only directly allows filtering by the lowest level keywords. By lowest level I mean the ones at the bottom of the keyword hierarchy. For example:
Content > Water > Ocean > Surf
Surf is the lowest level. Any time I add Surf to an image, the higher-level keywords Ocean, Water, and Content are sort of added to the image -- they are visible in the metadata pane -- but not usefully added to the image because they don't appear in the keyword checkbox list on a filter dialog. While it is possible to work around this using the IPTC keyword field, it is clumsy and error-prone.
Maybe Apple will deal with this in future (Aperture is at 1.5.1 as I write), but until then, we need help. I have a small example project with images, all tagged according to content:

To do this tagging I used the following hierarchy (yes I know a turtle is not a mammal, but there it is):

I tagged by dragging the lowest level keywords to the images. If I want to filter by Water I cannot do it directly because Water does not appear in the keyword list on the filter dialog:

As expected, clicking on Stone gives me this selection:

Now for the magic. I take the image below (click for full-size version) and add it to the project.

This is my keyword keeper. Any image will do, but this one is useful because it identifies itself. Now I bring up the keyword HUD (shift H) and select and drag every high-level keyword I want to filter on to that image:

You can save a lot of clicking by knowing that the left and right arrows open and close the keyword levels in the HUD, and the up and down arrows move the selection up and down. Command-clicking on keywords selects more than one. There probably are not all that many higher-level keywords in any library, because most of the keyword population is at the lowest level.

Now that the Keyword Keeper image has those keywords, let's look at the keyword HUD again:

All those high level words are there! And if I click on Animal I get the following as expected:

To integrate this method into your library you will need a few extra steps:
1. Create a new project call Keyword Keeper and put the Keyword Keeper image into it. Add all the high level keywords as above.
2. Create a new keyword at the top level called Keyword Keeper and add it to the Keyword Keeper image. This is an important step, as it will save much effort later.
3. Now duplicate the image into all of the projects you want to by clicking on it and option-dragging. The copies will retain all the keywords.
At a future date, when you expand your keyword hierarchy, you will need to update your Keyword Keeper images. To do this, select the Library and filter on the keyword Keyword Keeper. Select all of them and drag the new higher-level keyword onto one of them. Now the new keyword will work in all of the projects that contain the Keyword Keeper image.
In a previous article, I described how Aperture's keyword system only directly allows filtering by the lowest level keywords. By lowest level I mean the ones at the bottom of the keyword hierarchy. For example:
Content > Water > Ocean > Surf
Surf is the lowest level. Any time I add Surf to an image, the higher-level keywords Ocean, Water, and Content are sort of added to the image -- they are visible in the metadata pane -- but not usefully added to the image because they don't appear in the keyword checkbox list on a filter dialog. While it is possible to work around this using the IPTC keyword field, it is clumsy and error-prone.
Maybe Apple will deal with this in future (Aperture is at 1.5.1 as I write), but until then, we need help. I have a small example project with images, all tagged according to content:

To do this tagging I used the following hierarchy (yes I know a turtle is not a mammal, but there it is):

I tagged by dragging the lowest level keywords to the images. If I want to filter by Water I cannot do it directly because Water does not appear in the keyword list on the filter dialog:

As expected, clicking on Stone gives me this selection:

Now for the magic. I take the image below (click for full-size version) and add it to the project.

This is my keyword keeper. Any image will do, but this one is useful because it identifies itself. Now I bring up the keyword HUD (shift H) and select and drag every high-level keyword I want to filter on to that image:

You can save a lot of clicking by knowing that the left and right arrows open and close the keyword levels in the HUD, and the up and down arrows move the selection up and down. Command-clicking on keywords selects more than one. There probably are not all that many higher-level keywords in any library, because most of the keyword population is at the lowest level.

Now that the Keyword Keeper image has those keywords, let's look at the keyword HUD again:

All those high level words are there! And if I click on Animal I get the following as expected:

To integrate this method into your library you will need a few extra steps:
1. Create a new project call Keyword Keeper and put the Keyword Keeper image into it. Add all the high level keywords as above.
2. Create a new keyword at the top level called Keyword Keeper and add it to the Keyword Keeper image. This is an important step, as it will save much effort later.
3. Now duplicate the image into all of the projects you want to by clicking on it and option-dragging. The copies will retain all the keywords.
At a future date, when you expand your keyword hierarchy, you will need to update your Keyword Keeper images. To do this, select the Library and filter on the keyword Keyword Keeper. Select all of them and drag the new higher-level keyword onto one of them. Now the new keyword will work in all of the projects that contain the Keyword Keeper image.
The Bagelturf site welcomes Donations of any size