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 (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 | |
|
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 | ||
|
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 |
|
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 | ||
|
OrientGO | Binary | OrientGo is a Go client for the OrientDB database. |
|
OrientDB-C | Binary | Binary protocol compatibles with C++ and other languages that supports C calls |
LibOrient | Binary | As another Binary protocol driver | |
|
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. | |
|
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 | ||
|
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. |
|
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 driver | HTTP | R Bridge to execute queries against OrientDB Server |
|
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 binding | Native | Through Java driver |
Clojure binding of Blueprints API | |||
|
OrientDB Android | Porting | OrientDB-Android is a port/fork of OrientDB for the Android platform by David Wu |
|
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.