{"id":418,"date":"2018-12-31T00:00:38","date_gmt":"2018-12-30T23:00:38","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/"},"modified":"2023-05-30T16:13:57","modified_gmt":"2023-05-30T14:13:57","slug":"interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/","title":{"rendered":"How to use GraphQL with a graph database and why the two complement each other"},"content":{"rendered":"\n<p><strong>Hello Marco, first of all could you tell us a <span id=\"urn:batch-analysis-3c23f2b7-9aa9-41af-941e-be3f2fc8ab73\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/bit\">bit<\/span> about yourself and what you do for a living? Which <span id=\"urn:batch-analysis-63f393fa-4ce5-4ed6-ae65-18dfb10181a5\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/community\">community<\/span> are you a member of?<\/strong><\/p>\n\n\n\n<p>My name is Marco Liberati and I&#8217;m a member of two AperiTech communities: one is RomaJS, the other one is Rust Roma, recently founded by me and two other guys, with the aim of spreading <span id=\"urn:batch-analysis-acd0ae8f-9701-4df9-8f65-0097323c2a0b\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/knowledge\">knowledge<\/span> about connected <span id=\"urn:batch-analysis-bddd088f-5286-44de-8716-93ff84a41b0b\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span> in the <span id=\"urn:batch-analysis-9e00d791-4cb3-4a60-a251-003997f19c2c\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/rome\">Rome<\/span> area. In RomaJS, on the other hand, I became part of something that already existed; I try to help as much as possible by giving talks or finding speakers. I deal with <span id=\"urn:batch-analysis-cca23b1c-e3da-49ae-b412-22a6a2b2240a\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/web_development\">web development<\/span>, in particular front-end.<\/p>\n\n\n\n<p>I specialise in &#8220;data visualisation&#8221;, taking <span id=\"urn:batch-analysis-0fa419d5-0c91-49b6-90f7-64c8edab1b4d\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span> and making it usable in a visual way for the people who have to work with it. Both the analyst and end user. I did this abroad for many years, and on returning to <span id=\"urn:batch-analysis-95af0925-600f-4f1b-9ff7-d138c164bd2c\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/italy\">Italy<\/span> I wanted to bring all this to <span id=\"urn:batch-analysis-4d259713-1459-40da-a736-fc87080a993c\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/rome\">Rome<\/span> too. I also attend other meetups such as <span id=\"urn:batch-analysis-d41db834-41c4-435b-b900-6cde3f07dbba\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/machine_learning\">Machine Learning<\/span> meetups. They already existed and I decided to participate, but only as an attendee.<\/p>\n\n\n\n<p><strong>What do you do in your free time? Do you spend it on <span id=\"urn:batch-analysis-a3f4eea0-042c-4e19-925a-5636a3b70e98\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/minification_programming\">programming<\/span> as well?<\/strong><\/p>\n\n\n\n<p>I really like the discourse of artistic design, so I like reading design manuals, or reading how to express concepts in a visual way, and I love the field of Data Journalism; I really like reading articles on this topic. I can&#8217;t name any specific passion, sport, etc&#8230; I do a little <span id=\"urn:batch-analysis-5e5564fa-5806-4799-a303-b67db0a6bdd4\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/bit\">bit<\/span> of everything.<\/p>\n\n\n\n<p><strong>Coming back to your work, why did you choose to become a developer?<\/strong><\/p>\n\n\n\n<p>I like to solve complex problems, like Sherlock Holmes: there&#8217;s the case, then the clues. You can try to dissect as much as possible. This was the beginning of everything. I found myself working in the field of data visualisation and business intelligence and I thought: &#8220;Oh, look how cool this is!&#8221;. I can show something and it&#8217;s something nice that helps people solve problems with fraud, cyber attacks or various other things.<\/p>\n\n\n\n<p>The action of building something and having immediate feedback is something that drives my passion beyond the simple technical desire to solve an algorithm. It&#8217;s seeing that moment when someone sees what you&#8217;ve done and says: &#8220;Ah, this seems interesting,&#8221; even if they haven&#8217;t yet understood what you&#8217;re talking about, just from seeing an image. That can be an interface or it can be <span id=\"urn:batch-analysis-5b0ba04c-0140-48dd-b9ff-9bcf043e6267\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span> or different things. It&#8217;s the practical aspect of working in this field.<\/p>\n\n\n\n<p><strong>You seem super passionate about your <span id=\"urn:batch-analysis-5b1164b5-4f1f-494e-9ad7-4c9d7f909dc1\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/job\">job<\/span> but have you ever thought about changing it? Do you imagine yourself being in this sector forever? Or do you think there could be an evolution?<\/strong><\/p>\n\n\n\n<p>I believe that we&#8217;re also working to evolve. I&#8217;d bet on this field being refined further. In other words, we are pushing forward on the graphic interface side and, of course, more patterns and applications are forever emerging which change the interface, rendering it simpler. Other fields may also emerge, such as the &#8220;voice&#8221; discourse, which I&#8217;m not very well-informed about, but I see that they&#8217;re starting to come out. Personally, I think I&#8217;m still in this field because I believe there&#8217;s still something to say, but it doesn&#8217;t mean that future technologies won&#8217;t perhaps be able to tell us something, and maybe I&#8217;ll be interested in going there.<\/p>\n\n\n\n<p><strong>Now it\u2019s time to share some of your secrets with us! Can you tell us how you keep yourself up-to-date with tech news? As you say, this is a field in a constant state of development. Do you attend meetups or webinars, do online courses, read lots of books, or do you have a method of your own?<\/strong><\/p>\n\n\n\n<p>Mainly, I don&#8217;t sleep! Sometimes there just doesn&#8217;t seem to be enough time. In general, I try to systematically use some tools, like Twitter, that I find very handy for tracking the latest news, and there are some sites in particular, Hacker News, or some more specific site. Turn to some more niche blogs or chat apps like Slack or some community newsletters. I really believe in the <span id=\"urn:batch-analysis-8c136442-2ff1-42b3-9b77-8f647234de7b\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/community\">community<\/span>&#8216;s active role in keeping you up to date. In the end, you can read as much as you want, but having a discussion with someone who has actually used those things gives you a different perspective on what you&#8217;re thinking of doing or would like to do. I find going to the meetups very useful.<\/p>\n\n\n\n<p><strong>Do you have any secret <span id=\"urn:batch-analysis-e475be15-c38e-40b2-83cc-010a6f239424\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/project\">projects<\/span> that you&#8217;re working on after work?<\/strong><\/p>\n\n\n\n<p>Yes, too many! You need to be able to balance things well. There&#8217;s work, there&#8217;s keeping yourself updated, and then there&#8217;s your secret ambition. I can&#8217;t juggle these three things yet, so I have to give one of the three priority. I&#8217;d like one day to publish something that can be useful to someone, whether it&#8217;s a computer project or an application&#8230;.. I don&#8217;t know&#8230; something more concrete which is then relevant to the <span id=\"urn:batch-analysis-f839627e-798a-4b64-a573-2323ca3a12f3\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/community\">community<\/span> you&#8217;re part of.<\/p>\n\n\n\n<p><strong>Coming back to the meetups &#8211; you are often a speaker, presenting your own talks. Can you give us a little summary of what you presented during your last talk?<\/strong><\/p>\n\n\n\n<p>The idea was to talk about this new tool GraphQL, and how it can complement what you usually have in the back-end, or take a graph database, put it in front of a tool that lets you express relationships and connections between the various <span id=\"urn:batch-analysis-9b9643f3-63f3-456a-a343-2553b713b267\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span>, and find yourself away in the front-end to express what you want in the simplest way possible. So instead of saying I want an entity of this kind, I look inside this entity, I see what else to ask and with GraphQL I can express everything I want at once.<\/p>\n\n\n\n<p>In that talk, we saw how to integrate this option. Since I am navigating the various entities expressing a relationship, in GraphQL I want to be able to bring this expressivity to the <span id=\"urn:batch-analysis-21375db7-d439-49ca-a678-5426e8c53cec\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/table_database\">database<\/span>. At this point in this talk, we saw how these two technologies, GraphDB and GraphQL, can connect in a very simple way, so as to allow this expressivity in the request for information that we then perform. The complicated thing is to understand how to ask for this information and, once we find it, put it together in order to display it. In this talk, we spoke about how to build a flow that would let us do all this in the simplest way possible.<\/p>\n\n\n\n<p><strong>Who is this tool for? Who could use it? Who should use it in the <span id=\"urn:batch-analysis-dc53ff6c-9d61-49d5-adfc-fdbf21486427\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/workplace\">workplace<\/span> to improve their <span id=\"urn:batch-analysis-93be96b8-450d-43c4-829f-4f4e9110a36d\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/performance\">performance<\/span>?<\/strong><\/p>\n\n\n\n<p>Like all tools, it doesn&#8217;t necessarily represent the solution, but it&#8217;s a &#8220;possible solution&#8221; that we&#8217;ve suggested. Sure, for the current situation it&#8217;s still a <span id=\"urn:batch-analysis-537e5688-a5bb-401f-a73a-684ecc4d1960\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/bit\">bit<\/span> underdeveloped. Perhaps I wouldn&#8217;t recommend putting it into production on a big <span id=\"urn:batch-analysis-c9b96f57-4780-45d4-8608-928cca570675\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/project\">project<\/span>, but it&#8217;s an interesting idea to cultivate. We&#8217;ve realised ourselves that we are novices when it comes to the literature and practical contexts, but that many people are delving into it. We need to understand then if there is that solid base which means we can put it into production, which makes it usable for everyone in a reliable way. From what we&#8217;ve tried, it&#8217;s a good setup if they actually work.<\/p>\n\n\n\n<p><strong>So as you put it, it&#8217;s an unfinished technology that is still evolving?<\/strong><\/p>\n\n\n\n<p>Yes, exactly. It&#8217;s still not fully ready, I certainly wouldn&#8217;t tell everyone to go and use it, but I would say start using it on smaller <span id=\"urn:batch-analysis-065c4033-1a66-4244-87d6-c364135c49bb\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/project\">projects<\/span>, <span id=\"urn:batch-analysis-a639fb02-e606-41ca-8655-2b06830133c1\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/experiment\">experiment<\/span> with it, see how it goes and then you can discuss whether to adopt it or not. It&#8217;s certainly sound and is getting more sophisticated. If it doesn&#8217;t get used, it won&#8217;t develop. Try it out!<\/p>\n\n\n\n<p><strong>Why did you decide to talk about it? To let people know about this new tool?<\/strong><\/p>\n\n\n\n<p>Like Graph Roma, we&#8217;ve spoken several times about the discourse surrounding connected <span id=\"urn:batch-analysis-72314c0d-8eba-4fbf-863b-767c2be47703\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span>, GraphDB and in some contexts needing to navigate these connections between the <span id=\"urn:batch-analysis-e3b193c4-73bf-4ed6-b09b-15c212785220\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span>. The problem is that often you navigate this structure that includes relations, but then you have to flatten everything out to get the result and shift the problem of &#8220;what I need given this thing I&#8217;ve got on the front-end&#8221;, so whoever is on the front-end often finds themselves having to gather <span id=\"urn:batch-analysis-a25d44f5-4e95-4932-a5f5-c7c25b71220c\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span> here and there.<\/p>\n\n\n\n<p><strong>So are you trying this out in your free time?<\/strong><\/p>\n\n\n\n<p>At the moment, in my free time. I&#8217;d like to take it into the world of work, but it&#8217;s a <span id=\"urn:batch-analysis-aa55eb9f-b83b-471e-aa07-64d7ae45805f\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/bit\">bit<\/span> more complicated because it&#8217;s not a solid solution. I have to find the right context to bring it into work.<\/p>\n\n\n\n<p><strong>Could you bring it to the future meetings and could you elaborate on this topic?<\/strong><\/p>\n\n\n\n<p>I think so, I think it&#8217;s a topic worth investigating. Since both technologies are fairly new, GraphQL and Graph Database, the idea of bringing them together and using them jointly is still not so common at the moment, compared with using the two things independently. There&#8217;s still plenty to do, and we have our work cut out.<\/p>\n\n\n\n<p><strong>What are your favourite types of tool that you use as a developer? And what piece of advice would you give to those who&#8217;d like to pursue a career path like yours?<\/strong><\/p>\n\n\n\n<p>Personally, I believe that it&#8217;s important to learn how to manage and understand trends within <span id=\"urn:batch-analysis-755c5405-4e9c-4254-8a80-3ff08d5b9055\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span>. In the end, what you&#8217;re doing is manipulating the <span id=\"urn:batch-analysis-f73601b3-112d-42ee-9a9a-e8322e99122c\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span>. What I recommend is to learn not only to manipulate them but also to make them accessible to others in a technological way, then have a look on tools like GraphQL, for example, to get a good understanding of which are the suitable methodologies to use. I&#8217;d argue in favour of the front-end since you use frameworks or technologies like Angular or you do everything yourself, so it&#8217;s worth knowing them better in order to show them to the end customer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Interview with Marco Liberati, who discusses the advantages of using GraphQL in combination with a NoSQL graph-oriented database such as GraphDB.<\/p>\n","protected":false},"author":64,"featured_media":419,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[5162],"tags":[67,50],"collections":[],"class_list":{"0":"post-418","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-community-management","8":"tag-graphql","9":"tag-interview","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to use GraphQL with a graph database - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"Interview with Marco Liberati, who discusses the advantages of using GraphQL in combination with a NoSQL graph-oriented database such as GraphDB.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to use GraphQL with a graph database and why the two complement each other\" \/>\n<meta property=\"og:description\" content=\"Interview with Marco Liberati, who discusses the advantages of using GraphQL in combination with a NoSQL graph-oriented database such as GraphDB.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-12-30T23:00:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-30T14:13:57+00:00\" \/>\n<meta name=\"author\" content=\"Codemotion\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Codemotion\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/\"},\"author\":{\"name\":\"Codemotion\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/201bb98b02412383686cced7521b861c\"},\"headline\":\"How to use GraphQL with a graph database and why the two complement each other\",\"datePublished\":\"2018-12-30T23:00:38+00:00\",\"dateModified\":\"2023-05-30T14:13:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/\"},\"wordCount\":1656,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/Liberati_1.jpg\",\"keywords\":[\"GraphQL\",\"Interview\"],\"articleSection\":[\"Community Management\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/\",\"name\":\"How to use GraphQL with a graph database - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/Liberati_1.jpg\",\"datePublished\":\"2018-12-30T23:00:38+00:00\",\"dateModified\":\"2023-05-30T14:13:57+00:00\",\"description\":\"Interview with Marco Liberati, who discusses the advantages of using GraphQL in combination with a NoSQL graph-oriented database such as GraphDB.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/Liberati_1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/Liberati_1.jpg\",\"width\":900,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Community Management\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/community-management\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to use GraphQL with a graph database and why the two complement each other\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/201bb98b02412383686cced7521b861c\",\"name\":\"Codemotion\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/cropped-codemotionlogo-150x150.png\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/cropped-codemotionlogo-150x150.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/cropped-codemotionlogo-150x150.png\",\"caption\":\"Codemotion\"},\"description\":\"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/CodemotionIT\"],\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/codemotion-2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to use GraphQL with a graph database - Codemotion Magazine","description":"Interview with Marco Liberati, who discusses the advantages of using GraphQL in combination with a NoSQL graph-oriented database such as GraphDB.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/","og_locale":"en_US","og_type":"article","og_title":"How to use GraphQL with a graph database and why the two complement each other","og_description":"Interview with Marco Liberati, who discusses the advantages of using GraphQL in combination with a NoSQL graph-oriented database such as GraphDB.","og_url":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2018-12-30T23:00:38+00:00","article_modified_time":"2023-05-30T14:13:57+00:00","author":"Codemotion","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Codemotion","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/"},"author":{"name":"Codemotion","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c"},"headline":"How to use GraphQL with a graph database and why the two complement each other","datePublished":"2018-12-30T23:00:38+00:00","dateModified":"2023-05-30T14:13:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/"},"wordCount":1656,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg","keywords":["GraphQL","Interview"],"articleSection":["Community Management"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/","url":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/","name":"How to use GraphQL with a graph database - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg","datePublished":"2018-12-30T23:00:38+00:00","dateModified":"2023-05-30T14:13:57+00:00","description":"Interview with Marco Liberati, who discusses the advantages of using GraphQL in combination with a NoSQL graph-oriented database such as GraphDB.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg","width":900,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/community-management\/interview-marco-liberati-how-to-use-graphql-with-a-graph-database-and-why-the-two-complement-each-other\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Community Management","item":"https:\/\/www.codemotion.com\/magazine\/community-management\/"},{"@type":"ListItem","position":3,"name":"How to use GraphQL with a graph database and why the two complement each other"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c","name":"Codemotion","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","caption":"Codemotion"},"description":"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.","sameAs":["https:\/\/x.com\/CodemotionIT"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-600x600.jpg","author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg",900,675,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-300x225.jpg",300,225,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-768x576.jpg",768,576,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg",900,675,false],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg",900,675,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg",900,675,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1.jpg",100,75,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2018\/09\/Liberati_1-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_comment_info":0,"uagb_excerpt":"Interview with Marco Liberati, who discusses the advantages of using GraphQL in combination with a NoSQL graph-oriented database such as GraphDB.","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=418"}],"version-history":[{"count":6,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/418\/revisions"}],"predecessor-version":[{"id":21071,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/418\/revisions\/21071"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/419"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=418"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}