Currently we are diving deeper into the Apache Spark world. We started with an implementation of a Spark-Connector written in Scala. The connector supports loading of data from ArangoDB into Spark and vice-versa. Today we release a first prototype with an aim of including our community into the development process early to build a product that fits your needs. Your feedback is more than welcome! Read more
The upcoming 3.1 release comes with a binary protocol – VelocyStream – to transport VelocyPack (internal storage format of ArangoDB introduced with the 3.0 release) data between ArangoDB and client applications. VelocyPack stores a superset of JSON, is more compact and has a fast attribute lookup. On the other hand, VelocyStream allows to send VelocyPack in an optimized form over the network. We think it would be the right time to update our official Java Driver to modernize it and to let it be the first to fully support VelocyStream. Read more
After defining a graph and filling it with some vertices and edges (see part 1), the time has come to retrieve information out of the graph.
Please take a look at the defined graph operations of ArangoDB. These will be the base for our next examples. (Yes, there may be other ways to get the results, this post does not claim completeness!)
We will start with some easy stuff and then smoothly advance in complexity.
Question: “How many edges are defined within the graph?”
This post is outdated, please see more recent infos below.
Please see a technical article about our current Pregel integration in our blog, details about the various Pregel algorithms ArangoDB supports in our documentation and a tutorial about Community Detection with real data in our training center.
Ever since Google introduced Pregel as a system for large-scale graph processing we thought of a way how to enable this feature in ArangoDB. So we set up an ArangoDB cluster, created some huge graphs and started evaluating the concept. We came up with a new ArangoDB module (called pregelRunner) that enables the user to write own algorithms, pass them to ArangoDB and have them executed in a Pregel-like fashion.
This means that the user’s algorithm is executed step wise on each server in the cluster in parallel for all its local vertices. In each step the vertices can send messages to each other to distribute information. These messages can be received by the other vertex in the next step. The algorithm terminates when there are no more active vertices left and no message has been sent.
We started to implement an experimental version of Pregel in ArangoDB. You need to check-out the
pregel branch of ArangoDB in order to play with the following examples. Please be advised that the implementation is still in an early phase and very like to change. In this post we will provide a brief introduction to ArangoDB’s Pregel module by guiding you through the implementation of an example algorithm.
With ArangoDB 2.2 the new graph API was released featuring multi collection graphs (see blog). With the new version (2.2.1) of arangodb-java-driver the new graph API is supported. In the following you can find a small example of creating a graph with Java.
For the import via maven and configuring the driver, please read the Basics and Driver Setup. For the following we assume, that
arangodbDriver is a configured instance of the driver.
So let’s start the whole thing…
The batch interface
The batch interface enables the user to stack a series of calls and execute them in a batch request. Each stacked request returns a request id that can be used to retrieve the single results from the batch response. So how do you use this feature in the java driver ?
First we create an instance of the java driver:
ArangoConfigure configure = new ArangoConfigure();
ArangoDriver driver = new ArangoDriver(configure);
A new arangodb-java-driver is out now, it’s on github. The driver is available for ArangoDB from version 2.2 onwards.
How to include the driver in your application ?
The driver is available as maven artifact. To add the driver to your project with maven, add the following code to your pom.xml:
Get the latest tutorials,
blog posts and news:
Thanks for subscribing! Please check your email for further instructions.