Loading…
GraphConnect 2020 has ended

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Practitioner Deep Dive [clear filter]
Tuesday, April 21
 

11:00am EDT

GRANDstack is not your Gran's stack: The Evolution Of Modern Web Development
A look at how modern web development has evolved from the LAMP stack to GRANDstack and how developers can take advantage of these modern tools to be extremely productive building data-intensive fullstack applcations. "GRANDstack is a full-stack framework for building applications with GraphQL, React, Apollo, and Neo4j Database. Learn why GraphQL has been quickly gaining adoption and why representing data as a graph is a win when building your API - both for API developers and consumers, and especially if you are working with graph data in the data layer, such as with a graph database like Neo4j.

In this talk we will cover some of the advantages of GraphQL over REST, as well as challenges with adopting GraphQL. We also dive into backend considerations for GraphQL and show how to leverage the power of representing your API data with graph using GraphQL and graph databases on the backend.

After this talk you will:

* Understand the basics of GraphQL

* Be able to query a GraphQL API

* Understand how a GraphQL service is built

* Be exposed to some of the tooling in the GraphQL ecosystem, including database and frontend framework integrations

How to build full-stack applications with GRANDstack

Speakers
avatar for Will Lyon

Will Lyon

Developer Relations Engineer, Neo4j
William Lyon is a software engineer at Neo4j, the open-source graph database, where he works on building integrations and helping developers build applications with graphs.


Tuesday April 21, 2020 11:00am - 11:40am EDT
Room 2

1:30pm EDT

Anomalies, inconsistencies and fraudulent behaviour: Data mining with Neo4j and GRANDstack
The Neo4j ecosystem made graph data mainstream. Developers and business users alike can now easily structure their data in a way that matches the real-world.

This real-world view is especially useful for detecting fraud: who is involved, where and when does it take place, what assets do they hold, and - most importantly - how are each of these details connected.

Wikipedia’s community-based approach to editing makes it prone to many types of fraud, including artificial bot activities, brigading, digital vandalism and collusive behaviors. By examining controversial and topical Wikipedia articles together with their rich edit history, Christian demonstrates how using GRANDstack tooling the smart way can enable the detection of suspect patterns of behavior.

GRANDstack gives developers the premium tools they need to build consistent, extensible applications for trend and pattern analysis. Christian guides you through the steps needed to implement an end-to-end anomaly detection platform, explaining why each technology in the modern GRANDstack approach is the right choice. He’ll include:
  • streaming techniques for ingesting large volume data
  • core graph modeling in Neo4j
  • GraphQL querying to reveal complex interaction behaviors
  • visualizing and actioning suspicious networks in a React front-end
Christian has extensive Neo4j Graph platform experience. He’s worked with Fortune 500 companies building graph analytics applications and bringing them to production successfully.

Speakers
avatar for Christian Miles

Christian Miles

Technical Lead, Cambridge Intelligence
Since completing his Masters in Maths & Computer Science at Bristol University in the UK, Christian has specialized in graph analytics software for global enterprise deployments. In his roles at BAE Systems and the Wynyard Group, Christian’s focus has been applying graph network... Read More →


Tuesday April 21, 2020 1:30pm - 1:45pm EDT
Room 6

1:30pm EDT

Databases on Kubernetes Using a Custom Operator: Day 1, Day 2, and Beyond
We started the journey of building a managed cloud version of the graph database Neo4j. A bit later we started developing an operator to manage multiple database clusters in k8s.

Handling persistence and Neo4j's own distributed consensus algorithm within k8s gave us a challenge. In this session we want to share the lessons we learned writing this operator and using it in production.

We will start with how to get started using the k8s controller tooling to create an operator to manage a CRD. We go beyond the ""day 1"" tasks of creating and deleting databases and discuss how we meet ""day 2"" concerns such as:

- Unit testing our operator using k8s fakes.

- Continuously deploying an operator into a GKE cluster.

- Automatic rolling updates of Neo4j databases with zero downtime and fault tolerance.

- Database administration (backup, restore, password resets etc.) via an operator.

Speakers
avatar for Jacob Davis-Hansson

Jacob Davis-Hansson

