Assume that in my application I have some graph data as my domain objects as well as some non-graph data related to UI. One solution is to use the non-graph data in Neo4j as isolated nodes and use index lookups to query the data (Assume no joins are required). This can avoid using two separate databases. Is there any drawback to this solution? Any performance issues?
No performance issues
Just make sure that those nodes are not deleted or modified by the other part of the application.
Use separate set of labels.
In 4.0+ you'll be able to use multiple databases.
Looking forward to that v4.0 release. Lots of good things coming from what I've read.