of は「~の」だけではない。

the city of London というと「ロンドンの都市」ではなく「ロンドンという都市」という意味になります。
ポイントは、the city = Londonの関係が成り立っているとう点です。

それでは、以下はどうでしょうか。
an angel of a girl

これを、「少女の天使」では意味が通じません。これは、「天使のような少女」になります。

同格のofの場合は、
A of Bの形になり、「BというA」か「AのようなB」は意味になります。

例)
the news of his death (彼の死という知らせ)
a devil of a man. (悪魔のような男)