Let's start by defining a new schema.org/Intangible object called "PersonalName" ...
|-- Intangible
|
|-- Name
|
|-- PersonalName (
honorific,
honorificPrefix,
honorificSuffix,
byname,
givenName,
middleName,
familyName,
generationName,
patronymic,
matronymic,
diminutive,
pronunciation,
pronunciationExample
)
|
|-- 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/Person object ...
- alternateName,
- formerName,
- nativeName,
- commonName,
- nickname,
- preferredName,
- professionalName,
- psuedonym
And remove / deprecate the following from schema.org/Person...
- additionalName
- familyName
- honorificPrefix
- honorificSuffix
- givenName
For example,
<div itemscope itemtype="http://schema.org/Person">
<div itemprop="nativeName" itemscope itemtype="http://schema.org/PersonalName">
<span itemprop="givenName">Лев</span>
<span itemprop="patronymic">Никола́евич</span>
<span itemprop="familyName">Толсто́й</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>
When encoded into an Activity Stream, it would look something like.
{
"objectType": "person",
"displayName": "Lev Nikolayevich (Leo) Tolstoy",
"schema_org": {
"commonName": [{
"givenName": ["Lev"],
"patronymic": ["Nikolayevich"],
"familyName": ["Tolstoy"]
}],
"alternateName": [{
"givenName": ["Leo"],
"familyName": ["Tolstoy"]
}],
"nativeName": [{
...
}]
}
}
<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">
خادم ال
حرمينا
لشريفي
ن</span>,
<span itemprop="honorific">ملك</span>
<span itemprop="givenName">عبد
الله<span>
<span itemprop="patronymic">بن عبد
العزيز</span>
<span itemprop="familyName">آل سع
ود</span>
(<span itemprop="pronunciation">Abd ullāh ibn ‘Abd al-‘Azīz Āl Su‘ū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">英夫</span>
<span itemprop="familyname">田中</span>
<span itemprop="honorificSuffix">さん</span>
(<span itemprop="pronunciation">ひでお たなか</span>)
</div>
</div>
This type of approach provides significantly more meaning and power than current structure. I'm sure more work would need to be done on it to tweak the details. Comments and feedback are always welcome... I'm hoping to evolve this a bit further then see about bringing it up for discussion on the public-vocabs list soon.
No comments:
Post a Comment