OrientDB adalah salah satu basis data NOSQL dengan kemampuan basis data obyek, graph, document, serta flat. API untuk basis data ini bermacam-macam dan karena dikembangkan menggunakan Java, maka API yang paling utama adalah Java, meski demikian, tersedia juga API untuk JavaScript dan implementasi bahasa-bahasa pemrograman berbasis JVM seperti Clojure dan Scala.
Pada tulisan ini saya akan sedikit membahas tentang akses dengan menggunakan Clojure. Wrapper Clojure untuk API OrientDB dibuat oleh Eduardo Julián. Versi binary bisa diperoleh dari http://clojars.org melalui Leiningen dan versi kode sumber bisa diperoleh di https://github.com/eduardoejp/clj-orient (sayangnya, dokumentasi kurang jelas). Langkah sederhana berikut digunakan untuk mengakses OrientDB dari Clojure menggunakan Leiningen.
1. Buat project
2. Hasil:
3. Edit project.clj, isikan berikut ini:
4. Download dependencies dengan perintah:
5. Koneksi terdapat pada file core.clj
6. Hasil eksekusi:
Happy hacking!
Pada tulisan ini saya akan sedikit membahas tentang akses dengan menggunakan Clojure. Wrapper Clojure untuk API OrientDB dibuat oleh Eduardo Julián. Versi binary bisa diperoleh dari http://clojars.org melalui Leiningen dan versi kode sumber bisa diperoleh di https://github.com/eduardoejp/clj-orient (sayangnya, dokumentasi kurang jelas). Langkah sederhana berikut digunakan untuk mengakses OrientDB dari Clojure menggunakan Leiningen.
1. Buat project
$ lein new orientweb
2. Hasil:
[bpdp@bpdp-arch orientweb]$ tree |-- README.md |-- doc | `-- intro.md |-- project.clj |-- src | `-- orientweb | `-- core.clj `-- test `-- orientweb `-- core_test.clj 5 directories, 6 files [bpdp@bpdp-arch orientweb]$
3. Edit project.clj, isikan berikut ini:
(defproject orientweb "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.4.0"] [clj-orient "0.5.0"]] :main orientweb.core)
4. Download dependencies dengan perintah:
lein deps
5. Koneksi terdapat pada file core.clj
(ns orientweb.core) (require '[clj-orient.core :as orientcore] '[clj-orient.graph :as orientgraph]) (orientcore/set-db! (orientgraph/open-graph-db! "remote:localhost/demo" "admin" "admin")) (def mydb (orientcore/db-info orientcore/*db*)) (defn -main [& args] (println "Information about the database:") (doseq [[key val] mydb] (prn key val)) (orientcore/close-db!))
6. Hasil eksekusi:
[bpdp@bpdp-arch orientweb]$ lein compile Compiling orientweb.core Compilation succeeded. [bpdp@bpdp-arch orientweb]$ lein run All namespaces already :aot compiled Information about the database: :name "demo" :url "remote:localhost/demo" :status "OPEN" :user #[bpdp@bpdp-arch orientweb]$
Happy hacking!
Mengakses Basis Data Graph OrientDB Menggunakan Clojure