Joey Freund edited this page Jan 11, 2015 · 24 revisions

Pacer is graph traversal library, written in JRuby.

  • Enables very expressive graph traversals.
  • Supports all of the major graph databases, including OrientDB, Neo4j and Dex, thanks to the Tinkerpop graphdb stack.
  • Comes with a very convenient in-memory graph called TinkerGraph.
  • Traverses the graphs using very fast and memory efficient stream processing.
  • All processing is done in pure Java, so when it comes the usual Ruby expressiveness vs. speed problem, you can have your cake and eat it too. It's very fast!

Pacer in 60 seconds

In order to provide efficient graph traversal, Pacer chains Pipes together and wraps them in Pacer Routes.

Diagram 2

In order to provide developer-friendly API, Pacer Extensions allow you to extend graph elements with arbitrary functionality.

Diagram 3

With these two concepts, Pacer allows you to use your own domain-specific language to get efficient graph queries that look like this ...

# Trending posts that were liked by your friends

# Faulty hard-drive in some region of your data center

# Number of traffic lights on your drive to the office
home.directions_to('Queen & Spadina').traffic_lights.count

Questions or need help?

This wiki is the main source of documentation for developers working with Pacer.

xnlogic makes a graph database application framework built with Pacer technology.
If you think a graph database is appropriate for your problem space, the team at XN can provide you the help you need. The XN framework has extremely powerful data modelling capabilities, tight security and allows you to deliver an incredible domain-specific API to your data with ease.

Pacer also has a mailing list where you can go for community support to get you past whatever problems you encounter.

Finally, there are great meetup groups like GraphTO in Toronto which meets periodically, and conferences like GraphConnect, held in San Francisco and other American cities.