GraphAware Blog

Find out what's new in the Neo4j world

Cypher: Using Index Hints

19 Aug 2019 by Luanne Misquitta Neo4j Cypher Intermediate

The Cypher query planner is quite advanced and mature, and you can mostly rely on it to pick the best plan for your query. However, there are rare cases, or bugs, that might want you looking for ways to influence that plan. This article demonstrates practical usage of an index hint. Note that all queries were tested against Neo4j Enterprise 3.5.8The graph modelThis is the relevant portion of the graph model that is sufficient to demonstrate the issue.Simple enough- we have many tweets, and tweets have keywords.Our graph has two indexes, one on the value of the Keyword, and the...

Build your first Neo4j Desktop Graph App in vanilla Javascript

25 Jul 2019 by Aldrin Misquitta Neo4j Web Apps Beginner Graph Apps

Build your first Neo4j Desktop Graph App in vanilla Javascript

Neo4j Desktop, part of the Neo4j Graph Platform, is a client application that installs on your desktop OS. It lets you get started quickly by downloading and installing the enterprise edition, and supported plugins. You can group related graphs and applications under a Project. You can also build single-page web applications that run within Neo4j Desktop and have access to these services provided by Neo4j Desktop. There are a number of apps available at https://install.graphapp.io/In this blog post, we will build a very simple graph app using vanilla javascript.All code in this blog post is available at https://github.com/aldrinm/simple-graph-app and https://github.com/aldrinm/simple-graph-app-npmHello,...

GraphAware Announces Hume Platform R&D Center

23 Jul 2019 by Kyle McNamara

BOSTON, July 23, 2019 /PRNewswire/ – GraphAware, a leading Neo4j ISV and consulting practice, today announced the official launch of its Italian Research and Development entity Graph Aware S.r.l., headquartered in Lecce, Italy.This strategic investment by GraphAware represents a significant expansion as an ISV, with a fast growing development team of thought-leaders in GraphDBs with Neo4j, Natural Language Processing (NLP), Machine Learning (ML) and Artificial Intelligence (AI).Led by Chief Scientist Alessandro Negro and CTO Christophe Willemsen,the Lecce R&D center is the main lab and development center for GraphAware’s flagship software platform Hume- with a dedicated local and remote development team...

Graphs as Lateral Thinking for ITOps

16 Jul 2019 by Isaac Rosado Neo4j Knowledge Graph ETL DevOps ITSM ITOps ITIL

Graphs as Lateral Thinking for ITOps

“Lateral thinking” was a big topic back in 2004 when I was in the Network Operations Center (NOC) business; one definition is: “(lateral thinking) is the solving of problems by an indirect and creative approach, typically through viewing the issue in a new and unusual light.”If it works, don’t touch itBut the world of NOC operations, and generally IT Operations was anything but creative, not because we didn’t appreciate innovation per se, but because we valued reliability, consistency an uptime above all things, and those outcomes are the result of a long tradition in IT of approaching change, the natural...

Monitoring Neo4j and Procedures with Prometheus and Grafana - Part 2

14 Jun 2019 by Miro Marchi Neo4j Monitoring Causal Cluster

Monitoring Neo4j and Procedures with Prometheus and Grafana - Part 2

This is the second of a two post series on monitoring the Neo4j graph database with popular enterprise solutions such as Prometheus and Grafana. Monitoring the status and performance of connected data processes is a crucial aspect of deploying graph based applications. In Part 1 we have seen how to expose the graph database internals and custom metrics to Prometheus, where they are stored as multi-dimensional time series.It is now time to query those metrics and render results in a beautiful, integrated Grafana dashboard. This will help you establish 24/7 monitoring and alerting of your Neo4j setup so that you...

Avoid cycles in Cypher queries

26 Apr 2019 by Jan Zak Neo4j Beginner Cypher

Avoid cycles in Cypher queries

There is one common performance issue our clients run into when trying their first Cypher queries on a dataset in Neo4j. When writing a query, be sure that it doesn’t match any cycles, or you can experience unpleasant surprises.Assume the following sample graph and simple query:CREATE (a:Node {name: "A"}), (b:Node {name: "B"}), (c:Node {name: "C"}), (a)-[:TO {name: "1"}]->(b), (a)-[:TO {name: "2"}]->(b), (a)-[:TO {name: "3"}]->(b), (b)-[:TO {name: "4"}]->(c)MATCH p=({name: "A"})-[*..10]-({name: "C"}) RETURN pThe query returns 9 paths, instead of 3 as you might have guessed! The additional 6 paths have length 4 with node pattern A-B-A-B-C, note the repeated nodes A...

Graph-assisted Typescript refactoring

09 Mar 2019 by Roberto Previdi Neo4j Refactoring Typescript Development Community Detection Object Oriented

Graph-assisted Typescript refactoring

When developing web applications with frameworks like Vue.js the best approach is to subdivide it into well-defined and reusable components for the user interface, with the business logic being encapsulated in ‘services’.In an ideal world every new feature added should follow this approach and all components and services should remain at a reasonable size, so that you can quickly glance at each file and understand what it does.The problemThe reality is usually much less ideal: good principles are followed rigorously when the project is young, but as new features, bug fixes and different developers accumulate, components and services can become...

Lean Dependencies- Reduce Project Delivery Chaos with Graphs

20 Feb 2019 by Luanne Misquitta Neo4j Beginner

Lean Dependencies- Reduce Project Delivery Chaos with Graphs

Dependencies, like graphs, are everywhere. Achieving a goal is rarely possible in a vacuum and requires collaboration between individuals and/or processes.Eliminating dependencies completely is unrealistic- they are a part of life- but they can be streamlined to improve efficiency and reduce friction.In this blog post, we use the example of software projects, but dependency management can very well be applied to many verticals such as supply chains, business processes, inventory management and government processes and workflow.Quite a few organizations struggle as the time draws close to releasing or delivering a version of their software projects.For many, it is a time...

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.