Engineer, Cloud, Neo4j
I do engineering at Neo. Over the years I've had my hands on most parts of the code base; everywhere from kernel code, procedures, cypher and Bolt to HA Paxos code and RAFT. Right now I write Kubernetes operators for Neo4j Cloud.


Tuesday April 21, 2020 1:30pm - 2:10pm EDT
Room 4

1:30pm EDT

1:50pm EDT

Simplify Your Backend! From RestAPI to GRANDstack: The Case of TypeScript and Flutter
You’ve heard of all the great things about GRANDstack? Excellent! Convinced you want to try it but you already have a tech stack?
We have a story of our own migration from REST API to GraphQL with GRANDstack.
Twindly is a mobile app for organizing your beauty products and giving automated recommendations for sustainable beauty products. Our API server was implemented with Nest.js, a Node.js framework with TypeScript support. Nest.js supports GraphQL with a wrapped Apollo server underneath thus allowing us to switch from REST API to GraphQL by using neo4j-graphql.js. We use Neo4J Aura as our main database.
We will show how we ended up with less code on our backend and how our mobile app, developed with Flutter, can connect to it.

Speakers
avatar for I. Abiyasa Suhardi

I. Abiyasa Suhardi

Co-Founder, Twindly
I. Abiyasa Suhardi is a full-stack software engineer who loves to experiment and play around with various tech stacks. Currently an expert in JavaScript and web technologies (amongst other things), working at eBay as a Frontend engineer focusing on NodeJS, UI components development... Read More →
avatar for Astrid Mochtarram

Astrid Mochtarram

CEO, Twindly
Astrid Mochtarram is a geek, an engineer, a designer, a writer and an entrepreneur.A little crazy and working on too many projects at times, she is most passionately working for her tech startup twindly, which focuses on beauty and sustainability.She is Indonesian and currently calling... Read More →


Tuesday April 21, 2020 1:50pm - 2:05pm EDT
Room 6

2:15pm EDT

Cypher is Everywhere: Even up in your GraphQL - with the help of the GRANDstack
Have you ever wondered if there was an easy way to make your Neo4j data accessible for web applications? With the GRANDstack not only are you completely harnessing the power of Neo4j and GraphQL, you’re able to make the most of the data with custom fields and types with the @Cypher directive and the being able to create custom queries and mutations using both Cypher and APOC procedures. I’ll show how using the full capabilities of Cypher can make your application and data clean and accessible.

Speakers
avatar for Michael Porter

Michael Porter

Founder, Muddy Boots Code
I’m a former Marine, world traveler and self taught coder. One day while working in the oil fields of West Texas I picked up “How To Automate the Boring Things With Python,” did exactly that and have never stopped coding since. I started my own business, live and work remotely... Read More →


Tuesday April 21, 2020 2:15pm - 2:30pm EDT
Room 6

2:15pm EDT

Contrasting Neo4j vs RDBMS, a Performance Deep Dive
If you came to Neo4j from the RDBMS world, you've likely noticed that conventions around queries is dramatically different between them. Not just in syntax, but in structure. For example, a SQL query with 7 JOINs in it will likely terrify a DBA, but connecting that many different entity types is commonplace in Cypher.During this talk, we'll explore how Neo4j and PostgreSQL store data on disk and send it over the wire, and use that insight to analyze the performance profiles of both databases in various query scenarios.
This presentation contains pretty advanced topics, as we'll be examining logistics of data at rest and in motion, but I will endeavor to present these topics in a way that will be easier to understand for beginner-level data engineers and intermediate-level solution engineers.The RDBMS implementation we will be discussing is PostgreSQL. It's not THE most popular RDBMS but it's the one I have the most intimate knowledge of, it's common enough that the audience is likely to have worked with it, and other implementations such as MySQL are close enough in their performance profiles (since SQL is prescriptive enough to coerce implementations into similar structures) that most RDBMS details mentioned in the talk are usable as at least a foundation for evaluating performance.

Speakers
JG

Jamie Gaskins

Jamie Gaskins is a software architect at Snapdocs, Inc. where he uses his distributed-systems expertise to bring the real estate industry into the 21st century. Jamie is a Neo4j Certified Professional and the creator and maintainer of the Crystal language Neo4j driver.


