Hey everybody, so today we are going to be walking through some of the most common query languages used with graph databases. And we are going to be walking through 10 different categories to understand which of these query languages best fit in those categories. Now, I'm going to preface that does not mean these are the only graph query languages out there. And it also doesn't mean that any of these graph query languages are not good for any of these categories. This is really based on my own personal experience, my own research, and the people that I know in my community. So if I missed your favorite query language, or I didn't put your query language that you really enjoy in a certain category, don't worry. This is really just a bird's eye view of these query languages for people that are not as familiar with them. Other really critical thing to remember in this video, your use case. So any of these query languages need to be assessed through the lens of your use case. Alright, so over here I am going to list out the query languages that we are going to be looking at today. Or in the case of graph QL, they're not actually a query language for graph. Yes, you heard me right. If you don't know what graph QL is, it is not a query language on any kind of database. It can be used with any database, including graph. And it is used oftentimes now to query graph data, just not from the database. It's from an API. Alright, so that's the lineup. And here are the categories that we are going to be looking at. And I will explain each category as we go through starting out with which graph databases have proprietary query languages. Now, this doesn't mean that some of the more agnostic query languages won't work with these graph databases, but it does mean that these graph databases are very specifically calibrated to these query languages. So it's good to know which ones go with which language. If you already have a graph database that your company is using or that your company prefers, because if you're just starting out, you probably want to start out learning the query language that you're going to use the most in your day job. Alright, number two is most graph database agnostic. These are the languages that you would want to learn. If you don't really know which graph database you are going to work with, or if you want to make sure you get mileage out of the language that you choose because these are used in a lot of other graph databases. They're not proprietary like the last grouping. And so the property graph side of this is going to be cipher and open cipher. There is a lot of different graph databases that use one or the other. And then on the RDF and owl side, it's definitely going to be sparkle. Not all of those triple stores are going to use sparkle star, but also sparkle and sparkle star are standards base. So anything that picks the RDF and owl standards up is going to use that sparkle standard as well. Now, I'll also throw in here a non graph query language and that is graph QL because it is used by a lot of folks in the graph space to get at graph data without having people know graph data. So this is, it just deserves an honorable mention here. Alright, so category number three is modeling effort. So no modeling is going to be easy. But if you're just creating a base model to test any of these out, anything that really falls in that label property graph is going to be a lighter effort on the modeling side, then something let's say like sparkle because sparkle is based on RDF and RDF has a pretty high learning curve. And it requires a lot more effort to actually model something for you to make query work. Alright, so the next category is get hub repose. So if you are trying to experiment with which query language is going to be best for you, being able to go to get hub and find open projects is probably of benefit to you and a bonus feature of this category is I'm also going to tell you which programming language is often associated with each of these query languages. That does not mean there aren't a ton of private projects out there that are using other query languages. I can only access the open ones of course. And it also doesn't mean you can't use any programming language that I don't have listed. You can of course use other programming languages. I'm just talking about the ones that are the top picks according to get hub. Okay, the next category we're looking at is open resources. So this is open data sets, open tutorials, open projects that you can go and check out. An open tool so you can go and try the tools out or modeling techniques. So basically if you want to go and try this out yourself, what are some of the ways that you can do that on your own without having to pay for something. Now, why you might want to start with some of these query languages that have corresponding open resources is it might actually be easier for you because there are a lot of things that you can reference or you can spin up and spin down and it's low risk because you can make a lot of mistakes without having to pay for something upfront. So that's big reason I wanted to add these in here. Going hand in hand with open resources is also communities of support. So a lot of graph databases and query languages have their own communities of support people that are rallying around each other to really help those that are starting out, those that are struggling with something complex. I know some like cipher have things people called ninjas where there are people that are well versed in how to use the query language and the resources that go along with it. So if you're starting something new, having a community of people to turn to when you get stuck is really important. Now, the use case here is machine learning. There are tons of ways of doing that and especially with graph, that's probably a whole nother video. But for this and the query languages, I'm going to stick with what we found in the GitHub repo analysis where Gsql and cipher had the most python. Of course, all of them also had some python mixed in. Python, of course, is one of the main machine learning programming languages, certainly not the only one. And as you don't always have to use python to do machine learning, there's a lot of plug and play tools that do that too. So I also have sparkle here as an honorable mention. Sparkle isn't applied to machine learning as these other two, but what it does have is already F, which has an inference model associated with it. Now, inferencing, you can think of it as a form of machine learning. It's not exactly that, but it's similar enough that I'm going to put it here just as an honorable mention so that you are aware that Sparkle does have something that is not the same as the one that is used. So I have some things that you can do in that inferencing vein. And I've also used sparkle in use of a lot of machine learning projects too. So it's definitely good for that if you want to try it out. So the next category is SQL users. So if you're not using graph quite yet. Now, first, I will point you to an honorable mention that because they use SQL as their query language, and that is timber, they actually allow you to use SQL queries on top of graph. So that is one that I'm going to say is an honorable mention that I did not introduce in the beginning, but it certainly wanted to go and check out if you haven't checked it out before. So these query languages, of course, are going to be potentially easier to pick up if you are already a SQL user. Now, keep in mind that's maybe not where you want to stop because there's a lot more to graph and what graph offers than your relational databases do. But SQL is the most popular query language for relational. So if you know that these might be easier for you to jump into, get familiar with graph and then maybe jump to another type of graph query language that is not as SQL like later on. Alright, and wrapping up the video, I'm going to be showing which of these query languages have been featured in any of the honest reviews that I have done on the channel. So I will link all of those videos down below if you want to go and check out what these might look like in practice. And then we're also going to jump into what query languages do I use on a relatively normal basis. And again, this does not mean any of the ones not on my list are not good. It just means that I have to pick which languages are going to be the most useful for the projects and the things that I am working on and the things that are available to me in my normal life outside of what I do in YouTube. Alright, so I hope this rundown has really helped you get a feel for how the different query languages kind of rank when you put them all together. All of them are great. Don't think this video is telling you not to look at one over another. But I just wanted to make sure that if you're not familiar with this and you're kind of trying to figure out the whole landscape that you had something of a cheat sheet to help you along that decision making process. Alright, so with that, I want to thank you very much and I'll catch you next time.