# JanusGraph Examples The JanusGraph examples show the basics of how to configure and construct a graph application. It uses [Apache Maven](https://maven.apache.org) to manage the numerous dependencies required to build the application. The common application will: * Open and initialize the graph * Define the schema * Build the graph * Run traversal queries to get data from the graph * Make updates to the graph * Close the graph By using different graph configurations, the same example code can run against the various supported storage and indexing backends. ## Prerequisites * Java 8 Development Kit, update 40 or higher. [Oracle Java](https://www.oracle.com/java/index.html) and [OpenJDK](https://openjdk.java.net/) have been tested successfully. * [Apache Maven](https://maven.apache.org/), version 3.3 or higher ### JanusGraph distribution Download the latest [JanusGraph release](https://github.com/JanusGraph/janusgraph/releases) distribution zip file and unzip it. ### Build the examples The examples are packaged with the JanusGraph distribution zip file in the `examples` directory. Run the Maven build command from the `examples` directory. ``` mvn clean install ``` ## Run the examples These commands can be run from the `examples` or project's directory. Please refer to the specific directions for each project as there may be additional setup and configuration required. ### [Common and In-Memory](example-common/README.md) ``` mvn exec:java -pl :example-common ``` ### [BerkeleyJE and Lucene](example-berkeleyje/README.md) ``` mvn exec:java -pl :example-berkeleyje ``` ### [Cassandra CQL and Elasticsearch](example-cql/README.md) ``` mvn exec:java -pl :example-cql ``` ### [HBase and SolrCloud](example-hbase/README.md) ``` mvn exec:java -pl :example-hbase ``` ### [HBase and Solr Standalone (HTTP)](example-hbase/README.md#hbase-and-solr-standalone-http) ``` mvn exec:java -pl :example-hbase -Dexample.config="\${project.basedir}/conf/jgex-hbase-solr-http.properties" ``` ### [Remote Graph](example-remotegraph/README.md) ``` mvn exec:java -pl :example-remotegraph ``` ### [TinkerGraph](example-tinkergraph/README.md) ``` mvn exec:java -pl :example-tinkergraph ``` ## Drop the graph After running an example, you may want to drop the graph from storage. Make sure to stop the application before dropping the graph. These commands can be run from the `examples` or the project's directory, but please refer to the specific directions for each project as there may be additional steps for clean up. ### [BerkeleyJE and Lucene](example-berkeleyje/README.md) ``` mvn exec:java -pl :example-berkeleyje -Dcmd=drop ``` ### [Cassandra CQL and Elasticsearch](example-cql/README.md) ``` mvn exec:java -pl :example-cql -Dcmd=drop ``` ### [HBase and SolrCloud](example-hbase/README.md) ``` mvn exec:java -pl :example-hbase -Dcmd=drop ``` ### [HBase and Solr Standalone (HTTP)](example-hbase/README.md#hbase-and-solr-standalone-http) ``` mvn exec:java -pl :example-hbase -Dexample.config="\${project.basedir}/conf/jgex-hbase-solr-http.properties" -Dcmd=drop ```