/sophia-java

Jni bindings and Scala usage of Sophia DB

Primary LanguageScalaApache License 2.0Apache-2.0

Sophia Java/Scala Bindings

this is still a work in progress

If you are looking at this page you may be interested in checking out Sophia Db in a JVM environment, the provided interface is still pretty rough for much of the functionalities, but, please, do not be scared! As soon as you find something that is hard to do just ping me with an issue.

At the moment I have no real world use cases of the db so, please, help me also underlying useful functions to be bumped up to the power of Scala from a scaring plain C form!

Hot to install

First of all clone sophia db repo

git clone https://github.com/pmwkaa/sophia.git

than make the db library itself

cd sophia
make

clone the java bindings

cd ..
git clone https://github.com/andreaTP/sophia-java.git

link the library in the base directory

cd sophia-java
ln -s ../sophia/libsophia.so libsophia.so
#and on osX you may need also
ln -s ../sophia/libsophia.so.1.2.2 libsophia.so.1.2.2

go into the C bindings dir

cd LibSophiaJava
make

##Use it

SBT is the used build tool, please check to start it with the C libraries in the "java.library.path" or use (sbt.sh).

./sbt.sh
publishLocal

At this point you can easily add the library at your projects, for example in another sbt project add in build.sbt

libraryDependencies ++= Seq("unicredit" %% "sophia_java" % "0.0.2-SNAPSHOT")

Please check that the C dependencies are always in your java.library.path during execution of your code.

##Contribute

Test on other systems, pull requests, help requests and improvement proposal of any kind will always be appreciated!