I've been toying with this idea lately. Not so much using Neo4j as the storage for Akka Persistence but rather using Akka Persistence to store the events that cause changes to Neo4j so that the graph can be rebuilt later on without going all the way back to source data (which takes a long time for us).
We use Play as an API/integration layer between Neo4j and Elasticsearch and sometimes there are bugs that cause them to get out of sync with each other. Presently we use Rabbit to persist updates that fail for whatever reason but I'm thinking about using Akka Persistence.
Updates come into Play -> sent as commands to a persistent actor -> Akka persists those commands -> On successful persistence, updates are applied to Neo4j -> Neo4j sends back its results (created/updated graph nodes) which are indexed in ElasticSearch.
The advantage over our current architecture is that we could essentially roll back our graph to a given point in time (we keep snapshots of ES/Neo at 24 hour intervals). Right now we just have these "crawlers" that run in Play to identify and fix nodes that are broken or out of sync but it'd be nice to just roll back to before a bug was introduced and resend the updates to Neo and ES from scratch rather than fix them piecemeal later on.