I don't think there is a best note-taking application, as everyone has very different needs. I personally have several notetakers that I used for a variety of purposes:
Flashnote: Very simple, lightweight hierarchical notetaker that I use for temporary notes I am referring to for work I am currently doing. This might range from needing a place to write down notes from a phone call, a place to put fragments of computer code or just wanting a scratchpad. This isn't long term storage, just a scratchpad.
I'm currently experimenting with using either Cintanotes, or SQLNotes, as my inbox (GTD terminology) where I place stuff to be done/processed while doing other work. Cintanotes is excellent as a lightweight "dumping ground" for stuff to be processed later, on the other hand SQLnotes is where I'm increasingly putting the processed info in my PIM/GTD system.
For my thesis work I'm using ConnectedText, which is a personal wiki. This has the semantic data that you're asking for, and is an outstanding implementation of a personal wiki (Wikidpad isn't bad, but if you're planning on using it heavily, ConnectedText is well worth the money). I use this for processed notes; that is notes on things that I have thought about/read/critiqued. I use it as an ideas processor for my evolving thesis work.
I have a system where I place my bibliographic data into Zotero, pull out the Bibtex key for each item I write notes on and create a wiki page for it with relevant bibliographic data (title, abstract, tags and authors mainly). Then all my notes on that book/journal are linked to that item. Any other notes are placed in a notes bin, with relevant tags added. What's really useful about this, is once notes are in there I can very rapidly build meta-pages that pull in all notes that are tagged with 'phenomenology', and I can read through these, rewrite some of my notes and perhaps create a new note that summarises/critiques some of those ideas. Over time I use this to gradually evolve a paper, with all the relevant ideas in it as a 'first draft'. The really nice thing about this, is that it makes it trivial to keep track of where ideas came from, so you properly reference them in your papers. So I might create a note, that references five previous notes, and I can just follow the links back to those.
What I currently lack is a replacement for Evernote 2.2 (I lost my copy). I used to use this as a dumping ground for stuff that I found and didn't currently need/want to use, but thought might be useful one day. I guess SQLNotes might manage this
Finally, I'm currently experimenting with SQLNotes/InfoQube. This is a remarkably powerful program, that complements ConnectedText very well (neither does what the other does well, nor should they). The beta version has a LOT of rough edges, but it shows a lot of promise. Very steep learning curve, but for PIM needs it can almost certainly do what you want. I'm planning to use it for my GTD system, project planning, contacts info and (perhaps) as a replacement for Evernote's clipping capabilities.