Cool, but for each of these properties that knwl.js finds there are done extensive research and none of them are easy to do well. Sure, in the demo you find some interesting properties, but it's content was chosen by the author.
E.g. in the emotion-detection instead of using a data set such as http://sentiwordnet.isti.cnr.it/ the author defines the following data structures:
this.emotion.negativeWords = ['terrible','horrible','evil','die','dick','bitch','fucked','stupid','idiot','dumb','noob','shit','vain','n00b','dickhead','cocksucker','disgusting','slut'];
this.emotion.negativeWordsB = ['fuck','shit','kill','rape','hate','hating'];
this.emotion.positiveWords = ['happy','good','great','amazing','awesome','wonderful','brilliant','smart'];
this.emotion.positiveWordsB = ['love','like','want',"<3",'kiss'];
Which perhaps functions well, but in a very limited domain. The same can be said for detection of spam, phone numbers (only find American numbers in a certain format atm) etc.