<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="173616" data-post-id="173616">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="domvas" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/domvas/120/11654_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  domvas
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I agree on that point: having nice tools as Ecto for a large number of database engine would be great.<br>
But it’s a lot of work, and hard work too and I think that for almost every language, the number of available tool depends on… the community. Because it is time and work and everybody has a limited amount of each.<br>
Then sometimes, the best thing to do when you don’t find what you need is to build it yourself or at least try to build it yourself and to share it with the community. And if you’re lucky, some people will help you to build the thing.<br>
Elixir is not so popular that there is a lot of mighty brilliant individuals  achieving all the things just for the fun then we have to build things ourselves. There’s a lot of people in this forum who’ve contributed in one way or another to Elixir ecosystem (thank you guys :)). Why don’t you bring your love of alternative dbs and your love of Elixir into a new library and share it with us? It can (will?) be hard but you’ll learn a lot but after that Elixir will appeal more people like you :).</p>
<p><a class="mention" href="/u/marcalchca" rel="nofollow">@marcalchca</a> I’m the author of <code>ecto_neo4j</code> and I strongly discouraged you from using because I will stop maintaining it really soon. It’s very unsatisfying to work on it as developer (imagine putting squares in triangles…) and imo not satisfying as an end user as it rely on relational-concept.<br>
Then, you maybe should use <a href="https://github.com/dominique-vassard/seraph" rel="noopener nofollow ugc">seraph</a> which way more graph friendly and heavily inspired by Ecto (an rely on it for some parts). I didn’t make a annoucement yet because I want to add the query api first, I hope it will be available next week.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173616" data-batch-url="/posts/batch_likers">
                        7
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/42">Post #41</a>
	                </div>
	            </div>
              <div id="likers-container-173616" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173616"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #41"></div>
  </section>
</div>
    <div class="postbit" id="173620" data-post-id="173620">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="marcalchca" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  marcalchca
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Ok. Anyway, as you can read from my comments,  I fully agree with extending Phoenix as you suggest. At this moment I’m starting to study neo4j in more depth. I read in 1 of the comments that ECT would somehow support it already.<br>
Thx</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173620" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/43">Post #42</a>
	                </div>
	            </div>
              <div id="likers-container-173620" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173620"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #42"></div>
  </section>
</div>
    <div class="postbit" id="173624" data-post-id="173624">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="marcalchca" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  marcalchca
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Ok. Thanks for warning me and informing me about the alternative.<br>
As for contributing … I have to balance very well the time I can spend too and if I’m the only one interested it makes no sense, but maybe all the interested people have not yet adopted Elixir and are not in this forum. So if I could realize something and increase the size of the Elixir community thanks to it, that would motivate me. Still I must find a paid project of which that would be a spin off. I still got 5 kids and my wife to support and haven’t won the lottery so far <img src="https://forum.elixirforum.com/images/emoji/apple/grin.png?v=15" title=":grin:" class="emoji" alt=":grin:" loading="lazy" width="20" height="20">.</p>
<p>But I keep your advice in the back of my head.</p>
<p>And please let me know when the alternative graph library is live. <img src="https://forum.elixirforum.com/images/emoji/apple/hugs.png?v=15" title=":hugs:" class="emoji" alt=":hugs:" loading="lazy" width="20" height="20"></p>
<p>Thanks</p>
<p>Marc</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173624" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/44">Post #43</a>
	                </div>
	            </div>
              <div id="likers-container-173624" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173624"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #43"></div>
  </section>
