GraphAware Blog - GraphAware

Find out what's new in the Neo4j world

Graph Technology Landscape 2019

01 Feb 2019 by Janos Szendi-Varga Neo4j GraphAware

Graph Technology Landscape 2019

Few years ago I decided that one day I would create a Graph Technology Landscape map, which would be useful for everyone who wants to discover the players around graph technologies. I started to collect the companies and products, but my research has never manifested into a proper blog post. Till now. I am happy to announce, that the first version of my landscape is published, I hope we can consider this as a start of a long journey.

This year at GraphAware

27 Dec 2018 by Luanne Misquitta Neo4j GraphAware

This year at GraphAware

2018- it’s been such a whirlwind of activity at GraphAware, and we’re so proud of everything we’ve accomplished this year.In fact, we grew and grew, announcing ourselves in Australia and then, later in the year, expanding into the Americas.“Neo4j is one of the most disruptive and transformative technologies I have seen in my career,” said Kyle McNamara, CEO, Americas. His team are well on their way to increasing GraphAware’s presence and strengthening the already close bond we have with Neo4j.Over in Australia, various government entities have showed keen interest in auto-classification, simplifying organisational movement, enriching original documents, and security and...

GraphAware Announces Expansion into Americas

28 Nov 2018 by Kyle McNamara GraphAware

BOSTON, MA, Nov. 28th, 2018 – GraphAware, a leading Neo4j consulting practice, today announced the official launch of its US entity GraphAware, Inc., headquartered in Boston, MA. This strategic investment by GraphAware aligns with Neo4j’s own rapid market expansion.The close alignment between GraphAware and Neo4j is strengthened by this move, and bolstered by GraphAware’s substantial investment in Neo4j graph database deployment best practices over the last half-decade. This includes Neo4j-specific consulting, products and training- helping to accelerate Neo4j use and adoption all over the globe.Neo4j’s President and COO Lars Nordwall said of GraphAware:“GraphAware is one of our earliest and most...

GraphAware Expands to Asia-Pacific

26 Mar 2018 by Luke Housego GraphAware

Nearly six years ago I started reading about this thing called Graph Data. Now unlike almost everyone in the modern world of Graph, I am not a coder. I was once upon a time but it has been many years since I typed a line of code. No I do not have a GitHub login. As an enterprise architect I often joke that I do powerpoint for a living. But I could see how this re-envisioning of data and how it could be used would transform enterprises. It is not just a technical change. It changes everything. People. Organisation. Knowledge....

GraphAware in 2017

27 Dec 2017 by Luanne Misquitta Neo4j GraphAware

What a year it’s been for all of us at GraphAware!We travelled around the world, starting on a great note in Bangalore, India and winding up in Ecuador, teaching,consulting, building cool applications; always spreading graph love.Here are some of the highlights of 2017.Neo4j loveGraphAware continued to be a premier Neo4j Solutions Partner, closing license sales around the world, conducting Neo4j trainings, providing support to Neo4j customers and being an instrumental part of the Neo4j community and ecosystem.Frantisek and Nicolas, core committers to Neo4j OGM and Spring Data Neo4j, made huge improvements to both projects, resulting in a major milestone, Spring...

GraphAware at GraphConnect San Francisco 2016

25 Nov 2016 by Miro Marchi Neo4j Conference GraphAware

Last month, the 5th edition of GraphConnect San Francisco took place at the Hyatt Regency SF. It was the biggest graph technology event ever and GraphAware proudly contributed as a sponsor, with one main talk, two lightning talks and our GraphHero stand 。^‿^。 This edition’s big announcement was the upcoming new landmark release of Neo4j 3.1, “The database for the connected enterprise”, which introduces a new state-of-the-art clustering architecture and new security architecture to meet enterprise requirements for scale and security. There will be a lot to say about this release, but you can already try the beta release as...

Mining and Searching Text with Graph Databases

07 Jul 2016 by Alessandro Negro Neo4j GraphAware Enterprise NLP Search Advanced

A great part of the world’s knowledge is stored using text in natural language, but using it in an effective way isstill a major challenge. Natural Language Processing (NLP) techniques provide the basis for harnessing this huge amountof data and converting it into a useful source of knowledge for further processing.IntroductionNLP is used in a wide variety of disciplines to solve many different types of problems. Analysis is performed on textfrom different sources, such as blogs, tweets, and various social media, with size ranging from a few words to multiple documents.Machine learning and text analysis are frequently used to enhance...

Securing Neo4j with GraphAware Enterprise

29 Mar 2016 by Michal Bachman Neo4j GraphAware Intermediate Security Enterprise

For most organisations, data security is extremely important. The topic comes up every single time we are training, consulting,or otherwise engaging in the world of graphs and Neo4j. At the same time, security is very difficult and time-consuming to get rightand the implications of getting it wrong can be serious. In this blog post, we introduce the integration of Spring Securityinto Neo4j which provides important security controls and mechanisms for enterprises and governments that make use of theworld’s most popular graph database.Security in Neo4jNeo4j comes with certain security mechanisms out of the box. These include HTTPS support,single-user authentication with all-or-nothing...

Expiring Data in Neo4j

