<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Michael Simons on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/michael-simons/</link><description>Articles written by Michael Simons on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 17 Aug 2022 11:05:05 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/michael-simons/index.xml" rel="self" type="application/rss+xml"/><item><title>Faster Integration Tests with Reusable Testcontainers</title><link>https://foojayio.github.io/website/today/faster-integration-tests-with-reusable-testcontainers/</link><pubDate>Wed, 17 Aug 2022 11:05:05 +0000</pubDate><guid>https://foojayio.github.io/website/today/faster-integration-tests-with-reusable-testcontainers/</guid><description>&lt;p&gt;In my job, I often need integration tests against a &lt;a href="https://neo4j.com" target="_blank" rel="noopener noreferrer"&gt;Neo4j&lt;/a&gt;
 database. My software is written in Java, and so is Neo4j. Neo4j is embeddable, too. So, in theory, I could just depend on the embedded version, open a connection, test my stuff and call it a day. It would not be a different engine, it would be - at least from a query-engine and planer perspective - the same thing, in contrast to using an embedded SQL database as a drop-in for PostgresQL for example.&lt;/p&gt;</description></item><item><title>Native GraphQL API with Neo4j AuraDB on Heroku</title><link>https://foojayio.github.io/website/today/native-graphql-api-with-neo4j-auradb-on-heroku/</link><pubDate>Mon, 08 Aug 2022 07:29:38 +0000</pubDate><guid>https://foojayio.github.io/website/today/native-graphql-api-with-neo4j-auradb-on-heroku/</guid><description>&lt;p&gt;In my first article on Foojay, I would like to present one of many possible approaches to create a GraphQL API. I work at &lt;a href="https://neo4j.com/" target="_blank" rel="noopener noreferrer"&gt;Neo4j&lt;/a&gt;
, so it should not be a big suprise that I will use the Graph database with the same name as a backend for the application.&lt;/p&gt;
&lt;p&gt;In this post I will cover a couple of things and I&amp;rsquo;ll start with a simple use case. Conceptually we will look at the &amp;ldquo;Schema-First&amp;rdquo; vs &amp;ldquo;Object-First&amp;rdquo; discussions and why - at least in my opinion - GraphQL can be seen much more like an object mapping concept than a query language itself. You will learn that while Neo4j is a Graph database, it does not have a built-in GraphQL layer. It does however a great query language called &lt;a href="https://neo4j.com/docs/cypher-manual/current/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Cypher&amp;rdquo;&lt;/a&gt;
.&lt;/p&gt;</description></item></channel></rss>