- you should prefer using wide spread ontologies instead of duplicating classes or predicates that already have equivalents (or just produce owl:equivalentClass or owl:sameAs relations)
- there are many shortcuts in RDFa 1.1 you have not used, for example vocab or rel properties
- you can use indents to beatify markup
According to that, your page can look like:
<body prefix="schema: http://schema.org/"
vocab="http://xmlns.com/foaf/0.1/">
<p typeof="Person" resource="http://carlboettiger.info#me">
<img property="depiction" style="float: right; margin: 10px 10px"
src="assets/img/carlboettiger.png" alt="Photo of Carl Boettiger" />
I am <a property="homepage schema:url" href="http://carlboettiger.info">
<span property="name"><span property="givenName">Carl</span> <span property="familyName">Boettiger</span></span>
</a>, a <span property="schema:jobTitle">graduate student</span> with
<span rel="knows" typeof="Person">
<span property="name"><a property="homepage" href="http://two.ucdavis.edu/%7Eme">Alan Hastings</a></span>
</span> in the <a property="workplaceHomepage" href="http://www-eve.ucdavis.edu/eve/pbg/">Population Biology</a>
Ph.D program at <span property="schema:affiliation">UC Davis</span>, working on
<span rel="interest">
<a href="http://en.wikipedia.org/wiki/Regime_shifts">regime shifts</a> in
<a href="http://en.wikipedia.org/wiki/Ecology">ecology</a> and
<a href="http://en.wikipedia.org/wiki/Evolution">evolution</a>.
Such shifts mark the most dramatic events in <span>complex systems</span>
</span>
</p>
</body>