Skip to content

franzinc/agraph-java-client

Repository files navigation

Java client for Franz AllegroGraph

This is the Java client for the Franz AllegroGraph triple store. It contains Sesame/RDF4J- and Jena-compatible APIs.

Client prerequisites

Java version 8 or higher, and any operating system should work with these jars.

Usage

Maven

The recommended way of using the client API is to create a dependency on its Maven artifact. To do this in a Maven project, add the following to your dependencies:

<dependency>
  <groupId>com.franz</groupId>
  <artifactId>agraph-java-client</artifactId>
  <version>4.0.1-SNAPSHOT</version>
  <scope>compile</scope>
</dependency>

For Gradle, use this

compile group: 'com.franz', name: 'agraph-java-client', version: '4.0.1-SNAPSHOT'

Apache Ivy syntax:

<dependency org="com.franz" name="agraph-java-client" rev="4.0.1-SNAPSHOT"/>

SBT (Scala):

libraryDependencies += "com.franz" % "agraph-java-client" % "4.0.1-SNAPSHOT"

Leiningen (Clojure):

[com.franz/agraph-java-client "4.0.1-SNAPSHOT"]

Distribution archive

Tar distributions of the AllegroGraph Java client are available from ftp://ftp.franz.com/pub/agraph/java-client/. A tar distribution includes jar files for agraph-java-client and jars on which it depends.

Programs that use the API should include all JAR files from the lib/ directory of the distribution on their classpath.

To use that local JAR file through Maven install it into your local repository:

mvn install:install-file -Dfile=lib/agraph-java-client-4.0.1-SNAPSHOT.jar -DpomFile=pom.xml

Note that when using the API through Maven all dependencies are downloaded from the central repository - JARs included in the distribution are not used.

Development

Testing

Use this command to run the default testsuite. This assumes that AllegroGraph is listening on the local machine on the default port (10035).

mvn test

To include long running tests, do

mvn test -Dtests.include=test.TestSuites\$Prepush,test.TestSuites\$Stress

Distribution

To build a distribution archive, do

mvn package

Tutorials

There are three tutorials located in tutorials/ that can be compiled and run. They are:

sesame/

Example usage of the AG Sesame/RDF4J interface

jena/

Example usage of the AG Jena interface

attributes/

Example usage of AG Triple Attributes

Prerequisites

An AllegroGraph server must be up and running in order to run the tutorials.

The class for each tutorial declares a number of variables near the top of its respective class definition, which provide the information necessary to communicate with AllegroGraph. If necessary, modify these variables to match the settings for your server before compiling each tutorial.

By default, each tutorial looks for AllegroGraph on localhost at port 10035. Each will create a repository named after the respective tutorial in the "java-catalog" catalog.

In order for the tutorial to run successfully, you must ensure that the "java-catalog" catalog has been defined in your agraph.cfg prior to starting AG, or change the value of CATALOG_ID to name a catalog that exists on your server. Use the empty string ("") or null to indicate the root catalog. All other variables must be updated to correspond to your server configuration as well.

Compiling Tutorials

Each tutorial is a separate Maven project. To compile the tutorials first install the AllegroGraph Java client into your local repository. This process is described in the 'Usage' section. One way of the installation is a 2-step process. Build and install the agraph-java-client-4.0.1-SNAPSHOT.jar locally by executing the following command in the repository root:

mvn package
mvn install:install-file -Dfile=./target/agraph-java-client-{version}-SNAPSHOT.jar -DpomFile=pom.xml

Then run the following command in the directory containing the tutorial:

mvn compile

Running Tutorials

To run one of the tutorials, use the following command line:

mvn exec:java

in the directory containing the tutorial you wish to run.

Sesame and Jena tutorials contain multiple, numbered examples. It is possible to run just the specified examples by passing their numbers as arguments in the following way:

mvn exec:java -Dexec.args="1 2 3 5 8 13 21"

The argument 'all' indicates that all examples should be run.

License

Copyright (c) 2008-2017 Franz Inc. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html