APIs and Drivers

OrientDB supports 3 kinds of drivers:

  • Native binary remote, that talks directly against the TCP/IP socket using the binary protocol
  • HTTP REST/JSON, that talks directly against the TCP/IP socket using the HTTP protocol
  • Java wrapped, as a layer that links in some way the native Java driver. This is pretty easy for languages that run into the JVM like Scala, Groovy and JRuby

Look also at the available integration with Plugins and Frameworks.

This is the list of the known drivers to use OrientDB through different languages:

Language Name Type Description
JAVA
Java (native) API Native Native implementation.
JDBC driver Native For legacy and reporting/Business Intelligence applications and JCA integration for J2EE containers
OrientDB Spring Data Native Official Spring Data Plugin for both Graph and Document APIs
NodeJs
OrientJS Native Binary protocol, new branch that has been updated with the latest functionality. Tested on 1.7.0, 2.0.x and 2.1-rc*.
node-orientdb-http HTTP RESTful HTTP protocol. Tested on 1.6.1
Gremlin-Node To execute Gremlin queries against a remote OrientDB server
PHP
PhpOrient Binary Official Driver
OrientDB-PHP Binary This was the first PHP driver for OrientDB, but doesn't support all OrientDB features and it's slow to support new versions of driver protocol.
Doctrine ODM Uses OrientDB-PHP High level framework to use OrientDB from PHP
.NET driver for OrientDB Binary Official Driver
Python
PyOrient Binary Community driver for Python, compatible with OrientDB 1.7 and further.
Bulbflow project HTTP Uses Rexter Graph HTTP Server to access to OrientDB database
Configure Rexster for OrientDB
Compass HTTP
Go-Lang
OrientGO Binary OrientGo is a Go client for the OrientDB database.
C/C++
OrientDB-C Binary Binary protocol compatibles with C++ and other languages that supports C calls
LibOrient Binary As another Binary protocol driver
Javascript
Javascript Driver HTTP This driver is the simpler way to use OrientDB from JS
Javascript Graph Driver HTTP This driver mimics the [Blueprints](https://github.com/orientechnologies/orientdb/wiki/Graph-Database-Tinkerpop) interface. Use this driver if you're working against graphs.
Ruby
Active-Orient HTTP Use OrientDB to persistently store dynamic Ruby-Objects and use database queries to manage even very large datasets. The gem is rails 5 compatible.
OrientDB-JRuby Native Through Java driver
OrientDB Client Binary
OrientDB4R HTTP
Groovy
OrientDB Groovy Java wrapper This project contains Groovy AST Transformations trying to mimic grails-entity style. All useful information you can find in Spock tests dir. Document API and Graph API with gremlin are supported. Built with OrientDB 2.1.0 and Apache Groovy 2.4.4.
Scala
Any Java driver Native Scala runs on top of JVM and it's fully compatible with Java applications like OrientDB
Scala Page Native Offers suggestions and examples to use it without pains
Scala utilities and tests Native To help Scala developers using OrientDB
R
R driver HTTP R Bridge to execute queries against OrientDB Server
Elixir
MarcoPolo Elixir driver Binary This driver allows Elixir application to interact with OrientDB. Elixir language leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
Clojure
Clojure binding Native Through Java driver
Clojure binding of Blueprints API
Android
OrientDB Android Porting OrientDB-Android is a port/fork of OrientDB for the Android platform by David Wu
Android
OrientDB Perl driver Binary PlOrient is a Perl binary interface for OrientDB

Supported standards

This is the list of the library to use OrientDB by using such standard:

TinkerPop Blueprints

TinkerPop Blueprints, the standard for Graph Databases. OrientDB is 100% compliant with the latest version.

All the trademarks are property of their legal owners.