Referring to parts of things with multiple understood names

I recently discovered Inform 7 and am currently working on a simple project. But here’s a little self-contained example demonstrating an issue I ran into:

The Chamber is a room. A face is a kind of thing. A face is part of every person. Jonathan is a person in the Chamber. "'Hi, I'm Jonathan. Just call me Joe.', says a man with a scar on his face." A scar is part of Jonathan. Understand "Joe" as Jonathan.

The player referring to “joe’s face” doesn’t work. Ditto for “joe’s scar” and even “jonathan’s scar”. The SHOWME command lets me see that the objects themselves are called “Jonathan’s face” and “scar”, so I kind of get why this is happening. I also understand that the “face” and “scar” parts of the problem might be technically different, but I’d like to find good general solutions for both types of situation, since it’s very likely a player would want to refer to things in that manner.

By general solution I mean not just adding “Understand …” lines for every case separately - assume there’s going to be dozens of characters with a longer list of bodyparts and all kinds of unique one-off clothing/features.

Any ideas for approaches?

Try the extension Possession and Ownership by Shadow Wolf.

Basically, if you want this to work systematically, you have to do some after-reading-a-command tweaking to separate out apostrophe-s from the rest of the player’s command–otherwise the Inform parser won’t recognize that “joe” is part of the world “joe’s.” Then you can use an understand-by-a-relation statement to make sure that if Inform can understand “joe” as Jonathan it can understand “joe 's scar” as a scar that’s part of Jonathan.

The extension should do that automatically. The key line is this:

 Understand "[something related by reversed incorporation] 's" as a thing.

Thank you, that’s exactly what I needed!