15 Mar 2016 by Michal Bachman Neo4j GraphAware Intermediate

At GraphAware, we help organisations in a wide range of verticals solve problems with graphs.Once we come across a requirement or use case two or three different times, we typically create an open-source Neo4j extensionthat addresses it. The latest addition to our product portfolio, introduced in this post, is a simple library that automaticallyexpires data from the Neo4j graph database.GraphAware FrameworkOpen-sourcing useful extensions helps us deliver solutions faster, lets people who prefer a DIY approach be more productive, andgives us valuable community feedback. That’s how our most popular products, such as the GraphAware Recommendation Engine,TimeTree, UUID, and others were born.They...

GraphConnect Europe 2015

05 May 2015 by Michal Bachman GraphAware Neo4j Conference

GraphAware is very proud to sponsor GraphConnect Europe 2015, the only conference thatfocuses on the rapidly growing world of graph databases and applications that make sense of connected data. The conferencetakes place in London on 7th May 2015.Throughout the week, London turns into the world’s capital of graphs. We are extremely excited to welcome our Bruges,Prague, and Mumbai based colleagues in our London headquarters. We are very much looking forward to meeting our friendsfrom Neo Technology from UK, Sweden, USA, and the rest of the world, as well as other valued members of the worldwidegraph community.As an important member of...

GraphAware Announces GA-Glass

01 Apr 2015 by Luanne Misquitta GraphAware

Graph Aware Ltd. is excited to announce their new partnership with Glasses Inc. Managing Director Michal Bachman claimsthat wearers of GA-Glass become truly graph aware, allowing them to boldly go where no Glass has traversed before.Powered by the GraphAware Framework and GraphAware Recommendation Engine, GA-Glass crawls the World Wide Graph to surfacethings most relevant to you, presented in a highly immersive visualization rendered by Q-Viz, a technology developed by innovative GraphAware engineers.To enter graph aware mode, all you have to do is say “ok graph”. GA-Glass is intelligent enough to not require furthervoice commands but assesses it’s surroundings to provide...

Neo Technology Selects GraphAware as One of Its First UK Solution Partners

10 Nov 2014 by Press Release Neo4j GraphAware

Specialist in Neo4j consultancy, training, and software development, Graph Aware Ltd has been selected as one of NeoTechnology’s first UK solution partners, under its newly launched partnership program.Neo Technology is the creator of the world’s most popular graph database, Neo4j, and has selected GraphAware to provideits customers with support from introduction through to full integration of Neo4j, into their enterprise architecture andapplications. In addition, GraphAware is now authorised to offer Neo4j subscriptions directly to customers.With access to GraphAware’s Neo4j experts throughout the implementation and integration process, customers are muchbetter positioned to fully utilise all the business and technical benefits of...

GraphAware Neo4j ChangeFeed

27 Aug 2014 by Luanne Misquitta Neo4j GraphAware Beginner

In this post, we’d like to introduce the first version of the GraphAware Neo4j ChangeFeed - a GraphAware Runtime Modulethat keeps track of changes made to the graph.GraphAware ChangeFeed ModuleEvery time a transaction commits successfully, all changes made to the graph as a result of the transaction are recordedas a change set. A change includes additions, modifications and deletions of nodes, relationships, labels, and properties.Each change set has a UUID, a set of changes that occurred in the same transaction, and a timestamp which is allocatedat the time the transaction starts committing.The module can be configured to limit the total...

GraphAware Neo4j TimeTree

20 Aug 2014 by Luanne Misquitta, Michal Bachman Neo4j GraphAware Intermediate

Modelling and querying time-based events in a graph is a fairly common discussion topic and a frequently asked questionon Q/A sites. In this blog post, we evaluate some of the common approaches and introduce GraphAware TimeTree, a GraphAware Framework Module that simplifies modelling time and events in Neo4j.Naive ApproachNeo4j has no notion of a Date/Time data type, so you have to decide to store the timestamp either as a long, or asa human-readable String, for instance formatted as ‘YYYY-MM-DD HH:mm:ss’. Unless the time is only for human eyes, though,we recommend opting for the machine readable (long) approach. It is simply...

Random Graph Models (Part II)

06 Aug 2014 by Vojtěch Havlíček Neo4j GraphAware Intermediate

In the first part of this short series aboutrandom graph models, we talked about why they are useful and had a brief look at two of them: Erdos-Renyi graphs andBarabasi-Albert model. In this post, we take a look at the “small world” phenomenon and another network model, namelythe Watts-Strogatz model.Small WorldThere is an important property of random networks which we did not write about in the last blog post: the way thenode separation scales with network size. Both Erdos-Renyi and Barabasi-Albert networks are “small world” models, meaningthat the characteristic node separation scales logarithmically with number of nodes present in the...

Node Degrees in Neo4j 2.1

23 Jul 2014 by Michal Bachman Neo4j GraphAware Beginner

