Graph database Analysis of the Steam Network
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

101 lines
2.3 KiB

package net.jrtechs.www.graphDB;
import org.apache.tinkerpop.gremlin.driver.Client;
import org.apache.tinkerpop.gremlin.driver.Cluster;
import org.apache.tinkerpop.gremlin.driver.ResultSet;
import net.jrtechs.www.utils.ConfigLoader;
/**
* Simple helper class which allows us to remotely connect to a
* remote graph
*
* @author Jeffery Russell 5-24-18
*/
public class RemoteConnection
{
/** Stores/manages client connections **/
private Cluster cluster;
/**
* Connection to the graph db
*/
private Client client;
/**
* Connects to a remote Graph database
*
* Check this link out to learn about Cluster.Builder()
* http://tinkerpop.apache.org/javadocs/3.3.3/core/org/apache/tinkerpop/
* gremlin/driver/Cluster.Builder.html
*
*/
public RemoteConnection()
{
ConfigLoader conf = new ConfigLoader("GremlinServerConnection.json");
Cluster.Builder b = Cluster.build();
b.addContactPoint(conf.getValue("host"));
b.port(conf.getInt("port"));
b.credentials(conf.getValue("username"), conf.getValue("password"));
this.cluster = b.create();
this.client = cluster.connect();
}
/**
* Queries the graph and return the results which can be iterated over
*
* ex:
* ResultSet results = remote.queryGraph("g.V().values('name')");
*
* results.stream().forEach(result ->
* {
* String s = result.getString();
* System.out.println("name: " + s);
* });
*
* @param q
* @return
*/
public ResultSet queryGraph(String q)
{
return this.client.submit(q);
}
/**
* Closes connection with remote database
*/
public void closeConnection()
{
this.cluster.close();
}
/**
* testing method which will be removed soon
* @param args
*/
public static void main(String args[])
{
RemoteConnection remote = new RemoteConnection();
ResultSet results = remote.queryGraph("g.V().values('name')");
//results.stream().forEach(System.out::println);
results.stream().forEach(result ->
{
String s = result.getString();
System.out.println("name: " + s);
});
remote.closeConnection();
}
}