I tried really hard to use Titan for my project, but the tooling and the query language is —in my view— just atrocious. Setting up a running instance, trying to import my moderately complex property graph data into it, and navigating Tinkerpop's "funny" documentation was a real pain.
Then I decided to switch to Neo4j, and I was up and running in literally an afternoon. Also, its Java API is very well designed, which allowed me to fork and extend an integration plugin with Elastic in a couple days (https://github.com/jazzido/neo4j-elasticsearch/)