New user here coming from a rusty MySQL background. I think I got a good understanding of the database and how everything is a predicate, and nodes are just predicates with the same UID. I managed to sloppily entered a few nodes into a local docker container of Dgraph v 20.03.0 and a free cloud instance (IDK what version, it’s whatever you get by default from cloud.dgraph.io) but am hitting my head against a wall trying to do anything “the right way” as opposed to the hack n slash way I’ve gotten limited success from so far. I desperately want to learn how to use this database, but the official docs/tutorials are a mess. Can anyone point me to a good/current set of docs or video tutorials to learn this? At this point I’ll pay for a course if i have to!
Experience so far:
I got pretty far into the “Getting Started with Dgraph” videos, but they just sort of fizzle out into what I can only describe as looking over the shoulder of a pro dev while they work and hardly explain any of what they’re doing. The other issue is the rapid growth over the past ~5 yrs means lots of what I’m finding in the docs, forums, and other independent tutorials is very outdated. If I understand correctly, GraphQL± is now called DQL and you can have simultaneous GraphQL and DQL schemas or just a DQL schema, and after reading a thorough explaination I still don’t get the difference, I need examples to understand. But I can’t find anything helpful on how to correctly setup either schema or execute proper queries/mutations. For example:
- what elements of a mutation/query need quotation marks and curly braces vs square braces?
- for @lang tags, can I make up my own like “english, engrish, spanglish” or do I have to stick to standard list like “fr, en, zh”? If so where is that list?
- what is this “_:” thing at the beginning of a line about?
- can I please have a 1-to-1 example of JSON vs RDF query/mutation?
- why is it called a mutation?
- how do I set the node type while creating the node rather than after the fact?
- etc.
Every time I find an example, it’s wrong because it’s for an old version or otherwise not in alignment of what I’ve learned so far, or it’s leaving out something critical because it’s assuming I have beyond beginner knowledge.
TL;DR - Please point me to the best/most modern docs/tutorials/courses you know of, preferably applicable to v21.12.0.