</div>
    <div class="postbit" id="173628" data-post-id="173628">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hauleth" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hauleth/120/18942_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hauleth
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="marcalchca" data-post="39" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>Wow, you are a strong believer of RDBMS, more than just in love, it seems <img src="https://forum.elixirforum.com/images/emoji/apple/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" loading="lazy" width="20" height="20">.</p>
</blockquote>
</aside>
<p>No. I mean, I like them, but here I am fighting with fear and misunderstanding about them.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="39" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>In RDBMS I have like 30 years of experience, I have been teaching about the subject both at university and in private companies and I worked on many projects involving RDBMS in different roles fron technical to methodological).</p>
</blockquote>
</aside>
<aside class="quote no-group" data-username="marcalchca" data-post="35" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>You’ll discover that it is more relational than RDBMS</p>
</blockquote>
</aside>
<p>Sorry, but with that experience and the fact that you still confused relation with foreign keys/joins, I find it hard to believe.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="39" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>So I pretty well know the limitations. Despite all nostalgy I can be very objective about that.</p>
</blockquote>
</aside>
<p>Me too. I. just find graph DB or document DB terrible choice at the beginning of the project. Relational DB is always a better choice unless you are 100% sure that you will need the “NoSQL” (and I would say that in the beginning you never can say with 100% certainty that it will be the case). While SQL has it disadvantages it is also the most flexible solution out there. Especially with PostgreSQL which can be used as:</p>
<ul>
<li>“Classical” relational DB</li>
<li>Document DB (via JSONB or XML store)</li>
<li>KV store (either as a simple <code>CREATE TABLE foo(key STRING PRIMARY KEY, value JSONB)</code> or <code>hstore</code>)</li>
<li>Full-text search engine (via <code>tsquery</code>)</li>
<li>Queues (<code>NOTIFY</code>)</li>
<li>GIS (PostGIS)</li>
<li>TSDB (<code>hll</code>, TimescaleDB)</li>
</ul>
<p>This also gives you another advantage in the beginning of the project - less moving parts that you need to configure.</p>
<hr>
<p><strong>TL;DR</strong>:  Yeah I like RDBMs, but my posts there are mostly fighting with fear and misunderstandings about them.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173628" data-batch-url="/posts/batch_likers">
                        9
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/45">Post #44</a>
	                </div>
	            </div>
              <div id="likers-container-173628" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173628"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #44"></div>
  </section>
</div>
    <div class="postbit" id="173634" data-post-id="173634">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="marcalchca" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  marcalchca
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I agree with you that document databases are not a solution for a full application. I had a very painful experience with MongoDb a few years ago. However graphdb line Neo4j is of a totally different kind since objects can be typed. Just have a non-biased look at it.</p>
<p>As for mixing up relation with foreign keys/joins … maybe I wasn’t clear in the way I formulated it. I wanted to say that the basic traditional relational theory only offers us a limited toolbox: zero/one-to-one/zero and one-to-many (and reverse of course) relations between entities. The many-to-many relations (i.e. 85 - 95% of cases in real world) can only be achieved by composing 2 one-to-many relations. It is not a “primitive”.</p>
<p>Either this is artificial as in some cases you’re forced to have that intermediate entity where you only use it for joining the other ones. And worse, if you do need the middle entity (most common case), you quickly get into a myriad of other related entities each with their intermediate entities just to express a moderate part of reality.</p>
<p>So for something conceptually simple, you end up with quite some complexity. Both for maintaining the inevitable data to feed the links between all these entities but also to query them. If on top of that you need a hierarchy of several levels deep (not to mention a graph!) then complexity explodes. It often makes people denormalize their databases which they’ll pay down the road. Been there. Done that. It’s not that RDBMSs cannot do it. It’s the pain it costs to do so that I try to flee.</p>
<p>If you compare the expressiveness of Neo4j to solve the same problem it is dazzling. And the related queries … my God. To think we have been struggling ask those years with inner and outer joins!</p>
<p>This was about classical RDBMS. If you add layers of graph support or other tools, then it may be less bad. But to me that feels like a maskerade of complexity under the hood. I think sooner or later you pay the price for such hybrid constructions. So I prefer to examine the pure version.</p>
<p>And don’t worry, if ever I discover it has limitations that make me return to RDBMS, I’ll humbly admit so. But at this point in time I strongly doubt it.</p>
<p>So I hope you see that I haven’t spent 30 years working with and teaching about RDBMS … not even grasping the basics of it!!! I know the covid19 lockdown can make people very stressed, so I forgive you your inappropriate judgement of my professional capabilities. I’d never judge someone I don’t know based on 1 post. So with you I hope we soon will be free again to walk where we want. It will probably make us a lot more gentle towards each other.</p>
<p>Kind regards<br>
Marc</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173634" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/46">Post #45</a>
	                </div>
	            </div>
              <div id="likers-container-173634" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173634"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #45"></div>
  </section>