Tuesday April 21, 2020 2:15pm - 2:55pm EDT
Room 4

3:50pm EDT

Writing Neo4j procedures in Kotlin
At the Port of Rotterdam we love to use cool technologies, like Neo4J and Kotlin. When we started to hit the limits of (our understanding of) Cypher we decided to run our algorithm directly on Neo4j using a user-defined procedure. But while all our software is written in Kotlin, the documentation only mentioned Java and on Google we only found some small examples. Our algorithm had to run in production within 2 months.
Within 15 minutes we’ll share our experiences, tips & tricks on writing performing and stable user-defined procedures in Kotlin.

Speakers
avatar for Riccardo Lippolis

Riccardo Lippolis

Software Engineer, Port of Rotterdam
An inquiring and experienced Java/Kotlin Software Engineer with a passion for solving complex problems. He works for JDriven (currently at the Port of Rotterdam), where he shares his passion and drive with other enthusiasts. He has spoken at several international conferences, including... Read More →
avatar for Jorrit van der Ven

Jorrit van der Ven

Port of Rotterdam
Jorrit is a Kotlin/Java developer working at JDriven in the Netherlands. He loves to learn about new technologies and to share his knowledge with others. In his spare time he likes to make his house a bit smarter using wires, chips and a soldering iron. He has spoken at several international... Read More →


Tuesday April 21, 2020 3:50pm - 4:05pm EDT
Room 6
 
Wednesday, April 22
 

11:00am EDT

Neo4j worst practices, welcome to the dark side RELOADED
5 years ago I gave a talk "Neo4j worst practices - welcome to the dark side" at GraphConnect 2015. This "RELOADED" sequel touches common gotchas a graphista will discover sooner or later during her journey throught the graph space. "Graphdatabases and esp Neo4j are a super exciting technology enabling us to solve certain problem orders of magnitudes faster and cheaper compared to other persistence technologies. As with every new technology there is a learning phase in the beginning. Typically the learning curve with Neo4j is rather steep, productive code can be written after just a couple of days. Nevertheless you will fall in one or the other trap sooner or later. May it be data modelling, testing, configuration or tuning - all of them keep some surprises for the graph database rookie.



This talk will show ways to make sure to fall in all of these traps. The presentation of anti patterns is supposed to be informative but also humorous - maybe sometimes slightly sarcastic. This session will be rounded up by some andecdotes for customer projects and the open source community of Neo4j which I'm in close touch with for the last 8 years as field engineer with Neo Technology.



See https://neo4j.com/blog/dark-side-neo4j-worst-practices/ for a write up and recording of the original episode of this talk."

Speakers
avatar for Stefan Armbruster

Stefan Armbruster

Field Engineer, Neo4j
Stefan has worked for 8+ years for Neo4j as field engineer and helps customers to bring and keep their graph db project on track. After finishing a diploma in physics he has spent ~15 years as a freelance consultant. Aside from coding in the java ecosystem he is a passionate Linux... Read More →


Wednesday April 22, 2020 11:00am - 11:40am EDT
Room 2

11:45am EDT

