Skip to content

Latest commit

 

History

History
262 lines (232 loc) · 11.1 KB

Programming-Language-Bindings.md

File metadata and controls

262 lines (232 loc) · 11.1 KB
search
keywords
API
Application Programming Interface
Programming Language Bindings

API

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 .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 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.