When I want to clarify something and I say for example "Dogs, not cats.", I automatically want to write/say 'not' even though 'cats' is a noun, and for nouns one uses 'no'. But I'm quite sure this isn't the case here and it would sound really wrong. Could somebody explain the rule behind it? Surely, there must be one.