Abstract: In this talk we will introduce the concept of graph databases and compare them to their more standard relational cousin. We will explain the difference in querying between the two, and some challenges this poses. We will then illustrate how to define the semantics of graph queries using traditional theoretical tools such as finite automata and language theory. Finally, we will discuss how to evaluate graph queries efficiently using a modified version of classical search algorithms over graphs.