I'd like to check out Sowa's book on Knowledge Representation further. It's kind of expensive so I can't afford it now, but here's the home page for the book so I can poke around some more 
I just finished reading his piece on Ontology, Metadata, and Semiotics and I liked it a lot. One of the things I found interesting is that it turns out there are typed versions of first-order logic. In my "applied symbolic logic" class we just dealt with something similar to the parent example, where you have to say something like Ex(Human(x)... etc. And I'm like "No, x doesn't have the property of being human... it is human, and its type determines what other properties can possibly be applied to it." Yet again, I find I'm not the first to think of things like this 
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):