Crawling Twitter with Java twitter4j and building graph of relationships
<p>I am new to crawling social networks. Nevertheless, I need to write <strong>Twitter</strong> crawler that basically goes through <strong>Twitter</strong> and builds <strong>dependency</strong> *<em>graph</em>* between <em>Users</em> (with respect to relations like for example <strong>follows</strong>, <strong>mentions</strong>) and <em>Tweets</em>. I need to do it in <strong>Java</strong>. I know that there is <strong>twitter4j</strong> which basically can do much stuff with <strong>Twitter</strong>. The problem is that <strong>twitter4j</strong> is huge and I am somehow lost in getting what I need in my task from it. I know also that there is somehow limited <strong>search</strong> API and <strong>streaming</strong> API. Which one should I use when I want to get as much data from <strong>Twitter</strong> as possible ? So I would be greatful if anybody give me some directions how to get this data from <strong>Twitter</strong> (apart from parsing tons of <strong>JSON</strong> files if possible...). Any newbie guides much appreciated (what subset of <strong>twitter4j</strong> classes should I use, some tutorials if available, maybe some example code to get some data etc).</p>

<p>PS: Is it necessary to use <strong>OAuth</strong> to have full capabilities in obtaining data from <strong>Twitter</strong> ?</p>
