Type Safe Graph Database Schemas in Scala for Neo4j