<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>
      Person microdata description · Data-Vocabulary.org
    </title>
    <link href="/css/default.css" rel="stylesheet">
    <script src="//www.google.com/js/gweb/analytics/autotrack.js">
</script>
    <script>
new gweb.analytics.AutoTrack({profile: 'UA-12481063-1'});
    </script>
  </head>
  <body>
    <h1>
      <a href="/">Data-Vocabulary.org</a>
    </h1>
    <h2>
      Person
    </h2>
    <ul id="promo">
      <li>Looking for Google’s <a href=
      "http://google.com/support/webmasters/bin/answer.py?answer=99170">webmaster docs</a>?
      </li>
      <li>Looking for <a href="http://rdf.data-vocabulary.org/">RDF</a>?
      </li>
    </ul>
    <div itemid="http://data-vocabulary.org/Person" itemscope itemtype=
    "http://data-vocabulary.org/itemtype">
      <p>
        See our <a href=
        "http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=146646">Person
        webmaster docs</a> for full explanation of the Person type, and how to encode Person data
        in RDFa, microformats or microdata. This page exists to contain a machine-readable
        microdata description of the Person type itself (at the URI
        http://data-vocabulary.org/Person).
      </p>
      <p>
        An item with the <a href=
        "http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#item-type">item
        type</a> http://data-vocabulary.org/Person represents a person. The following are the
        type’s <a href=
        "http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#defined-property-name">
        defined property names</a>:
      </p>
      <table>
        <tr>
          <th>
            Property
          </th>
          <th>
            Description
          </th>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/name" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">name</code> (<code>fn</code>)
          </td>
          <td itemprop="description">
            Name.
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/nickname" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">nickname</code>
          </td>
          <td itemprop="description">
            Nickname.
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/photo" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">photo</code>
          </td>
          <td itemprop="description">
            An image link.
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/title" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">title</code>
          </td>
          <td itemprop="description">
            The person’s title (for example, Financial Manager).
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/role" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">role</code>
          </td>
          <td itemprop="description">
            The person’s role (for example, Accountant).
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/url" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">url</code>
          </td>
          <td itemprop="description">
            Link to a web page, such as the person’s home page.
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/affiliation" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">affiliation</code> (<code>org</code>)
          </td>
          <td itemprop="description">
            The name of an organization with which the person is associated (for example, an
            employer). If <code>fn</code> and <code>org</code> have the exact same value, Google
            will interpret the information as referring to a business or organization, not a
            person.
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/friend" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">friend</code>
          </td>
          <td itemprop="description">
            Identifies a social relationship between the person described and another person.
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/contact" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">contact</code>
          </td>
          <td itemprop="description">
            Identifies a social relationship between the person described and another person.
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/acquaintance" itemprop="itemprop" itemscope=
        "" itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">acquaintance</code>
          </td>
          <td itemprop="description">
            Identifies a social relationship between the person described and another person.
          </td>
        </tr>
        <tr itemid="http://data-vocabulary.org/Person/address" itemprop="itemprop" itemscope
        itemtype="http://data-vocabulary.org/itemprop">
          <td>
            <code itemprop="name">address</code> (<code>adr</code>)
          </td>
          <td itemprop="description">
            The location of the person. Can have the subproperties <code>street-address</code>,
            <code>locality</code>, <code>region</code>, <code>postal-code</code>, and
            <code>country-name</code>.
          </td>
        </tr>
      </table>
    </div>
  </body>
</html>
