Handbücher GDI-Registry

Konzept für die fachliche Ableitung zum INSPIRE-Monitoring aus Metadaten des Geodatenkatalog.de und über die GDI-DE Testsuite.

Datenmodell:

 

 

Erläuterung zum IndicatorStatus:

Wert

Bedeutung

IndicatorStatus.unknown

Wert wurde noch nicht abgeleitet oder es war keine Aussage möglich (z.B. weil Metadaten nicht über GDK-DE verfügbar sind).

IndicatorStatus.valid

Aussage „gültig“ wurde erfolgreich abgeleitet.

IndicatorStatus.invalid

Aussage „ungültig“ wurde erfolgreich abgeleitet.

IndicatorStatus.notDerivable

zurzeit kein Verfahren zur Ableitung verfügbar (z.B. zur Ableitung von Aussagen über technische Konformität von Datensätzen)
oder Test konnte nicht mit der GDI-DE Testsuite ausgeführt werden (Exception der GDI-DE Testsuite).

 

Datensätze und Dienste:

 

  • SystemMonitoringRecord.fid
    Fileidentifier des Metadatensatzes.
    Der fileidentifier ist Eingabe und wird nicht abgeleitet.
  • SystemMonitoringRecord.md_exists_centralScenario:
    Es wird CSW.getRecordByID an GDK-DE (central-scenario nach „INSPIRE TG for Discovery Service“) gesendet.
    Anzahl der Response-MDRecords:
    0   => md_exists := invalid
    1   => md_exists := valid
    2+ => md_exists := valid 

 

  • SystemMonitoringRecord.md_accessible_centralScenario_test
    Es wird CSW.getRecordByID an GDK-DE (central-scenario nach „INSPIRE TG for Discovery Service“) gesendet.
    Anzahl der Response-MDRecords:
    0   => md_accessible_test  := invalid
    1   => md_accessible_test  := valid
    2+ => md_accessible_test  := invalid (da nicht eindeutig)
  • SystemMonitoringRecord.md_conform_legal
    Kann nicht aus Metadaten abgeleitet werden.
    => md_conform_legal  := IndicatorStatus.notDerivable

 

  • Bedingung  für alle weiteren Ableitungen:  md_accessible_test = valid

 

  • SystemMonitoringRecord.title:              
    Wird abgeleitet aus  xpath „identificationInfo[1]/*/citation/*/title“  (Resource Title).
    Wird rein informativ im Datenmodell geführt.

 

  • SystemMonitoringRecord.contactOrganisation
    SystemMonitoringRecord.contactEmail:
    es wird mit xpath „identificationInfo/*/pointOfContact“ die ResponsibleParty ermittelt, die die Rolle „pointOfContact“ (codelistValue) hat.
    falls nicht vorhanden, wird mit xpath „identificationInfo/*/pointOfContact“ die 1. gefundene ResponsibleParty genommen.

    Wenn vorhanden
    -> SystemMonitoringRecord.contactOrganisation := xpath „*/organisationName“
    -> SystemMonitoringRecord.contactEmail := xpath „//electronicMailAddress“

 

  • SystemMonitoringRecord.md_conform_test:
    wird über GDI-DE Testsuite abgeleitet. TestClassID=3 (INSPIRE Metadata)

 

  • hierarchyLevel:
    nicht im Datenmodell, wird abgeleitet aus xpath „hierarchyLevel“  (Hierarchy Level)
    Es wird der Wert des Attribut „codelistvalue“ verwendet.
    Wird verwendet zur Unterscheidung zwischen Metadaten über Dienste (service) und Metadaten über Datensätze (dataset, series).

Datensätze:

Voraussetzung: hierarchyLevel=dataset oder series, sowie Meldung als Datensatz

