Monday 31 January 2022

JanusGraph: Get all the incoming adjacent vertices of a graph

Using 'vertices' method, you can get all the incoming adjacent vertices.

 

public Iterator<Vertex> vertices(final Direction direction, final String... edgeLabels)

Gets an Iterator of adjacent vertices. Argument direction specifies the adjacency direction of the vertices to retrieve off this vertex. Direction can be IN, OUT, BOTH. Argument 'edgeLabels' specifies the labels of the edges associated with the vertices to retrieve. If no labels are provided, then get all edges.

 

Example

Iterator<Vertex> adjacentVertices = ramVertex.vertices(Direction.IN);
while (adjacentVertices.hasNext()) {
	Vertex vertex = adjacentVertices.next();
	System.out.println("\t" + vertex.property("name").value());
}

 

Find the below working application.

 

AdjacentIncomingVertices.java

 

package com.sample.app.vertex;

import java.util.Iterator;

import org.apache.tinkerpop.gremlin.structure.Direction;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.JanusGraph;
import org.janusgraph.core.JanusGraphFactory;
import org.janusgraph.core.JanusGraphVertex;

public class AdjacentIncomingVertices {
	public static void main(String args[]) {

		JanusGraph janusGraph = null;

		try {
			janusGraph = JanusGraphFactory.open("/Users/Shared/janus.properties");

			// Create a person vertex
			JanusGraphVertex krishnaVertex = janusGraph.addVertex("person");
			krishnaVertex.property("name", "Krishna");
			krishnaVertex.property("age", 31);
			krishnaVertex.property("gender", 'M');

			// Create a person vertex
			JanusGraphVertex ramVertex = janusGraph.addVertex("person");
			ramVertex.property("name", "Ram");
			ramVertex.property("age", 34);
			ramVertex.property("gender", 'M');

			// Create a person vertex
			JanusGraphVertex rahimVertex = janusGraph.addVertex("person");
			rahimVertex.property("name", "Rahim");
			rahimVertex.property("age", 41);
			rahimVertex.property("gender", 'M');

			ramVertex.addEdge("knows", krishnaVertex, "from", 2017, "colleague", "N");
			rahimVertex.addEdge("knows", ramVertex, "from", 2019, "colleague", "Y");

			janusGraph.tx().commit();

			System.out.println("Incoming adjacent vertices of Ram are:");
			Iterator<Vertex> adjacentVertices = ramVertex.vertices(Direction.IN);
			while (adjacentVertices.hasNext()) {
				Vertex vertex = adjacentVertices.next();
				System.out.println("\t" + vertex.property("name").value());
			}

		} finally {
			janusGraph.close();
			System.out.println("Done!!!");
		}

	}
}

 

Output

Incoming adjacent vertices of Ram are:
	Rahim
Done!!!

 


  

Previous                                                 Next                                                 Home

No comments:

Post a Comment