</div>
    <div class="postbit" id="173639" data-post-id="173639">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hauleth" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hauleth/120/18942_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hauleth
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="marcalchca" data-post="46" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>As for mixing up relation with foreign keys/joins … maybe I wasn’t clear in the way I formulated it. I wanted to say that the basic traditional relational theory only offers us a limited toolbox: zero/one-to-one/zero and one-to-many (and reverse of course) relations between entities. The many-to-many relations (i.e. 85 - 95% of cases in real world) can only be achieved by composing 2 one-to-many relations. It is not a “primitive”.</p>
</blockquote>
</aside>
<p>Yes, but that isn’t what “relation” in “relational database management system” mean. Relation in sense of RDBMS is what we call “table”. That is real basis of the relational algebra on which RDBMS are built.</p>
<p>This is common misconception that is repeated over and over again.</p>
<p>So the discussion goes and goes over the same misconception.</p>
<p>If this is discussion about query languages (because storage in graph DBs and relational DBs will be similar) then it is mostly irrelevant as you can design language that will use graph-like queries and translate them to the relational algebra as you can describe the graph DB as a set of 2 relations:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">Vertices ( id, data )
Edges ( from, to, data )
</code></pre>
<aside class="quote no-group quote-modified" data-username="marcalchca" data-post="46" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>If you compare the expressiveness of Neo4j to solve the same problem it is dazzling. […] To think we have been struggling ask those years with inner and outer joins!</p>
</blockquote>
</aside>
<p>You still are. As I have showed above there is a way to use relational algebra to store and query graph-like data. What graph DB is doing, is that it just “hides” that all joins from the user of the query language. It also may automatically create indices to make queries faster, but not much more. It is like saying that</p>
<blockquote>
<p>If you compare the expressiveness of Java to solve the same problem it is dazzling (as C). […] To think we have been struggling all those years with memory management!</p>
</blockquote>
<p>Yes, Java is more expressive than the C, but that is not the point. C is more flexible and more powerful, even if sometimes require a little bit more code to write.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="46" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>I think sooner or later you pay the price for such hybrid constructions.</p>
</blockquote>
</aside>
<p>There is not much, because as I said, you can pretty simply translate relational algebra to graph query language.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="46" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>And don’t worry, if ever I discover it has limitations that make me return to RDBMS, I’ll humbly admit so.</p>
</blockquote>
</aside>
<p>You probably do not. It is just that RDBMS are simpler. Do you know how all these “NoSQL” DBs happened? I will give you quick tour:</p>
<ol>
<li>We use SQL.</li>
<li>Yay, we are successful and we are growing! <img src="https://forum.elixirforum.com/images/emoji/apple/bottle_with_popping_cork.png?v=15" title=":bottle_with_popping_cork:" class="emoji" alt=":bottle_with_popping_cork:" loading="lazy" width="20" height="20"></li>
<li>Oh snap, we are growing out of our current DB. We should scale (horizontally/vertically).</li>
<li>Oh snap, we cannot scale our current DB anymore. Write DB accustomed to our needs which is graph/KV/columnar/document/etc. DB.</li>
<li>New NoSQL is born <img src="https://forum.elixirforum.com/images/emoji/apple/partying_face.png?v=15" title=":partying_face:" class="emoji" alt=":partying_face:" loading="lazy" width="20" height="20"></li>
</ol>
<aside class="quote no-group quote-modified" data-username="marcalchca" data-post="46" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>So I hope you see that I haven’t spent 30 years working with and teaching about RDBMS … not even grasping the basics of it!!! I[…] I’d never judge someone I don’t know based on 1 post.</p>
</blockquote>
</aside>
<p>It is not just one post, you are again and again telling that “relation is connection between two tables”, which is not what <strong>R</strong> in RDBMS is for. <code>JOIN</code>s aren’t relations, joins are operation on <a href="https://en.wikipedia.org/wiki/Relation_(database)" rel="noopener nofollow ugc">two relations (known as tables)</a> that generates new relation.</p>
<p>There is no “one to one”, “one to many”, nor “many to many” relation in RDBMS if we are speaking in terms of relational algebra, because these <strong>aren’t relations</strong>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173639" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/47">Post #46</a>
	                </div>
	            </div>
              <div id="likers-container-173639" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173639"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #46"></div>
  </section>
</div>
    <div class="postbit" id="173640" data-post-id="173640">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sribe" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sribe
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group quote-modified" data-username="PJextra" data-post="41" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>…“new” approaches like Graph DBs.</p>
</blockquote>
</aside>
<p>A graph database is not really new. It’s a network-model database with improved query language. Relational databases supplanted network databases decades ago because of their greater generality and flexibility. If you object to adding graph query functions to RDBMS, then you might as well try to find a CODASYL database and use that.</p>
<aside class="quote no-group" data-username="hauleth" data-post="47" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hauleth/48/18942_2.png" class="avatar"> hauleth:</div>
<blockquote>
<p>If this is discussion about query languages (because storage in graph DBs and relational DBs will be similar) then it is mostly irrelevant as you can design language that will use graph-like queries and translate them to the relational algebra as you can describe the graph DB as a set of 2 relations:</p>
</blockquote>
</aside>
<p>I think Neptune actually uses PostgreSQL as its storage engine. Amazon doesn’t admit that, but when you dig deep into some of the config &amp; replication capabilities &amp; limitations, it <em>EXACTLY</em> matches PostgreSQL. (And I am not the only person to notice this…)</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173640" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/48">Post #47</a>
	                </div>
	            </div>
              <div id="likers-container-173640" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173640"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #47"></div>
  </section>