Efficient counting of relationships in Neo4j was the cornerstone of my Master Thesisand the reason the very first GraphAware Frameworkmodule called the Relationship Count Module was born. The improvements in Neo4j 2.1around dense nodes and the addition of getDegree(…) methods on the Node interface made me eager to do some benchmarking around relationship counts again.The improvements in Neo4j 2.1, indeed, make the RelCount module slightly less useful. We’ve decided, however, not to makeit obsolete, since it is a useful reference implementation of a GraphAware Framework Transaction-Driven Runtime Module.Instead, we ported the module to Neo4j 2.1 and reused all the performance...

Random Graph Models (Part I)

16 Jul 2014 by Vojtěch Havlíček Neo4j GraphAware Intermediate

When one obtains a graph data from a measurement on a real world network, it is sometimes useful to make comparison witha random graph. Such graph is characterised by certain degree distribution, which you can imagine to be a list of degreesof nodes present in the network. The most interesting distributions have certain functional dependence which allowsone to infer what processes are dominant in formation of the network. The processes consequently characterise therelationships between the nodes.Why would one care about such analysis?Imagine a group of customers that you want to target efficiently in a certain fashion. Say, for instance, that...

Neo4j Improved Transaction Event API

11 Jul 2014 by Michal Bachman Neo4j Transactions GraphAware Advanced

One of the main goals of the GraphAware Framework is to simplify andspeed up development with Neo4j. Although it is called a “framework” for reasons explained elsewhere, today we willsimply treat it as a library of useful, tested, and documented Java code. The feature we will introduce is calledImproved Transaction Event API, which is exactly what it says on the tin.MotivationNeo4j requires every mutating operation on the graph to be run in a transaction, which is great, because it keeps yourdata safe. Every operation is atomic, consistent, isolated, and durable. As a bonus, Neo4j gives you the opportunity toreact to...

Neo4j Server Unit Testing with RestTest

19 Jun 2014 by Luanne Misquitta Neo4j GraphAware Intermediate GraphUnit Testing

A couple of days ago, I wrote about unit testing with GraphUnit.GraphUnit tested the state of an embedded Neo4j database. What if you run Neo4j in standalone server mode?Fortunately, you can still test it and match subgraphs using the GraphAware Neo4j RestTest library.SetupGrab the GraphAware Neo4j Framework and GraphAware Neo4j RestTest jars from the Downloads page. Drop them into the plugins directory of your Neo4j installation and restart the server to be able to use the API’s.How to use itAll you have to do is POST your cypher to http://your-server-address:7474/graphaware/resttest/assertSameGraph orhttp://your-server-address:7474/graphaware/resttest/assertSubgraph to verify the state of your graph.Emptying the database...

Neo4j Unit Testing with GraphUnit

16 Jun 2014 by Luanne Misquitta Neo4j GraphAware Intermediate GraphUnit Testing

Testing the state of an Embedded Neo4j database is now much easier if you use GraphUnit, a component of the GraphAware Neo4j Framework.I tried replacing an existing Flavorwocky unit test with GraphUnit to check out the benefits.Let’s walk through a before-after case study.The testThe unit test in question is the one to test that a Pairing is saved correctly. A pairing must have exactly two ingredients. Each Ingredient node has a name; a Pairing has an affinity and an array of allAffinities (all affinities ever assigned to the pairing).BeforePseudocode to test that my code saved a pairing correctly in Neo4j:...

Happy Birthday GraphAware

03 Jun 2014 by Michal Bachman Neo4j GraphAware

Today, it is exactly one year ago since Graph Aware Limited was incorporated. It started as a one man show, whilst I was finishing my MSc. Thesis at Imperial College London. Since then, we’ve been growing slowly but steadily and will be moving to our new London office fairly soon (announcements to come). We have happy clients in London, New York, Copenhagen, Barcelona, Prague, and Accra.I would like to take this opportunity to thank everyone who’s made it possible for us to help people discover the beauty of graphs, run a business, and have a lot of fun, all at...

GraphUnit: Testing Neo4j Code

29 May 2014 by Michal Bachman Neo4j GraphAware Intermediate GraphUnit Testing

Recently, we announced the GraphAware Framework. Today, I would like to introduce its first feature called GraphUnit. GraphUnit is a component that helps Java developers unit test their code that talks to Neo4j and mutates data.Unit Testing Neo4j CodeWhen writing Java code that modifies data stored in Neo4j, developers can use the ImpermanentGraphDatabase in conjunction with any of APIs provided by Neo4jto test that code. This includes the native Java API, the traversal framework, and Cypher.(I’ve excluded the REST API because using that to unit test Java code wouldn’t make much sense.)Let’s say we’re testing code that creates two nodes...

Introducing GraphAware Neo4j Framework

28 May 2014 by Michal Bachman Neo4j GraphAware Intermediate

In this short blog post, I would like to introduce the GraphAware Neo4j Framework.Its goal is very ambitious: we’d like to make it as useful for Neo4j developers, as the Spring Framework is for Java developers. The Framework aims at speeding up development with Neo4j by providing a platform for building useful generic aswell as domain-specific functionality, analytical capabilities, graph algorithms, and more.Features OverviewOn a high level, there are two key pieces of functionality, GraphAware Server and GraphAware Runtime. GraphAwareServer is a Neo4j server extension that allows developers to build (REST) APIs on top of Neo4j using Spring MVC, ratherthan...