This chapter reviews the elements that make up Neo4j and the proper way to view relationships within the model. This chapter recurs to some of the concepts first addressed in earlier chapters from the perspective of how modeling is handled within Neo4j. It also explores a little more of the Cypher language, but only as it applies to our modeling effort. Chapter 4 will deal with Cypher in greater depth. Finally, this chapter goes over some common models found in various domains and looks at some of the common issues that data architects and developers face when modeling for a graph. The chapter will begin with an overview of data modeling and why it can help ensure your application starts on a solid foundation.