The foaf:PersonalProfileDocument class represents those things that are a foaf:Document, and that use RDF to describe properties of the person who is the foaf:maker of the document. There is just one foaf:Person described in the document, ie. the person who foaf:made it and who will be its foaf:primaryTopic.

The foaf:PersonalProfileDocument class, and FOAF's associated conventions for describing it, captures an important deployment pattern for the FOAF vocabulary. FOAF is very often used in public RDF documents made available through the Web. There is a colloquial notion that these "FOAF files" are often somebody's FOAF file. Through foaf:PersonalProfileDocument we provide a machine-readable expression of this concept, providing a basis for FOAF documents to make claims about their maker and topic.

When describing a foaf:PersonalProfileDocument it is typical (and useful) to describe its associated foaf:Person using the foaf:maker property. Anything that is a foaf:Person and that is the foaf:maker of some foaf:Document will be the foaf:primaryTopic of that foaf:Document. Although this can be inferred, it is helpful to include this information explicitly within the foaf:PersonalProfileDocument.

For example, here is a fragment of a personal profile document which describes its author explicitly:

<foaf:Person rdf:nodeID="p1">
 <foaf:name>Dan Brickley</foaf:name>
 <foaf:homepage rdf:resource="http://rdfweb.org/people/danbri/"/>
 <!-- etc... -->
</foaf:Person>

<foaf:PersonalProfileDocument rdf:about="">
   <foaf:maker rdf:nodeID="p1"/>
   <foaf:primaryTopic rdf:nodeID="p1"/>
</foaf:PersonalProfileDocument>

Note that a foaf:PersonalProfileDocument will have some representation as RDF. Typically this will be in W3C's RDF/XML syntax, however we leave open the possibility for the use of other notations, or representational conventions including automated transformations from HTML (GRDDL spec for one such technique).