Mit dem hale»connect Profil-Management-Werkzeug ein Profil anlegen
hale»connect Profile Management Tool (PMT)
Profile können dabei helfen, beispielsweise Metadaten-Standards wie ISO 19115 umzusetzen. Jedoch sind sie häufig sehr komplex und erfordern hohen Arbeitsaufwand für Erstellung und Pflege. Nicht selten werden Profile in Excel-Tabellen oder ähnlichen Werkzeugen mit hunderten Einträgen verwaltet. Das Eintragen und Pflegen der Daten, die Konformität zu Validatoren und regelmäßiges Testen kann schnell zu schwer handhabbaren Aufwand führen. Das hale»connect Profil-Management- Werkzeug (PMT) ernöglicht es, Profile einfach zu definieren und zu managen. Mit geringem Aufwand können unter der Nutzung von Editoren und Validatoren Profile entworfen werden, um sicherzustellen, dass beispielsweise Metadaten dauerhaft konform zu, sich möglicherweise verändernden, Anforderungen sind.
Profile
In hale»connect beschreibt ein Profil die engere Restriktion eines Schemas durch die Definition von Regeln, die auf Elemente des Datenmodells angewandt werden. Ein Profil wird über Konsistenz-Bedingungen und Tags definiert, die auf Elemente des Schemas angewandt werden.
Ein Profil enthält dabei die folgenden Arten von Informationen:
Verpflichtung für Objektarten Die Verpflichtung für Objektarten ermöglicht Nutzenden zu bestimmen, ob eine Objektart in einem Datensatz vorkommen muss. Profile können zusätzliche oder strengere Regeln enthalten als das ursprüngliche Schema.
Verpflichtung für Attribute Die Verpflichtung für Attribute ermöglicht Nutzenden festzulegen, ob ein Attribut in einem Datensatz vorkommen muss. Im Folgenden finden sich einige Beispiele:
Inhalt für ein Attribut verpflichtend machen (vgl. nillable flag)
Erlaubte Kardinalität festlegen - beipsielweise von unbegrenzt im Schema zu genau einem Vorkommen
Bedingungen für Wertebereich
Bedingungen für den Wertebereich ermöglichen es Nutzenden, Codelisten für ein Attribut zu verwalten oder Codelisten-Werte zu entfernen, falls notwendig. Bedingungen für den Wertebereich können auch genutzt werden, um alle erlaubten Werte aufzuzählen.
Bedingungen für Datentypen
Bedingungen für Typen können genutzt werden, um einen bestimmten Datentyp erforderlich zu machen, wo im Schema mehrere Datentypen erlaubt sind, beispielsweise eine Einschränkung bei Vorkommen von choice oder anyType.
Konsistenz-Bedingungen
Konsistenz-Bedingungen können genutzt werden, um über mehrere Elemente hinweg zu testen.
Werte-Abhängigkeiten für Profil-Elementen können definiert werden, beispielsweise «Wenn Element A den Wert X hat, muss Element B den Wert Y haben».
Existenz-Abhängigkeiten können für Profil-Elemente definiert werden, beispielsweise «Wenn Element A existiert, darf Element B nicht existieren».
Kombinationen von Werte- und Existenz-Bedingungen können ebenfalls definiert werden, beispielsweise «Wenn Element A den Wert X hat, darf Element B nicht existieren».
Ein Profil unter Nutzung des hale»connect Profil-Management-Werzeugs (PMT) anlegen
In diesem Tutorial wird ein auf dem CSW 2.0.2 Metadata Application-Schema basierendes Profil erstellt. Melden sie sich dazu in der Rolle «Superanwender» oder «Themenmanager» an und folgen sie diesem Ablauf:
- Gehen sie auf «Schemas».
- Klicken sie auf «+ Neues Schema anlegen» am Ende der Schema-Liste, wählen sie «Profil erstellen» und klicken sie «Weiter».
- «Profil-Informationen ergänzen» Geben sie Name, Autorin oder Autor, Version und Beschreibung ihres Profils an. Wenn sie fertig sind, klicken sie auf «Weiter».
- «Schema auswählen» Wählen sie das Schema, auf dem ihr Profil basieren soll. Klicken sie auf «+Schema auswählen» und navigieren sie zum CSW 2.0.2 Metadata Application-Schema auf hale>>connect. Klicken sie auf das „»“-Symbol, um es auszuwählen. Wenn sie fertig sind, klicken sie auf «Weiter».
- «Anlegen bestätigen» Überprüfen sie in einem letzten Schritt ihr Profil. Sie können für ihr Profil ein Thema hinzufügen oder anlegen. Wenn sie fertig sind, klicken sie auf «Anlegen».
Sobald ihr Profil angelegt ist, können sie diesem Verpflichtungen für Objektarten und Attribute, Bedingungen für Wertebereiche und Datentypen sowie Konsistenz-Bedingungen hinzufügen.
Verpflichtung für eine Objektart hinzufügen
Navigieren sie zu ihrem Profil und öffnen sie den «Objektarten»-Bereich. Geben sie in die Suchleiste «CI_ResponsibleParty» ein. Scrollen sie durch die Ergebnis-Liste und aktivieren sie den Schalter neben dem «Bearbeiten»-Symbol, um die Objektart als verpflichtend zu kennzeichnen.
Verpflichtung für ein Attribut hinzufügen
Um eine Verpflichtung für ein Attribut zur Objektart «CI_ResponsibleParty» hinzuzufügen, klicken sie auf das «Bearbeiten»-Symbol. Klicken sie auf «mehr», um die vollständige Liste der vorhandenen Attribute einzusehen. Klicken sie auf den Pfeil neben «organisationName», um die Liste von Optionen für dieses Attribut angezeigt zu bekommen. Um die Kardinalität des Attributs zu ändern, ändern sie den Wert für «Minimale Anzahl» und/oder «Maximale Anzahl», indem sie eine Nummer eingeben. Um Inhalt in dem Attribut verpflichtend zu machen, öffnen sie das Aufklappmenü neben der Bezeichnung «Inhalt verpflichtend» und wählen sie einen Wert aus.
Bedingung für einen Wertebereich festlegen
Als nächstes wird dem Attribut «role» eine Beschränkung für den Wertebereich hinzugefügt. Scrollen sie an das Ende der Anzeige für «CI_ResponsibleParty» und klicken sie auf den Pfeil neben «role». Klicken sie auf den Codelisten-Wert «author», um diesen von der Liste der erlaubten Werte zu entfernen.
Klicken sie auf «Update», um ihre Änderungen an «CI_ResponsibleParty» zu speichern.
Eine Konsistenz-Bedingung hinzufügen
Die INSPIRE Technical Guidelines erfordern die Existenz von entweder «MD_LegalConstraint» oder «MD_SecurityConstraint» für die korrekte Angabe von Metadaten. Dem Profil wird nun eine Konsistenz-Bedingung hinzugefügt, um diese Anforderung umzusetzen. Navigieren sie zum «Konsistenz-Bedingungen»-Bereich ihres Profils. Klicken sie auf «+Konsistenz-Bedingung hinzufügen». Wählen sie im ersten Schritt einen oder mehrere Operatoren aus dem Aufklappmenü mit Operatoren aus. Wählen sie hier den «OR»-Operator. Klicken sie dann auf «+Bedingung erstellen». Geben sie «MD_Metadata» in das erste Feld ein und navigieren sie durch das Schema, um das folgende Attribut auszuwählen: MD_Metadata.identificationInfo.MD_DataIdentification.resourceConstraints.MD_LegalConstraints Klicken sie auf das Attribut «MD_LegalConstraints» und wählen sie «EXISTS» aus dem erscheinenden Aufklappmenü aus. Scrollen sie zum Ende des Dialogfensters und klicken sie auf «Bestätigen», um die Konsistenz-Bedingung hinzuzufügen. Wiederholen sie den beschriebenen Schritt, um der Konsistenz-Bedingung eine zweite Bedingung hinzuzufügen. Geben sie «MD_Metadata» in das erste Feld ein und navigieren sie durch das Schema, um das folgende Attribut auszuwählen: MD_Metadata.identificationInfo.MD_DataIdentification.resourceConstraints.MD_SecurityConstraints und fügen sie die «EXISTS»-Bedingung hinzu. Wenn sie fertig sind, scrollen sie zum Ende des Dialogs und klicken sie auf «Bestätigen».
Executable test framework und Executable test suite
Das Executable Test Framework (ETF) ist ein Open-source Test-Rahmenwerk, um Geodaten, Metadaten und Web-Dienste in Geodateninfrastrukturen (GDI) zu testen. Für mehr Informationen besuchen sie bitte den folgenden Link: Über ETF.
Der «Dateien»-Bereich eines Profils enthält Optionen zum Herunterladen eines Testsuite- und eines Beispiel-XML-Dokuments, die beide auf dem definierten Profil basieren.
Ein Profil muss für alle verpflichtenden Objektarten und Attribute gültige Beispiel-Werte enthalten, um die Generierung einer Beispiel-XML-Datei zu ermöglichen. Es muss ein Profil mit mindestens einer Bedingung existieren um den Download einer Test Suite zu ermöglichen. Das Format der Test Suite ist aufgrund der geforderten Kompatibilität mit den AdV- und GDI-DE-Test Suites (derzeit in Entwicklung) sowie mit dem INSPIRE Reference Validator ETF / BaseX. Um eine ETF Test Suite zu nutzen, muss diese exportiert und in einer ETF-Installation aufgesetzt werden.
Im hale»connect Profil-Management-Werkzeug (PMT), können Tag/Wert-Paare genutzt werden, um Profil-Elemente festzulegen, die für die Generierung der Test Suites und der Beispiel-XML-Dateien genutzt werden.
Es gibt folgende reservierte Tags für Tag/Wert-Paare:
- Testcase-label (ATS-Titel): Der reservierte Tag
testcase-label
kann genutzt werden, um den Test Case in der ETF Test Suite zu benennen. - Testcase-description (ATS-Beschreibung): Der reservierte Tag
testcase-description
kann genutzt werden, um den Test Case in der ETF Test Suite zu beschreiben. - Module-id: Der reservierte Tag
module-id
kann genutzt werden, um zu signalisieren, dass ein Test Case zu einem bestimmten Modul (einer Gruppe von Tests) gehört, die in der ETS-Datei gemeinsam aufgeführt wird. - Example: Der reservierte Tag
example
kann genutzt werden, um ein Beispiel für einen zulässigen Wert für das Attribut anzugeben. - Example XML: Der reservierte Tag-Name
example-xml
ermöglicht es Nutzenden, ein XML-Fragment als Wert für das Beispiel-XML-Dokument anzugeben. Derexample-xml
-Tag steht für jede Objektart und jede Eigenschaft zur Verfügung. Fügen sie zunächst ein Tag/Wert-Paar hinzu und wählen sie dann denexample-xml
-Tag aus den verfügbaren Optionen im Aufklappmenü. Geben sie als nächstes ein gültiges XML-Code-Fragment in das Textfeld ein. Wenn es Namensräume enthält, müssen diese im Fragment definiert werden.
Beispiel für ein valides Fragment:
<gco:CharacterString xmlns:gco="http://www.isotc211.org/2005/gco">Example-text</gco:CharacterString>
- Frei definierbare Tags.
Beispiel-XML-Dateien und Test Suite-Dateien generieren
Es wird eine Test Suite erzeugt, die auf dem angelegten Profile basiert und eine Beispiel-XML-Datei, welche die Angaben in den entsprechenden Tag/Wert-Paaren nutzt. Tag/Wert-Paare können für mehrere Zwecke genutzt werden:
- Tag/Wert-Paare können genutzt werden, um Beispiel-Werte anzugeben, die in eine Beispiel-XML-Datei eingefügt werden, welche zum Download bereitsteht.
- Tag/Wert-Paare können genutzt werden, um die Struktur der erzeugten ETS-Datei festzulegen.
Es wird ein Tag/Wert-Paar angelegt, um einen Wert anzugeben, der in der Beispiel-XML-Datei verwendet wird.
Navigieren sie zu dem im Rahmen des Tutorials angelegten Profil und klicken sie auf den «Objektarten»-Bereich. Geben sie in der Suchleiste «CI_ResponsibleParty» ein und kehren sie zu der Objektart zurück, mit der bereits zuvor gearbeitet wurde. Um der Objektart «CI_ResponsibleParty» ein Tag/Wert-Paar hinzuzufügen, klicken sie auf das «Bearbeiten»-Symbol. Navigieren sie zu dem «CI_ResponsibleParty»-Attribut «organisationName», erweitern sie dessen Ansicht unter Nutzung des Pfeil-Symbols und wählen sie «+Tag/Wert-Paar hinzufügen». Wählen sie den Tag-Namen «example» aus dem Aufklappmenü aus. Geben sie im Textfeld den Wert «wetransform» ein.
Wenn sie fertig sind, klicken sie «Update», um das Tag/Wert-Paar hinzuzufügen. Es ist nicht möglich, mehrere Tag/Wert-Paare mit demselben Tag-Namen hinzuzufügen.
Navigieren sie zum «Dateien»-Bereich ihres Profils. Klicken sie auf «Download as Test-Suite», um eine ETS-Datei herunterzuladen und klicken sie auf «Beispiel-XML-Dokument», um eine Beispiel-XML-Datei herunterzuladen, die genutzt werden kann, um ihr Profil zu testen und ein valides Beispiel bereitzustellen, das mit den Anforderungen des Profils übereinstimmt. Öffnen sie die heruntergeladene Beispiel-XML-Datei in einem XML-Editor, um das «CI_ResponsibleParty»-Objekt und den dafür angegebenen Wert «wetransform» einzusehen.
Sie müssen eine laufende Instanz des ETF aufsetzen, um ihre ETS-Datei zu nutzen. Besuchen sie für mehr Informationen die ETF GitHub-Seite.