Which database should i use for my DJ set planning software?

Hi, i want to develop a software that lets DJs plan a set (i.e. playlist) and i'm wondering if graph databases are the right way and if yes, which one to pick. The workflow is that the software automatically reads all tracks from the DJ software on the computer and the DJ has to tell the software which tracks mix well together. These links are called "transitions" and contain some data like difficulty grade, quality rating and notes. The software should then assist DJs when selecting tracks (or specifically the next track) for a playlist by considering the "non-repeating transition depth" of a given track. In an RDBMS (SQL) i'd need to use WITH RECURSIVE to accomplish something like this. There should also be query options for considering the rating of the transitions, i.e. sort suggested next tracks by "most tracks to follow up with" (excluding any tracks already in the playlist!) or sort them by highest average rating with at least X number of tracks in a valid transition chain. I hope i could illustrate what i'm looking for. I'm a web developer and want to build this project using Node.js as the runtime and writing the code in TypeScript, but i can live without type helpers (like Prisma generates for example). I'm also not afraid of writing raw queries like i write raw SQL occasionally. A query builder is nice but not required. Also there should be a simple docker container to set up the database for development unless it's a serverless DB like SQLite. Should i be using a graph database for this project or should i stick with RDBMS / SQL? If i should go with a graph database, which one? Thank you for any advice!
Solution
spmallette
spmallette82d ago
Sorry we missed this question. I think I could see how a graph could fit here. It seems like a sensible use case. As for the graph database to choose, i tend to almost always suggest that If you are new to graphs you should just start with TinkerGraph. It will help you get started with the least amount of pain. Once you understand it, learn some Gremln and get to know the features and capabilties of other graph databases then you can make the switch. For the most part, you should be able to make that switch from TinkerGraph without too much change to your Gremlin code. Depending on your requirements, you might even find that TinkerGraph suits your case well enough and you can stick with it.
funki
funki82d ago
@spmallette thank you so much for your reply! i will check out TinkerGraph :)
Want results from more Discord servers?
Add your server
More Posts
How will i add unique values to the vertices or edge properties in NeptuneI can't get a doc regarding adding unique data through gremlin. Is there any way to do it, other thaNot getting result in hasId() but id().is() worksI don't get any response using g.V().hasId(48). But when i use g.V().id().is(48). it shows output. Sdotnet `Enumeration has not started. Call MoveNext` if I try to enumerate over a resultI recently try to use gremlin to created a graph and query this graph. Currently I get it working toI can't create an edge in aws neptune using gremlin. I can create vertices. but not edge.import { driver, process as gremlinProcess, structure } from "gremlin"; async function checkOut() {Iterating over responsesI've got a query akin to this in a python application using `gremlin-python`: ``` t = traversal().wAWS Neptune updating gremlin driver to 3.6.2 introduced many bugs to working queriesAfter updating Amazon Neptune engine version from 1.2.0.2 to 1.2.1.0 and the Gremlin.Net (C# nuget) vertex-label-with-given-name-does-not-existERROR with Janusgraph 0.5.3vertex-label-with-given-name-does-not-exist ERROR with Janusgraph 0.5.3 while adding labels to vertiDocumentation states there should be a mid-traversal .E() step?Just wondering if I'm missing something, or if the docs are mistaken. It's possible to do a mid-travDisabling strategies via string in remote driverIs there a way to disable a strategy in a providers implementation without a reference to the class?LazyBarrierStrategy/NoOpBarrierStep incompatible with path-tracking👋🏻 Hi all! In this JanusGraph post (https://discord.com/channels/981533699378135051/1195313165278