Why didn't Odysseus know Polyphemus was Poseidon's son?

One of the changes from the original poem is Odysseus now just has encyclopedic memories about all the monsters. He just happens to know who Scylla is and about her very specific cost/toll. He knows of the sirens and their singing and knowledge about every waterway path. He's quick to recognize the Lotus fruits and just happens to know about the mind control even though neither him nor Polites ate any. Recognizing Hermes and Athena instantly as gods, etc. etc.

I don't think it matters how he knows these things, either he's a well studied rich king, or from his teachings from Athena... But why doesn't he know the basic knowledge that cyclops are the sons of Poseidon???

Arguably Odysseus' biggest screw up is going back and giving his name to Polyphemus. Calling down a huge storm that requires the wind bag to pass through and encouring the wrath of Poseidon that gets hundreds killed.

Odysseus did the whole Nobody thing, so did he have knowledge of the Cyclopes and that there might be more, and he's a total idiot for then giving his name back out? Is this another EPIC plot hole where this is the one special area he doesn't have knowledge on the monsters just so the plot can happen?