Cypher to deklaratywny język zapytań służący do wykonywania zapytań w grafowych bazach danych. Termin deklaratywny jest ważny, ponieważ jest innym sposobem programowania niż paradygmaty programowania, takie jak imperatyw.
W deklaratywnym języku zapytań, takim jak Cypher i SQL, mówimy bazowemu silnikowi, jakie dane chcemy pobrać, i nie określamy, w jaki sposób chcemy, aby dane były pobierane.
W Cypherze użytkownik definiuje interesujący nas pod-graf w klauzuli MATCH. Następnie bazowy silnik uruchamia algorytm dopasowywania wzorców w celu wyszukania podobnych wystąpień grafu podrzędnego w bazie danych grafów.
Gremlin jest cechą zarówno deklaratywną, jak i imperatywną. Jest to język przemierzania wykresów, w którym użytkownik musi podać wyraźne instrukcje dotyczące sposobu nawigacji po wykresie.
Różnica między tymi językami w tym przypadku polega na tym, że w Cypherze możemy użyć operatora gwiazdy Kleene, aby znaleźć ścieżki między dowolnymi dwoma podanymi węzłami w grafowej bazie danych. W Gremlinie będziemy jednak musieli jednoznacznie zdefiniować wszystkie takie ścieżki. Ale możemy użyć operatora powtórzeń w języku Gremlin, aby znaleźć wiele wystąpień takich jawnych ścieżek w bazie danych grafów. Jednak wykonywanie iteracji po jawnych strukturach nie jest możliwe w Cypherze.