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. Setting type obligation

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) <img src="/images/help/de/pmt_tutorial_content.png" alt="Requiring content in an attribute" title="Inhalt für ein Attribut verpflichtend machen" class="img-responsive img-inline-help">

Erlaubte Kardinalität festlegen - beipsielweise von unbegrenzt im Schema zu genau einem Vorkommen <img src="/images/help/de/pmt_tutorial_cardinality.png" alt="Setting allowed maximum and minimum cardinality" title="Kardinalität festlegen" class="img-responsive img-inline-help">

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. Domain restrictions

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. Restricting property types

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». Applying consistency constraints

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:

  1. Gehen sie auf «Schemas».
  2. Klicken sie auf «+ Neues Schema anlegen» am Ende der Schema-Liste, wählen sie «Profil erstellen» und klicken sie «Weiter».
  3. «Profil-Informationen ergänzen» Geben sie Name, Autorin oder Autor, Version und Beschreibung ihres Profils an. Wenn sie fertig sind, klicken sie auf «Weiter».
  4. «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».
  5. «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. Adding a type obligation

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. Adding an attribute obligation

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. Removing a codelist value

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. Creating a condition 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:

  1. Testcase-label (ATS-Titel): Der reservierte Tag testcase-label kann genutzt werden, um den Test Case in der ETF Test Suite zu benennen.
  2. Testcase-description (ATS-Beschreibung): Der reservierte Tag testcase-description kann genutzt werden, um den Test Case in der ETF Test Suite zu beschreiben.
  3. 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.
  4. Example: Der reservierte Tag example kann genutzt werden, um ein Beispiel für einen zulässigen Wert für das Attribut anzugeben.
  5. Example XML: Der reservierte Tag-Name example-xml ermöglicht es Nutzenden, ein XML-Fragment als Wert für das Beispiel-XML-Dokument anzugeben. Der example-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 den example-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:

Example-text
  1. 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:

  1. Tag/Wert-Paare können genutzt werden, um Beispiel-Werte anzugeben, die in eine Beispiel-XML-Datei eingefügt werden, welche zum Download bereitsteht.
  2. 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.