-
Notifications
You must be signed in to change notification settings - Fork 116
Introduction
Rexster is a graph-based query engine with applications in ranking, scoring, and recommendation. Rexster is communicated with over HTTP. Requests trigger stored traversals that are identified by URIs and are parametrized by the query parameter component of the URI. Rexster responds to requests with results represented as JSON documents. 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 their implementations (e.g. Neo4j, OpenRDF, etc.). The benefit is that Rexster can be used with various graph backends by providing “plug and play” support. Two useful TinkerPop products that make use of Blueprints are
- Gremlin is a general-purpose, graph-based programming language
- Pipes is a data processing framework that has support for processing Blueprints-based graphs.
In general, Gremlin is used for general-purpose queries and Pipes is used for optimized, high-performance specialized graph traversals. In Rexster, the results of both Gremlin and Pipes evaluations are returned to the requester in the form of JSON documents.
Rodriguez, M.A., Neubauer, P., The Graph Traversal Pattern, AT&Ti and NeoTechnology Technical Report, April 2010.
Rodriguez, M.A., Allen, D.W., Shinavier, J., Ebersole, G., A Recommender System to Support the Scholarly Communication Process, KRS-2009-02, April 2009.
Rodriguez M.A., Shinavier, J., Exposing Multi-Relational Networks to Single-Relational Network Analysis Algorithms, Journal of Informetrics, volume 4, number 1, pages 29-41, ISSN:1751-1577, Elsevier, doi:10.1016/j.joi.2009.06.004, LA-UR-08-03931, December 2009.