Names... just a thought...

Hello all,

I've recently been exploring the possible integration of
schema.orgmetadata with the OpenSocial API (
http://opensocial.org). OpenSocial defines it's own schema for various
objects like Person, Groups, Albums, etc. Eventually, I would like to see
this model brought in line with things like the schema.org model but there
are a number of existing gaps that would need to be addressed. As an
experiment, I decided to take one single aspect of the OpenSocial model and
visualize what that would look like as a schema.org Type...

Within OpenSocial, a "Person" object [
http://opensocial-resources.googlecode.com/svn/spec/trunk/Social-Data.xml#Name
] has a fairly rich collection of metadata elements. The person's name, for
instance, is represented by a structured Name object, and the person can
have a common name, a native name, a nickname, and an optional collection
of "alternate names", each of which can be richly structured. Within the
schema.org Person object, however, there is only a single set of
unstructured text properties like "givenName" and "alternativeName". This
definitely would not work within OpenSocial applications.

So here's the idea: create a new schema.org intangible object called
"Name", with a subtype of "PersonalName", with the following basic
definition:

|-- Intangible
    |
    |-- Name
        |
        |-- PersonalName (
            honorific,
            honorificPrefix,
            honorificSuffix,
            byname,
            givenName,
            middleName,
            familyName,
            generationName,
            patronymic,
            matronymic,
            diminutive,
            pronunciation,
            pronunciationExample
          )

Then, let's add the following new properties to the schema.org/Personobject ...

 * alternateName,
 * formerName,
 * nativeName,
 * commonName,
 * nickname,
 * preferredName,
 * professionalName,
 * psuedonym

And remove / deprecate the following from schema.org/Person...

  * additionalName
  * familyName
  * honorificPrefix
  * honorificSuffix
  * givenName

Several examples...

<div itemscope itemtype="http://schema.org/Person">
  <div itemprop="nativeName"
       itemscope
       itemtype="http://schema.org/PersonalName">
    <span itemprop="givenName">
      &#x41B;&#x435;&#x432;
    </span>
    <span itemprop="patronymic">
      &#x41D;&#x438;&#x43A;&#x43E;&#x43B;
      &#x430;&#x301;&#x435;&#x432;&#x438;
      &#x447;
    </span>
    <span itemprop="familyName">
      &#x422;&#x43E;&#x43B;&#x441;&#x442;
      &#x43E;&#x301;&#x439;
    </span>
  </div>
  <div itemprop="commonName"
       itemscope
       itemtype="http://schema.org/PersonalName">
    <span itemprop="givenName">Lev</span>
    <span itemprop="patronymic">Nikolayevich</span>
    <span itemprop="familyName">Tolstoy</span>
  </div>
  <div itemprop="alternateName"
       itemscope
       itemtype="http://schema.org/PersonalName">
    <span itemprop="givenName">Leo</span>
    <span itemprop="familyName">Tolstoy</span>
  </div>
</div>


<div itemscope itemtype="http://schema.org/Person">
  <div itemprop="commonName"
       itemscope
      itemtype="http://schema.org/PersonalName">
    <span itemprop="byName">
      Custodian of the Two Holy Mosques
    </span>,
    <span itemprop="honorific">King</span>
    <span itemprop="givenName">Abdullah<span>
    <span itemprop="patronymic">bin Abdulaziz</span>
    <span itemprop="familyName">al Saud</span>
  </div>
  <div itemprop="nativeName"
       itemscope
       itemtype="http://schema.org/PersonalName" dir="rtl">
    <span itemprop="byName">
      &#x62E;&#x627;&#x62F;&#x645; &#x627;&#x644;
      &#x62D;&#x631;&#x645;&#x64A;&#x646;&#x627;
      &#x644;&#x634;&#x631;&#x64A;&#x641;&#x64A;
      &#x646;</span>,
    <span itemprop="honorific">&#x645;&#x644;&#x643;</span>
    <span itemprop="givenName">&#x639;&#x628;&#x62F;
      &#x627;&#x644;&#x644;&#x647;<span>
    <span itemprop="patronymic">&#x628;&#x646; &#x639;&#x628;&#x62F;
      &#x627;&#x644;&#x639;&#x632;&#x64A;&#x632;</span>
    <span itemprop="familyName">&#x622;&#x644; &#x633;&#x639;
      &#x648;&#x62F;</span>
    (<span itemprop="pronunciation">
      Abd ull&#x101;h ibn &lsquo;Abd al-&lsquo;Az&#x12B;z
      &#x100;l Su&lsquo;&#x16B;d</span>)
  </div>
</div>

<div itemscope itemtype="http://schema.org/Person">
 <div itemprop="name"
      itemscope
      itemtype="http://schema.org/PersonalName">
   <span itemprop="givenname">Hideo</span>
   <span itemprop="familyname">Tanaka</span>
   <span itemprop="honorificSuffix">-san</span>
 </div>
 <div itemprop="nativename"
      itemscope
      itemtype="http://schema.org/PersonalName">
   <span itemprop="givenname"&gt;&#x82F1;&#x592B;</span>
   <span itemprop="familyname">&#x7530;&#x4E2D;</span>
   <span itemprop="honorificSuffix">&#x3055;&#x3093;</span>
  (<span itemprop="pronunciation">
     &#x3072;&#x3067;&#x304A; &#x305F;&#x306A;&#x304B;
   </span>)
 </div>
</div>

Thoughts and opinions are always welcome...

- James

Received on Thursday, 2 August 2012 17:28:30 UTC