I have a table containing some properties of a city. The city is part of a larger area, so I want to add the property containedIn. However, I also want to indicate the type of that area, like "region", "province", or "state", so I am trying to add additionalProperty to these areas. I am very confused about how to do this correctly and efficiently.
This is what I have tried, but Google Structured Data Testing Tool gives two/duplicate items (and two name properties). I want to add both containedIn and additionalProperty to San Juan and San Pablo, but it seems the property name is recognized by both containedIn and additionalProperty, so I do not know how to fix it:
<div itemscope itemtype='http://schema.org/City'>
<h1 itemprop='name'>San Pedro</h1>
<table>
<tr itemprop='additionalProperty' itemscope itemtype='http://schema.org/PropertyValue'>
<td itemprop='name'>Type</td>
<td itemprop='value'>city</td>
</tr>
<tr itemprop='additionalProperty containedIn' itemscope itemtype='http://schema.org/PropertyValue http://schema.org/AdministrativeArea'>
<td itemprop='name'>State</td>
<td itemprop='value'><a itemprop='url' href='#.html'><span itemprop='name'>San Juan</span></a></td>
</tr>
<tr itemprop='additionalProperty containedIn' itemscope itemtype='http://schema.org/PropertyValue http://schema.org/AdministrativeArea'>
<td itemprop='name'>Region</td>
<td itemprop='value'><a itemprop='url' href='#.html'><span itemprop='name'>San Pablo</span></a></td>
</tr>
</table>
</div>