Skip to content

Introduction

okram edited this page Sep 14, 2010 · 24 revisions

Rexster is a web service that is queried using HTTP and returns JSON formatted responses. Stored traversals in a Rexster deployment are identified by URIs and are parametrized by the query parameter component of the URI. Rexster can work as a standalone web server or as a servlet through Tomcat. The general system architecture is diagrammed below.

Rexster makes extensive use of Blueprints. Blueprints, amongst other things, is a collection of graph-based interfaces (e.g. graph, vertex, edge, etc.) and implementations (e.g. Neo4j, OpenRDF, etc.). The benefit is that Rexster can be used with various graph backends. Two TinkerPop packages that make use of Blueprints are Gremlin and Pipes. Gremlin is a general-purpose, graph-based, programming language and, in Rexster, serves as the most general interface to interacting with graph backend being exposed by Rexster. Pipes is a data processing framework that has support for traversing Blueprints-based graphs. In general, Gremlin is used for general-purpose queries and Pipes is used for optimized, high-performance specialized graph traversals. The results of a Gremlin or Pipes evaluation are returned to the requester in the form of a JSON formatted result.

Rexster is constrained to a core set of functionality. Rexster is designed specifically to allow multiple applications in a deployment environment to trigger stored graph traversals and retrieve JSON formatted results. Moreover, Rexster has classes to support score- and rank-based graph traversals.

Clone this wiki locally