SystemDatasetRecord.data_area_actual,
SystemDatasetRecord.data_area_relevant:
kann derzeit nicht abgeleitet werden. Wird im Datenmodell für ggf. spätere Verwendung geführt.

  • SystemDatasetRecord.data_conform_legal
    wird abgeleitet wie folgt:
    wenn unter xpath „dataQualityInfo/*/report/*/result“ ein Reportergebnis existiert, das unter xpath */specification/*/title“ den Titel der Verordnung  ISDSS in einer offiziellen Europäischen Sprache zitiert und unter xpath „*/specification/*/date/*/date“ das korrekte Publikationsdatum eingetragen ist, dann wird unter xpath „*/pass“ die Konformitätsaussage (true oder false) ermittelt. 
    Publikationsdatum: "2010-12-08"
    Titel: siehe http://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:02010R1089-20110225 , Unterstützt: de,en,fr. Groß/Kleinschreibung ist egal.
    Konformitätsaussage = true -> data_conform_legal := valid
    Konformitätsaussage = false ->  data_conform_legal := invalid
    ansonsten ->  data_conform_legal := unknown

 

  • SystemDatasetRecord.data_conform_test:
    Es ist kein Testverfahren verfügbar
    à data_confrm_test := IndicatorStatus.notDerivable.

 

  • SystemDatasetRecord.data_accessible_view_fid:
    SystemDatasetRecord.data_accessible_download_fid:
    1. es wird der resourceIdentifier aus dem Meta über den Datensatz (aus GDK-DE) mit xpath „identificationInfo[1]/*/citation/*/identifier“ ermittelt.
    2. Es wird ein GetRecordRequest an den GDK-DE mit folgendem AND-Filter versendet:
      • PropertyIsEqualTo „apiso:type“ : „service“
      • PropertyIsLike „apiso:ServiceType“ : „view“ (bzw. „download“)
      • PropertyIsLike "apiso:OperatesOn" : resourceIdentifier  

    3. Wenn Anzahl der Response-Records > 0 , dann wird der FileIdentifier des ersten MDRecord verwendet.
  • SystemDatasetRecord.data_themes:
    es werden mit xpath „identificationInfo/*/descriptiveKeywords“ Einträge ermittelt. Wenn der mit xpath „*/thesaurusName/*/title“ ermittelte Wert des Eintrags "GEMET - INSPIRE themes, version 1.0" entspricht, wird der Themenname mit xpath „*/keyword“ ermittelt.
    Themennamen, die den offiziellen Themenamen, in einer der offiziellen Europäischen Sprache entsprechen (ermittelt aus INSPIRE-Registry) werden der Enumeration INSPIRE_Theme zugeordnet und der List data_themes hinzugefügt.
    Themen, die mehrfach (z.B. in mehreren Sprachen) in den Metadaten ausgezeichnet sind, werden in der Liste einfach geführt.
    Es ist aufgefallen, dass die Schreibweisen der Themen im GEMET und der INSPIRE-Registry nicht immer übereinstimmen. Aus diesem Grund werden vor einem Vergleich beide Bezeichnungen wie folgt normalisiert:
    Normalisierung:
    • Konvertierung zu lower-case
    • Verschiedene Schreibweisen des Gedankenstrichs: ndash (hex#2013), mdash(hex#2014) werden mit minus (hex#2212) ersetzt.

 

 

Dienste:

Voraussetzung: hierarchyLevel=service

  • SystemServiceRecord.service_type
    wird abgeleitet aus xpath „identificationInfo/*/serviceType“
    Wenn der Wert ‚discovery‘, ‚view‘, ‚download‘, ‚transformation‘, ‚invoke‘ oder 'other' (other=Geodatendienst) entspricht wird er entsprechend der Enumeration Service.Type zugeordnet.
    Wenn der Wert dem nicht entspricht, wird ServiceType.unknown zugeordnet.
  • SystemServiceRecord.service_yearly_requests:
    kann derzeit nicht abgeleitet werden. Wird im Datenmodell für ggf. spätere Verwendung geführt.
  • SystemServiceRecord.service_conform_legal
    wird abgeleitet wie folgt:
    wenn unter xpath „dataQualityInfo/*/report/*/result“ ein Reportergebnis existiert, das unter xpath */specification/*/title“ den Titel der Verordnung  Netzdienste in einer offiziellen Europäischen Sprache zitiert und unter xpath „*/specification/*/date/*/date“ das korrekte Publikationsdatum eingetragen ist, dann wird unter xpath „*/pass“ die Konformitätsaussage (true oder false) ermittelt.
    Publikationsdatum: "2009-10-20"
    Titel: siehe http://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32009R0976 , Unterstützt: de,en,fr, Groß/Kleinschreibung ist egal.
    Konformitätsaussage = true -> service_conform_legal := valid
    Konformitätsaussage = false ->  service_conform_legal := invalid
    ansonsten ->  service_conform_legal := unknown

 

  • SystemServiceRecord.service_url:
    wird zur Ableitung von SystemServiceRecord.service_conform_test benötigt und wird rein informativ im Datenmodell geführt.
    Die Dienste-URL wird wie folgt ermittelt:
    es werden mit xpath „identificationInfo/*/containsOperations/*“ alle Operationen ermittelt.
    es wird die Operation ausgewählt, deren Name „GetCapabilities“ ist.
    die url wird mit xpath „connectPoint/*/linkage“ ermittelt.
  • SystemServiceRecord.service_conform_test:
    wenn die service_url nicht vefügbar ist:
    à service_conform_test := IndicatorStatus.unknown
    ansonsten wird die service_url abgefragt und aus dem Root-Element des XML-Antwort-Dokuments auf die Dienstart/Version geschlossen.
    Entsprechend der Dienstart/Version wird über die GDI-DE Testsuite die Conformitöt durch den entsprechenden Test abgeleitet : (TestClassID,Name)
     - 8, INSPIRE_VIEW_WMS1.3.0
     - 7, INSPIRE_VIEW_WMS1.1.1
     - 11, INSPIRE_DOWNLOAD_ATOM
    Wenn der Test ohne Fehler durchfäuft: à service_conform_test := IndicatorStatus.valid
    Wenn der Test fehlerhaft ist: à service_conform_test := IndicatorStatus.invalid
    Falls die Dienstart/Version nicht erkannt werden kann oder kein Test für die Dienstart/Version verfügbar ist (z.B. INSPIRE-WFS) oder wenn das obige Verfahren fehlschlägt (z.B. weil die service_url nicht abfragbar ist), folgt
    à service_conform_test := IndicatorStatus.unknownHinweise und Beispiele

Hinweise:

  • Keine Stichwörter