</div>
    <div class="postbit" id="173646" data-post-id="173646">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="marcalchca" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  marcalchca
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>You insist on explaining in a wrong way what I’m saying in my post. It becomes a semantic discussion iin the end. See further about the"table/relation-obsession".</p>
<p>I know a relation in the theory concerns a table. But when we build an ERD you will admit that the common parlance is about “relations” between entities. And those are key in expressing real world needs.</p>
<p>A relation or table in the purist sense of the definition, is very limited since it only has 2 dimensions.</p>
<p>E.g. for each conditional data you’re forced to define another table holding a 1-0 link (I avoid using the word relation just for you, but you should get used to the fact that in the real world “<strong>overloaded</strong>” definitions are inevitable, so it was not a misconception of mine, but a <strong>deliberate</strong> use of the word relation in a slightly different context).</p>
<p>E.g. ternary relationships are unnatural to RDBMS although one can build them.</p>
<p>You put the world upside down! You seem to imply that graphdb under de hood are just RDBMS iin which they mask the “tables”. Clearly you have never taken any effort to study them seriously. It simply is not true.</p>
<p>I’m astonished. Didn’t know RDBMS fundamentalists existed. I met one.</p>
<p>I’m always open to learn and despite your annoying and disrespectful way of treating me, I’m still tempted to look up some if the things you shared. Thay is because I’m really open minded.</p>
<p>But if your goal is to impress people and make them shut up, then you met the wrong guy. I believe in freedom of speech.</p>
<p>Cheers</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173646" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/49">Post #48</a>
	                </div>
	            </div>
              <div id="likers-container-173646" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173646"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #48"></div>
  </section>
</div>
    <div class="postbit" id="173648" data-post-id="173648">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sribe" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sribe
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="marcalchca" data-post="49" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>But when we build an ERD you will admit that the common parlance is about “relations” between entities.</p>
</blockquote>
</aside>
<p>That is simply not correct, it is an Entity <em>RELATIONSHIP</em> Diagram. Words get misused in casual speech, this is true. But it’s not unreasonable to expect more precision from someone who’s been teaching a subject for 30 years–especially when engaging in a technical debate.</p>
<aside class="quote no-group quote-modified" data-username="marcalchca" data-post="49" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>You put the world upside down! You seem to imply that graphdb under de hood are just RDBMS iin which they mask the “tables”… It simply is not true.</p>
</blockquote>
</aside>
<ol>
<li>
<p>He didn’t state (nor imply) that all graph databases are implemented that way. He pointed out how one could be implemented that way.</p>
</li>
<li>
<p>As per my previous post, in at least one prominent case that is actually how it is implemented.</p>
</li>
</ol>
<p>Finally, his tone is neutral, while yours is hostile and disrespectful.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173648" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/50">Post #49</a>
	                </div>
	            </div>
              <div id="likers-container-173648" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173648"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #49"></div>
  </section>
</div>
    <div class="postbit" id="173651" data-post-id="173651">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="PJextra" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  PJextra
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I like wine.<br>
I love Champagne. I think the future is Champagne.<br>
I don’t drink as much beer as I used to drink when I was younger.<br>
Please let’s not go into discussions about if red wine should go with red meat and beer with…more beer.<br>
If I invite my friends for a barbecue I’ll have wine, beer and champagne because I just love it.<br>
3 options. More than that they need to bring them to the barbecue.<br>
Elixir has only wine.<br>
Doesn’t matter if it’s what tradition and professional taste says it is what should go with meat.<br>
It only has wine.<br>
I love Champagne.<br>
My friends love beer. Younger generation prefer beer more and more instead of the perfect red wine. Or my favourite Champagne.<br>
I like to have my friends with me enjoying the barbecue. I have wine, beer and champagne. I want my friends to keep coming and be happy.<br>
If I was Elixir I would have my barbecue drinking wine, not my loved Champagne and no one of my younger friends that like beer would come.</p>
<p>Is this clear enough?</p>
<p>PS: yes, I have to spend some extra money and time buying 2 extra type of drinks I won’t drink but it’s really worth it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173651" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/51">Post #50</a>
	                </div>
	            </div>
              <div id="likers-container-173651" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173651"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #50"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/31105/load_more?page=6">Load more posts (15 remaining)</a>
</div></template></turbo-stream>