SEMICeu / Core-Location-Vocabulary

A vocabulary that describes the basic elements of location information, such as geometries and addresses.
14 stars 5 forks source link

Datatypes of SEMIC-Address:Address.adminUnit and INSPIRE-Address:AddressRepresentation.adminUnit differ #25

Open GeertThijs opened 2 years ago

GeertThijs commented 2 years ago

If SEMIC-Address:Address maps to INSPIRE-Address:AddressRepresentation, why then Address.adminUnit and Addressrepresentation.adminUnit have different datatypes? The first actually points to an AdministrativeUnit, while the latter is a GeographicalName (which more or less corresponds to a geographical LanguageString), meant to represent the name of the AdminstrativeUnit. AddressRepresentations are meant to be much more flexible than a structured Address, allowing to just put down the name of a municipality or other locality rather than having to reference an AdminstrativeUnit object. To make things even more difficult, this object only has a code and a level attribute. Even in the INSPIRE structured Address the Address does not connect directly to the AdminstrativeUnit, it is associated with an address component of type MunicipalityName (which in stead is supposed to connect with AdministrativeUnit). The SEMIC Address in its curent version goes one step too far in structuring something that is no more than an AddressRepresentation, a human-readable representation of an Address for use as a label on a letter or on a map. Plus that it no longer maps 1:1 to the INSPIRE AddressRepresentation. And if adminUnit is now a reference rather that a name, why not do the same for postName or postcode or even thoroughfare?

EmidioStani commented 2 years ago

This issue groups a different issues:

1) The original request from Germany to represent a code and level was brought to the working group where the creation of AdminUnit class was approved; in this way the AdminUnitL1 and AdminUnitL2 properties in the Address class stayed a free text while in the AdminUnit class there is opportunity to Member States to adopt a classification system, thus it keeps compatibility with INSPIRE and still we need to consider that all of them are optional properties and relations while for INSPIRE some properties are mandatory. Now, looking at the UML diagram at page 27 of https://inspire.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_AD_v3.0.pdf section 5.2.12, there is a class AdminUnitName with properties "name" and "level'; looking at the URIs of Germany used (see issue #12) for code and level, each of them have a "label" that could be skos:prefLabel of the respective code and level URIs

2) your question about to create a reference for postName/postCode could come from PostalDescriptor (depicted in the UML diagram above) and it could solve the partially the issue brought by Norway in CPSV-AP: https://github.com/SEMICeu/CPSV-AP/issues/107

So within this issue I would focus on point 2) if there is interest.

GeertThijs commented 2 years ago

That is not my point, my point is that SEMIC:Address is mapped on INSPIRE:AddressRepresentation and not on INSPIRE:Address as can be deduced from the definition and usageNote https://semiceu.github.io/Core-Location-Vocabulary/releases/2.00/#Address. If we follow along with this then:

To conclude: I could live with the fact that by recuperating INSPIRE:AddressRepresentation as SEMIC:Address

  1. the name of the element is changed from AddressRepresentation to Address,
  2. its metaclass is changed from Datatype to Class,
  3. the attribute addressFeature is renamed to addressId (if the definition and usageNotes make more cleat that this is a reference to the structured Address)

but not with

  1. that adminunit is no longer an attribute of type Langstring but an association with a class AdminUnit.

If we start with associations like with Adminunit (or even with AdminUnitName which is actually an INSPIRE:Address Addresscomponent) SEMIC:Address is no longer an AddressRepresentation anymore but a structured Address, more (but still a lot less) like INSPIRE:Address. If that is the goal however, a lot more changes should be made to SEMIC:Address as the model of INSPIRE:Address is rather complicated.

Having a Core Vocabulary with a half-structured Address which neither fully maps to INSPIRE:AddressRepresentation, and neither fully to INSPIRE:Address is not advisable.

EmidioStani commented 2 years ago

Hello @GeertThijs ,

today we are proposing a different thing, putting the adminunit attribute inside the AdminUnit class but since your point is to avoid to use URI so one can do "MercatorStreet 12, 1070 Brussels" " in the Address we can propose this alternative.

EmidioStani commented 2 years ago

During the webinar on the review of Core Vocabularies on the 27th of October, it was agreed to put on hold this issue and look at INSPIRE RDF guidelines.