By 'denote' I mean they are used specifically to denote objects, in almost all times they are used, for example most proper nouns like 'James' or 'Lithuania' or 'Paris'.

Many common nouns are generic words like 'dog' or 'person' which don't seem to act as denoting in sentences. For example 'a dog' describes a real entity but 'dog' does not necessarily denote anything in this sentence.

To what extent can we see common nouns as denoting anything specific? Is there any ontological ideas they could see as denoting, for example classes or *types*?