It Depends (and why it's the most frequent answer to modelling questions)
The answer to most general purpose graph modelling questions is “it depends”. This talk demonstrates the pitfalls of modelling without knowing use cases- it shows how two sets of people can produce two different models for the same set of data elements, and how use cases should guide the model.

Speakers
avatar for Luanne Misquitta

Luanne Misquitta

VP Engineering, GraphAware
Luanne Misquitta is VP of Engineering at GraphAware, and has been working with Neo4j for 10+ years. She was a core committer to Neo4j OGM and SDN 4, has spoken at GraphConnect in both Europe and the US.


Wednesday April 22, 2020 11:45am - 12:00pm EDT
Room 6

11:45am EDT

Bruce Wayne to Batman: Migrating a Non-Reactive Spring App to Reactive
Adapting an application may feel more like fighting a villain and less like a costume change. In this session, see the process live to migrate a Spring Data Neo4j application to reactive with the new Spring Data Neo4j Reactive capabilities. See how the migration works and avoid the pitfalls! "Taking a working application to the next level by adopting a newer process may often feel more like fighting a villain and less like a quick costume change. Many developers have to migrate applications on their own with little documentation or assistance through the process.

In this session, see the process live as the presenter walks through migrating a Spring Data Neo4j application to a reactive application with the new Spring Data Neo4j Reactive capabilities. We will see how the migration works, as well as understand pitfalls and how to navigate them along the way.

Come to this session to go from a billionaire application to a superhero application through the conversion!

Speakers
avatar for Jennifer Reif

Jennifer Reif

Developer Relations Engineer, Neo4j
Jennifer Reif is an avid developer and problem-solver. She holds a Master’s degree in Computer Management and Information Systems and has worked with large enterprises to organize and make sense of widespread data assets and leverage them for maximum business value. She has... Read More →


Wednesday April 22, 2020 11:45am - 12:25pm EDT
Room 1

12:05pm EDT

RDBMS to Neo4j: Tips & Tricks
Excited about Neo4j? The first step is migrating your data from an RDBMS like Postgres 🐘 or MySQL 🐬 to Neo4j. This talk covers tips and tricks surrounding performance optimizations, indexes, data transformations, and other first principles when migrating your data.

Speakers
avatar for Mike Blum

Mike Blum

Software Engineer, Logicgate
Software engineer at LogicGate in Chicago tasked with our Neo4j infrastructure. We use graphs to build a platform for customers creating custom compliance and audit workflows.


Wednesday April 22, 2020 12:05pm - 12:20pm EDT
Room 6

1:30pm EDT

Building Geospatial Algorithms and Apps using Neo4j
Graphs and Geospatial are natural partners, but Neo4j has native support for only the simplest spatial type, the Point. Is this a problem? What if you want to write apps that perform more complex spatial searches using spatial algorithms on polygons and multi-polygons? This talk will show you how. Graphs and Geospatial are natural partners. And yet, Neo4j has native support for only the simplest spatial type, the Point. Is this a problem? What if you want to perform more complex spatial searches, spatial modelling or spatial algorithms using complex types like polygons and multi-polygons? At graphconnect 2018 we showed you how to write a web app that demonstrated route finding using A-Star and spatial search using a point-in-polygon algorithm. This talk will take that further, showing you how to write your own spatial algorithms for more complex analyses and how to integrate them into a web-app through user-defined functions accessible with Cypher queries. To demonstrate this we will use a new library we've been working on to prototype complex spatial algorithms and complex spatial datatypes within Neo4j.

Speakers
avatar for Craig Taverner

Craig Taverner

Team Lead, Cypher, Neo4j
Craig is the team lead for Neo4j Cypher and product lead for Spatial. He has been using Neo4j since 2009, first as a customer building mobile telecommunications analysis tools, and as a community member creating the 'Neo4j Spatial' GIS modelling library. Then in 2014, he joined the... Read More →


Wednesday April 22, 2020 1:30pm - 2:10pm EDT
Room 1

2:15pm EDT

Graphing Geodata
You love graphs and would like to switch to a graph database like Neo4j but you are hesitating because your business rely on geodata and you want to make sure you will be able to handle those cases in Neo4j? This talk is for you! We will cover some available tools and migration examples.

Speakers

Wednesday April 22, 2020 2:15pm - 2:30pm EDT
Room 6

2:15pm EDT

3:30pm EDT

Building a Polyglot Streaming Architecture with Neo4j, Apache Kafka, and Elastic
Integrating Apache Kafka with other systems in a reliable and scalable way is often a key part of an event streaming platform. We will show how to build a Polyglot Streaming architecture with Neo4j and Elasticsearch (a Search Engine) by using the Apache Kafka and leveraging the Neo4j Streams Project    

Integrating Apache Kafka with other systems in a reliable and scalable way is often a key part of an event streaming platform. Fortunately, Apache Kafka includes the Connect API that enables streaming integration both in and out of Kafka. Like any technology, understanding its architecture and deployment patterns is key to successful use, as is knowing where to go looking when things aren't working. In this context, we will introduce the Neo4j Streams project that enables Kafka Streams on Neo4j and we'll build a Streaming Poligot architecture composed by Neo4j and Elasticsearch (a Search Engine) by using the Kafka Connect platform.

Wednesday April 22, 2020 3:30pm - 4:10pm EDT
Room 1