У меня есть установка cassandra с 4 кластерами. Я запускаю титан поверх него. Я сделал эту программу, которая создает два узла, а затем создает ребро между ними и, наконец, запрашивает и печатает его.
public static void main(String args[])
{
BaseConfiguration baseConfiguration = new BaseConfiguration();
baseConfiguration.setProperty("storage.backend", "cassandra");
baseConfiguration.setProperty("storage.hostname", "192.168.1.10");
TitanGraph titanGraph = TitanFactory.open(baseConfiguration);
Vertex rash = titanGraph.addVertex(null);
rash.setProperty("userId", 1);
rash.setProperty("username", "rash");
rash.setProperty("firstName", "Rahul");
rash.setProperty("lastName", "Chaudhary");
rash.setProperty("birthday", 101);
Vertex honey = titanGraph.addVertex(null);
honey.setProperty("userId", 2);
honey.setProperty("username", "honey");
honey.setProperty("firstName", "Honey");
honey.setProperty("lastName", "Anant");
honey.setProperty("birthday", 201);
Edge frnd = titanGraph.addEdge(null, rash, honey, "FRIEND");
frnd.setProperty("since", 2011);
titanGraph.commit();
Iterable<Vertex> results = rash.query().labels("FRIEND").has("since", 2011).vertices();
for(Vertex result : results)
{
System.out.println("Id: " + result.getProperty("userId"));
System.out.println("Username: " + result.getProperty("username"));
System.out.println("Name: " + result.getProperty("firstName") + " " + result.getProperty("lastName"));
}
}
Мой pom.xml, у меня просто есть эта зависимость:
<dependency>
<groupId>com.thinkaurelius.titan</groupId>
<artifactId>titan-cassandra</artifactId>
<version>0.5.4</version>
</dependency>
Я использую Кассандру 2.1.2.
Я мало что знаю о гремлине, но я считаю, что Gremlin — это оболочка, которую вы можете использовать для запроса вашей базы данных из командной строки. Rexter — это API, который вы можете использовать поверх любого другого API, использующего Blueprints (например, Titan), чтобы сделать ваш запрос/код доступным для других через REST API. Поскольку вы хотите использовать встроенную Java с титаном, вам не нужен гремлин. С указанной зависимостью API чертежей поставляется с ним, и с помощью этого API (как я сделал в своем коде) вы можете делать все со своим графиком.
Возможно, вам будет полезна эта шпаргалка. http://www.fromdev.com/2013/09/Gremlin-Example-Query-Snippets-Graph-DB.html
person
Rash
schedule
17.02.2015