Re: Modeling personal addresses with DPV

Hi Harsh,

 

Thanks, this was great feedback and very useful.

 

Indeed perhaps we should also consider in DPV-PD to extend dpv-pd:Location
with subclasses for postal code, locality, region, street and house number
as it right now only includes country, GPS coordinates and room number
(??).

 

Best,

Beatriz

 

"Harshvardhan J. Pandit" me@harshp.com – March 31, 2022 1:42 AM
 

> Hi.
>
> In your example, you have two separate notations for address i.e. the 
> address itself expressed as an instance of PhysicalAddress and the 
> address' location expressed as an instance of Location. Is this a 
> requirement? If not, PhysicalAddress can be used as a type of Location. 
> It isn't modelled as such in DPV-PD, and maybe it should be, but either 
> way its use isn't prevented in the example.
>
> How you express the specifics of an address will vary across use-cases. 
> For example, it can be a single string representing the entire address 
> (as printed on a post card). In a recent use-case, I used this approach 
> by using dpv:hasAddress (xsd:string) and dpv:hasCountry (xsd:string) as 
> this was sufficient. Or if having granularity (as instances) is a 
> requirement, then it can be broken down into components as in your 
> example. Though, I don't think DPV-PD has all the required concepts for 
> this.
>
> With VCard, if you're using a lot of such addresses, rather than 
> duplicating the DPV concepts within instances every time, you could 
> create a mapping between DPV and VCard. For example, expressing 
> dpv-pd:PhysicalAddress is a subclass of vcard:Address. However, the 
> property range of vcard:street-address is xsd:string, which is not what 
> your example uses. So if you're redefining the ranges, you can also set 
> it to dpv-pd:Street and use vcard:street-address as you do.
>
> Hope this helps.
> Regards,
> Harsh
>
> On 30/03/2022 12:13, besteves@delicias.dia.fi.upm.es wrote:
>> Hi all,
>>  
>> I was recently given a challenge to represent the data of personal 
>> addresses using DPV-PD. Has anyone done it?
>>  
>> Under dpv-pd:Contact we have dpv-pd:EmailAddress,
dpv-pd:PhysicalAddress 
>> and dpv-pd:TelephoneNumber and under dpv-pd:Location we have 
>> dpv-pd:Country, dpv-pd:GPSCoordinate and dpv-pd:RoomNumber.
>>  
>> Let's say that we want to model a person with 2 addresses - a primary 
>> residence and a vacation one. Probably under dpv-pd:Location we could 
>> also add at least Street, Locality and PostalCode.
>>  
>> I started modeling it as follows:
>>  
>> @prefix dpv: <https://www.w3id.org/dpv#> .
>>  
>> @prefix dpv-pd: <www.w3id.org/dpv/dpv-pd[1]> .
>>  
>> @prefix v: <http://www.w3.org/2006/vcard/ns#> .
>>  
>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
>>  
>>  
>> :beatriz dpv:hasAddress :primaryAddress, :vacationAddress .
>>  
>> :primary-address a dpv-pd:PhysicalAddress ;
>>  
>>     dpv:hasLocation :primaryAddressLocation .
>>  
>> :primaryAddressLocation a dpv-pd:Location ;
>>  
>>     v:street-address [
>>  
>>         a dpv-pd:Street ;
>>  
>>         rdfs:label "Calle A"
>>  
>>     ] ;
>>  
>>     v:postal-code [
>>  
>>         a dpv-pd:PostalCode ;
>>  
>>         rdfs:label "28500"
>>  
>>     ] ;
>>  
>>     v:locality [
>>  
>>         a dpv-pd:Locality ;
>>  
>>         rdfs:label "Madrid"
>>  
>>     ] ;
>>  
>>     v:country-name [
>>  
>>         a dpv-pd:Country ;
>>  
>>         rdfs:label "Spain"
>>  
>>     ] .
>>  
>> And then do something similar for :vacationAddress.
>>  
>> Are there any suggestions on how to approach this problem?
>>  
>> Best,
>>  
>> Beatriz
>>  
>
>  



Links:
------
[1] https://www.w3id.org/dpv/dpv-pd

Received on Tuesday, 5 April 2022 18:37:57 UTC