Tinkerpop Frames is an API which facilitates exposing Graph vertices as Java objects. Instead of writing Graph databases in terms of vertices and edges, graphs are written in terms of domain objects and their relationships to each other.
Tinkerpop: An Open Source Graph Computing Framework
Frames
Frames exposes any Blueprints graph as a collection of interrelated domain objects. Frames makes heavy use of InvocationHandler, Proxy classes, and Annotations to allow a developer to frame a graph element (vertex or edge) in terms of a particular Java interface. With Frames, it is possible to ensure that data within a graph is respective of a schema represented as a collection of annotated Java interfaces.