I guess I'll venture an opinion.
Question 1: This depends on how extensible you need your book database. Using the comma trick "Book, Author" will reduce the number of thoughts, and allow you to search by both book and author in quicksearch. If that's all you are looking for, that should work great. More extensible is creating a parent thought "Author" and child thought "Author, Book". This still allows you to quicksearch, but also allows you to group multiple books under the same author. So clicking on the author parent, you can see all the books written by them. Question 2 is a bit more tricky. Using types really depends a bit on the context. Let's say your brain is limited in it's scope, as in dealing with media, and topics. In that case, types would work fantastically. Not only can you easily distinguish the reference type by setting colors, but you can also run reports conditioned on type and see all books, or articles etc. If your brain's scope is more extensive, you may start to run into type bloat. You can have books, articles, insights, films, movies, people, places, countries, etc and all of a sudden, keeping track of types may become a complex task in itself. In this case I may or may not use a type, but I wouldn't drill down as far as differentiating between book and article, unless I had a need to run reports to identify them. Another approach may be having a thought "Addiction". Using the example in question 1, I'd then link it as a parent to the "Author, Book" thought. In this case that thought now has two parents, "Author" and "Addition". As you add more thoughts as children, after there are enough added, I'd then start making a distinction. Lets say there are about 4 books, 3 articles, 2 quotes and 8 personal notes, I'd start making sub categores under addiction such as "Addiction, Notes", "Addiction, References", and "Addiction, Quotes", and then file the thoughts accordingly. Note that although you can't search by type any more, you can still search by addiction and see all related thoughts, both in quicksearch, and regular search. In the end, it's dependent on how you think you will want to access your data. If you anticipate the need to quickly run a report to show all books, or articles, then types is great. If that isn't such a need, start making subcategory thoughts. In either case, I'd highly recommend using the comma trick in your thought naming. Also, as I alluded to in the second example, don't try and nail down your subcategory thought list immediately. File your thoughts, and when the number of children start to build up, patterns develop by themselves and allow you to file things organically as they grow. Nine times out of ten, this organic filing method becomes far better than anything you could have come up with trying to figure it out at the beginning.
Java SE 6