Keep it simple! a Nordic view on technical simplification issues 1
The network Formed in 2007 as a result of the INSPIRE directive Share experience and knowledge Develop common standpoints Exchange action plans Appoint working groups 2
Many areas of simplification CONTENT: A larger focus on the thematic content of a dataset rather than on the technical structure of the data, as a first step. METADATA: Metadata is a key issue. With joint overview we will more easily find comparable data from different providers. SERVICES: Promotion of also other ways for provision of data, such as through rest api s, may increase the usefulness of the data within more organisations. 3
The INSPIRE data models 4
Name: Raastof Author: B004286 Unfolded Version: 1.0 Created: 18-01-2017 09:02:48 Updated: 19-01-2017 11:12:11 Env ironmentaldomain ZoneTypeCode + airqualitymanagementzone + noiserestrictionzone + animalhealthrestrictionzone + prospectingandminingpermitarea + regulatedfairwayatseaorlargeinlandwater + restrictedzonesaroundcontaminatedsites + areafordumpingofwaste + coastalzonemanagementarea + air + drinkingwaterprotectionarea + water + nitratevulnerablezone + waste + natureandbiodiversity + sustainabledevelopment + marineregion + riverbasindistrict + bathingwaters SpecialisedZoneTypeCode + landuse + floodmanagementunit Base Types::Identifier + auction permission + soil + noise + naturalresources + WFDWaterBody + sensitivearea + designatedwaters + localid: CharacterString + namespace: CharacterString + developer permission + exploration area + common area + climateandclimatechange + planthealthprotectionzone «lifecycleinfo, voidable» + reservation area + healthprotection + forestmanagementarea + versionid: CharacterString [0..1] + former extraction or exploration area Base Types 2::ThematicIdentifier + identifier: CharacterString + identifierscheme: CharacterString Geographical Names::SpellingOfName Geographical Names::GeographicalName + text: CharacterString + spelling: SpellingOfName [1..*] + script: CharacterString + language: CharacterString + transliterationscheme: CharacterString [0..1] + nativeness: NativenessValue + namestatus: NameStatusValue + sourceofname: CharacterString + pronunciation: PronunciationOfName + grammaticalgender: GrammaticalGenderValue [0..1] + grammaticalnumber: GrammaticalNumberValue [0..1] Base Types 2::Contact Base Types 2::RelatedParty + address: AddressRepresentation [0..1] + individualname: PT_FreeText [0..1] + contactinstructions: PT_FreeText [0..1] + organisationname: PT_FreeText [0..1] + electronicmailaddress: CharacterString [0..1] + positionname: PT_FreeText [0..1] + hoursofservice: PT_FreeText [0..1] + contact: Contact [0..1] + telephonefacsimile: CharacterString [0..*] + role: PartyRoleValue [0..*] + telephonevoice: CharacterString [0..*] + website: URL [0..1] Base Types 2:: PartyRoleValue + authority Base Types 2::DocumentCitation «featuretype» + name: CharacterString ManagementRestrictionOrRegulationZone + inspireid: Identifier + shortname: CharacterString [0..1] + geometry: GM_Object + date: CI_Date + zonetype: ZoneTypeCode [1..*] + link: URL [1..*] + environmentaldomain: EnvironmentalDomain [1..*] + specificreference: CharacterString [0..*] + thematicid: ThematicIdentifier [0..*] + name: GeographicalName [0..*] + specialisedzonetype: SpecialisedZoneTypeCode [0..1] + designationperiod: TM_Period + competentauthority: RelatedParty [1..*] «voidable, lifecycleinfo» + beginlifespanversion: DateTime Base Types 2::LegislationCitation + endlifespanversion: DateTime [0..1] +legalbasis 1..* + identificationnumber: CharacterString [0..1] + officialdocumentnumber: CharacterString [0..1] + dateenteredintoforce: TM_Position [0..1] + daterepealed: TM_Position [0..1] + level: LegislationLevelValue + journalcitation: OfficialJournalInformation [0..1] Cultural and linguistic adapdability:: Base Types 2:: PT_FreeText LegislationLevelValue {root} 1 + international + european +textgroup 1..* + national + sub-national Cultural and linguistic adapdability:: LocalisedCharacterString {root} +localisedstring 1..* 0..* 0..1 Cultural and linguistic adapdability:: PT_LocaleContainer + description: CharacterString + locale: PT_Locale + date: CI_Date [1..*] + responsibleparty: CI_ResponsibleParty [1..*] +locale 1 Cultural and linguistic adapdability::pt_locale {root} + languagecode: LanguageCode + country: CountryCode [0..1] + charactersetcode: MD_CharacterSetCode [0..1] 5
or as a flat tables «featuretype» ManagementRestrictionOrRegulationZone + localid :CharacterString + namespace :CharacterString + versionid :CharacterString [0..1] + geometry :GM_Object + zonetype :ZoneTypeCode [1..*] + environmentaldomain :EnvironmentalDomain [1..*] Name: Raastof Author: B004286 Version: 1.0 Created: 18-01-2017 09:02:48 Updated: 19-01-2017 11:12:11 Env ironmentaldomain + air + water + waste + natureandbiodiversity + sustainabledevelopment + landuse + soil + noise + naturalresources + climateandclimatechange + healthprotection Base Types 2::ThematicIdentifier + identifier: CharacterString + identifierscheme: CharacterString Geographical Names::SpellingOfName Geographical Names::GeographicalName + text: CharacterString + spelling: SpellingOfName [1..*] + script: CharacterString + language: CharacterString + transliterationscheme: CharacterString [0..1] + nativeness: NativenessValue + namestatus: NameStatusValue + sourceofname: CharacterString + pronunciation: PronunciationOfName + grammaticalgender: GrammaticalGenderValue [0..1] + grammaticalnumber: GrammaticalNumberValue [0..1] Base Types 2::Contact Base Types 2::RelatedParty + address: AddressRepresentation [0..1] + individualname: PT_FreeText [0..1] + contactinstructions: PT_FreeText [0..1] + organisationname: PT_FreeText [0..1] + electronicmailaddress: CharacterString [0..1] + positionname: PT_FreeText [0..1] + hoursofservice: PT_FreeText [0..1] + contact: Contact [0..1] + telephonefacsimile: CharacterString [0..*] + role: PartyRoleValue [0..*] + telephonevoice: CharacterString [0..*] + website: URL [0..1] Base Types 2:: PartyRoleValue + authority ZoneTypeCode + airqualitymanagementzone + noiserestrictionzone + animalhealthrestrictionzone + prospectingandminingpermitarea + regulatedfairwayatseaorlargeinlandwater + restrictedzonesaroundcontaminatedsites + areafordumpingofwaste + coastalzonemanagementarea + drinkingwaterprotectionarea + nitratevulnerablezone + marineregion + riverbasindistrict SpecialisedZoneTypeCode + bathingwaters + floodmanagementunit Base Types::Identifier + auction permission + WFDWaterBody + developer permission + sensitivearea + localid: CharacterString + exploration area + designatedwaters + namespace: CharacterString + common area + planthealthprotectionzone «lifecycleinfo, voidable» + reservation area + forestmanagementarea + versionid: CharacterString [0..1] + former extraction or exploration area Base Types 2::DocumentCitation «featuretype» + name: CharacterString ManagementRestrictionOrRegulationZone + inspireid: Identifier + shortname: CharacterString [0..1] + geometry: GM_Object + date: CI_Date + zonetype: ZoneTypeCode [1..*] + link: URL [1..*] + environmentaldomain: EnvironmentalDomain [1..*] + specificreference: CharacterString [0..*] + thematicid: ThematicIdentifier [0..*] + name: GeographicalName [0..*] + specialisedzonetype: SpecialisedZoneTypeCode [0..1] + designationperiod: TM_Period + competentauthority: RelatedParty [1..*] «voidable, lifecycleinfo» + beginlifespanversion: DateTime Base Types 2::LegislationCitation + endlifespanversion: DateTime [0..1] +legalbasis 1..* + identificationnumber: CharacterString [0..1] + officialdocumentnumber: CharacterString [0..1] + dateenteredintoforce: TM_Position [0..1] + daterepealed: TM_Position [0..1] + level: LegislationLevelValue + journalcitation: OfficialJournalInformation [0..1] Cultural and linguistic adapdability:: Base Types 2:: PT_FreeText LegislationLev elvalue {root} 1 + international + european +textgroup 1..* + national + sub-national Cultural and linguistic adapdability:: LocalisedCharacterString {root} +localisedstring 1..* 0..* + identifier :CharacterString + identifierscheme :CharacterString + text :CharacterString + script :CharacterString + transliterationscheme :CharacterString [0..1] + language :CharacterString + nativeness :NativenessValue + namestatus :NameStatusValue + sourceofname :CharacterString + pronunciation :PronunciationOfName + grammaticalgender :GrammaticalGenderValue [0..1] + grammaticalnumber :GrammaticalNumberValue [0..1] + specialisedzonetype :SpecialisedZoneTypeCode [0..1] + designationperiod :TM_Period + induvidualname: PT_FreeText [0..1] + organisationname: PT_FreeText [0..1] + positionname: PT_FreeText [0..1] + address: addressrepresentation [0..1] + contactinstructions: PT_FreeText [0..1] + electronicmailaddress: CharacterString [0..1] + hoursofservice: PT_FreeText [0..1] + telephonefacsimile: CharacterString [0..1] + telephonevoice: CharacterString [0..1] + website: URL [0..1] + role: PartyRoleValue [0..*] 0..1 Cultural and linguistic adapdability:: PT_LocaleContainer + description: CharacterString + locale: PT_Locale + date: CI_Date [1..*] + responsibleparty: CI_ResponsibleParty [1..*] +locale 1 Cultural and linguistic adapdability::pt_locale {root} + languagecode: LanguageCode + country: CountryCode [0..1] + charactersetcode: MD_CharacterSetCode [0..1] «voidable, lifecycleinfo» + beginlifespanversion :DateTime + endlifespanversion :DateTime [0..1] constraints {Specify at least the most specific legal instrument.} {competentauthority.role shall be "authority"} 6
Flat vs. complex model «featuretype» ManagementRestrictionOrRegulationZone + localid :CharacterString + namespace :CharacterString + versionid :CharacterString [0..1] + geometry :GM_Object + zonetype :ZoneTypeCode [1..*] + environmentaldomain :EnvironmentalDomain [1..*] + identifier :CharacterString + identifierscheme :CharacterString + text :CharacterString + script :CharacterString + transliterationscheme :CharacterString [0..1] + language :CharacterString + nativeness :NativenessValue + namestatus :NameStatusValue + sourceofname :CharacterString + pronunciation :PronunciationOfName + grammaticalgender :GrammaticalGenderValue [0..1] + grammaticalnumber :GrammaticalNumberValue [0..1] + specialisedzonetype :SpecialisedZoneTypeCode [0..1] + designationperiod :TM_Period + induvidualname: PT_FreeText [0..1] + organisationname: PT_FreeText [0..1] + positionname: PT_FreeText [0..1] + address: addressrepresentation [0..1] + contactinstructions: PT_FreeText [0..1] + electronicmailaddress: CharacterString [0..1] + hoursofservice: PT_FreeText [0..1] + telephonefacsimile: CharacterString [0..1] + telephonevoice: CharacterString [0..1] + website: URL [0..1] + role: PartyRoleValue [0..*] «voidable, lifecycleinfo» + beginlifespanversion :DateTime + endlifespanversion :DateTime [0..1] constraints {Specify at least the most specific legal instrument.} {competentauthority.role shall be "authority"} 7
From a user perspective «featuretype» ManagementRestrictionOrRegulationZone + localid :CharacterString + namespace :CharacterString + versionid :CharacterString [0..1] + geometry :GM_Object + zonetype :ZoneTypeCode [1..*] + environmentaldomain :EnvironmentalDomain [1..*] + identifier :CharacterString + identifierscheme :CharacterString + text :CharacterString + script :CharacterString + transliterationscheme :CharacterString [0..1] + language :CharacterString + nativeness :NativenessValue + namestatus :NameStatusValue + sourceofname :CharacterString + pronunciation :PronunciationOfName + grammaticalgender :GrammaticalGenderValue [0..1] + grammaticalnumber :GrammaticalNumberValue [0..1] + specialisedzonetype :SpecialisedZoneTypeCode [0..1] + designationperiod :TM_Period + induvidualname: PT_FreeText [0..1] + organisationname: PT_FreeText [0..1] + positionname: PT_FreeText [0..1] + address: addressrepresentation [0..1] + contactinstructions: PT_FreeText [0..1] + electronicmailaddress: CharacterString [0..1] + hoursofservice: PT_FreeText [0..1] + telephonefacsimile: CharacterString [0..1] + telephonevoice: CharacterString [0..1] + website: URL [0..1] + role: PartyRoleValue [0..*] «voidable, lifecycleinfo» + beginlifespanversion :DateTime + endlifespanversion :DateTime [0..1] constraints {Specify at least the most specific legal instrument.} {competentauthority.role shall be "authority"} 8
Voidables 9
Voidables 123e4567 e89b 12d3 a456 426655440000 http://data.gov.se/geodata/so/havsomraden/ costalzonemanagementarea water 10
Joins 11
Flattening of complex attributes 123e4567 e89b 12d3 a456 426655440000 http://data.gov.se/geodata/so/adress/ costalzonemanagementarea water 12
Geographical names 13
Geographical names Name attributes Attribute table: areamanagementzones localid namespace versionid zonetype environmentaldspelling language nativeness namestatus sourceofnam pronunciatio grammaticalggrammaticalntext script transliterations 123e4567 e89b 12d3 a456 http://data.gov.se/geodata/so/ costalzonemanagemenwater Örarna 14
Geographical names Name attributes Attribute table: areamanagementzones localid namespace versionid zonetype environmentaldspelling language nativeness namestatus sourceofnam pronunciatio grammaticalggrammaticalntext script transliterations 123e4567 e89b 12d3 a456 http://data.gov.se/geodata/so/ costalzonemanagemenwater Örarna 15
Nordic viewpoints We acknowledge the complex data models as conceptual data models but propose that these should only be recommended encoding rules. i.e. flat data models are also valid for INSPIRE harmonisation. The content will be the same. We propose that voidable attributes are left out if they are not available. In the data models they should be considered desirable attributes. A modern software should be able to handle the merge of different attribute tables. We propose that the usage of complex data types, included from other application schemas (INSPIRE or ISO), are made simpler and that recommendations are made on alternative ways on how to fill the voidable elements of, for instance the data type GeographicalName. 16
A good example on simplification Prospecting areas for mining at the sea from the The Danish Agency for Water and Nature Management The data is identified as in scope of INSPIRE AM Fit for purpose 17
After transformation Assumptions made: attributes marked voidable are left out multiplicity changed from 1..* to exact 1 inheritances and data types are flattened 18
Keep it simple! 19