Gremlin is a domain specific programming language for graphs. Graphs are data structures where there exists vertices (i.e. dots, nodes) and edges (i.e. lines, arcs). Gremlin was designed to work with a type of graph called a property graph. Gremlin makes extensive use of XPath 1.0 to define abstract path descriptions (path expressions) through a graph. It is important to learn and understand XPath as this will make it easier to understand Gremlin.
Implementation-wise, Gremlin has an abstract interface that enables it to be connected to various underling graph frameworks. The current distribution of Gremlin comes with built-in connectors for the Neo4j graph database, Sesame SAIL quad store, MongoDB document database and a homegrown, in-memory property graph framework known as TinkerGraph.