The Neo4j 3.0 language drivers provide a uniform API for easy access to Neo4j from any programming language, addressing inconsistent patterns of usage and different feature sets across existing drivers. The Bolt protocol is implemented by connectors on either side of the communication, sending Cypher messages to the server, which then sends streams of records back to the connectors. The client connectors implement a standardized API, allowing users to have the same set of classes, methods, and experiences regardless of language. The drivers are built around four key abstractions: the driver itself, which encapsulates interaction with Neo4j; sessions, which give the illusion of working with a database; transactions, which allow sending multiple Cypher statements as one logical unit of work; and statement results, which return handles to continuously pull out streams of records from the database. The drivers are hosted on GitHub and are Apache licensed, allowing commercial use without licensing issues. The project aims to complement community driver authors by providing a fundamental foundation and plumbing, while also enabling high-level API and language-idiomatic features. The Bolt protocol offers better performance than HTTP due to its smaller payload size and stateful setup. Built-in stored procedures allow users to write custom code that plugs directly into the database, and can be used for specialized algorithms or third-party systems. The drivers include a number of built-in procedures for listing and managing databases, as well as creating new procedures using a simple class-based approach. Finally, legacy stores can be plugged in to pull all data into a graph using a 10- or 20-line procedure.