We have moved!

David Colebatch and Graeme Hein delivering an Introduction to Neo4J course, March 2014

Please note the development offices of xnlogic and have changed.  Today we have moved down the street to 20 Camden St, Toronto which is the same space that we have been conducting our Neo4J and xnlogic framework training in.

Keep those postcards coming. :-)




Another Successful GraphConnect

We have just settled back into our Toronto office now after a very successful few days at GraphConnect SanFrancisco. Every Neo Technologies event exceeds expectations, be it the speakers, the humour or just the sheer amount of talent that they attract. This year attracted 450 talent nodes and undoubtedly many powerful relationships were created.

This year we were fortunate enough to receive the Graphie award for Excellence in Delivery, and met some more prospective customers and XN Framework partners who are looking to put that reputation to the test.

In case you missed Darrick's Lightning talk on how to use Pacer to model your graph application, the slides are now up on Slideshare (and below). With enough encouragement, we might even be able to get him to repeat the talk at an upcoming GraphTO meetup - so be sure to request it!

Hope to see you at GraphConnect New York on November 6th. 




xnlogic joins Neo4J Partner Graph program


TORONTO, Ontario - September 24th, 2012 - xnlogic today announced their membership in Neo Technology’s Neo4j Partner Graph program. Membership in the program further enhances xnlogic’s involvement in the GraphDB ecosystem and gives their customers another communications channel into the leading-edge graph database vendor.

As data explodes in volume and complexity, the world is looking to new ways of storing, querying, and analyzing “big data.” As a high performance graph database, Neo4j is transactional, durable, and scales to meet the demands of complex, highly-connected data.

"Our partners are a key component to achieving our goal of driving massive adoption of graph databases. Neo4j's unique approach to solving the complex, connected data challenges has been proven across thousands of installations, and with our network of partners we're extending this experience to new markets and opportunities," said Emil Eifrem, CEO of Neo Technology.

Along with their graph database consulting services, xnlogic is now licensing its application platform, pacer-model, to third parties such as LightMesh [1] (currently in private-beta).

“Our customers are now applying graph concepts to address traditional pain-points in enterprise software. Using the xnlogic application framework with Neo4j’s database gives them the performance and reliability they need when working with complex semi-structured data,” said David Colebatch, co-founder of xnlogic.

About xnlogic

A development project’s success could hinge on iterating rapidly or asking more sophisticated questions of data. xnlogic helps companies by providing a boutique consulting and training service focussed exclusively on graph database technology. xnlogic has also developed a unique application platform to get business logic into data, structure it, and develop a functioning application - rapidly. The expressiveness of the graph combined with the power of this platform creates the foundation for serious enterprise-grade software.

xnlogic also has an open source offering which the development community has been using since 2010 when co-founder Darrick Wiebe released the Pacer library. Pacer is a ruby library for quickly creating expressive graph traversals and is already a popular choice for application development.  

“As the creators of Pacer [2], xnlogic can apply a deep understanding of graph-related problems to application architecture. Coupled with our real-world experience in the datacentre, we give our customers the end-to-end expertise they need to succeed.” said Darrick Wiebe, co-founder of xnlogic

For more information, please visit

About Neo Technology

Graphs are everywhere. From websites adding social capabilities, to telcos providing personalized customer services, to innovative bioinformatics research, organizations are adopting graph databases as the best way to model and query connected data. Neo Technology researchers have pioneered graph databases since 2000 and have been instrumental in bringing the power of the social graph to customers such as Adobe, Cisco, and Deutsche Telekom. Now in production for nine years, Neo4j is the world's leading graph database with the largest ecosystem of partners and tens of thousands of successful deployments worldwide.

For more information, please visit 




What's new in Pacer 1.0

We're very excited about the latest version of Pacer. We've used Pacer 0.9 for almost a year now and it's served us very well, but in that time we found a few pieces that we weren't happy with. We've addressed those issues and also made improvements in its architecture, consistency, and performance. So, here's what's new in Pacer 1.0:

  • The already comprehensive spec suite has been improved and also runs almost 10x faster.

  • Graphs and elements are always wrapped. Previously, Pacer patched the raw Java classes to add the methods it needs in addition to allowing elements to be wrapped. By choosing to always use wrapping, we can provide a cleaner, easier, and more consistent interface.

  • It uses the current Tinkerpop 2.1 stack with the most current versions of all of its supported databases including Neo4j, Dex, OrientDB, and TinkerGraph. This is great news because the Tinkerpop stack and the graphs that it supports are constantly improving.
  • The pacer-[graphdb] gems are no longer required but are all updated as a convenient way to get the dependent jars without the pain of using maven.
  • Pacer can fully support all of Blueprints' WrapperGraph implementations. If you need the functionality behind one of the wrappers or want to create your own, simply initialize a new PacerGraph with the wrapped graph.
  • Pacer is now able to fully support all Gremlin pipes including those that require PipeFunctions, making all features in Gremlin available to Pacer in addition to Pacer's own unique features.
  • Many internal details of the implementation have been improved to make Pacer's source much easier to understand and extend. This provides a solid base on which to develop sophisticated projects.

Breaking changes and upgrade notes

Breaking changes have been kept to a minimum but there were a number of places that we weren't happy with the previous implementation and have addressed them.

  • Pacer now requires JRuby 1.7. This latest version of JRuby handles Java exceptions significantly more cleanly which eliminated a problem we previously had to work around in numerous places. In addition it is now in 1.9 mode by default, starts up faster, and conforms to the more recent Ruby 1.9.3 which brings valuable improvements to the standard Ruby libraries.

  • To find an index, the #index_name method has been renamed to #index.

  • All #element_type methods now return simply :vertex, :edge, :mixed or :object.
  • The #extensions method sometimes returned a Set and sometimes an Array. Now it always returns an Array.
  • Elements yielded to a block within a route no longer have the BlockFilterElement extension added to them. In the rare occasion that you need to use the #back or #vars methods within a block, they can be easily accessed by referring to the route itself within the block. To see an example, refer to the as_spec.rb file.