diff --git a/docs/SPARQL.md b/docs/SPARQL.md new file mode 100644 index 0000000..9b0f88b --- /dev/null +++ b/docs/SPARQL.md @@ -0,0 +1,67 @@ +# SparQL + +> [!NOTE] +> Resources taken from [this website](https://sparql.dev/) + +## SQL Queries + +### SELECT + +```SQL +SELECT ?var1, ?var2, ... +``` + +### WHERE + +```SQL +WHERE { + pattern1 . + pattern2 . + ... +} +``` + +### FILTER + +It's used to restrict [`WHERE`](#where) clauses + +```SQL +WHERE { + ?person ?car . + FILTER (?car = ) +} +``` + +### OPTIONAL + +It's used to fetch available content if exists + +```SQL +SELECT ?person ?car +WHERE { + ?person ?car . + OPTIONAL { + ?car ?color . + } +} +``` + +### LIMIT + +Limits results + +```SQL +LIMIT 10 -- Take only 10 results +``` + +## SparQL functions + +### COUNT + +```SQL +SELECT (COUNT(?person) AS ?count) +WHERE { + ?person ?car . +} +``` +