Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Protégé positioniert sich somit klar als UI-orientiertes Mo- dellierungswerkzeug und überlässt sowohl den operativen Betrieb als auch das programmatische Datenmanagement den Datenbank- und App-Herstellern.

Globale Axiome versus Property Constraints

Wichtig zu wissen ist, dass sowohl Range- als auch Domain- Axiome (siehe [2]) global wirken, wenn sie direkt für Eigen- schaften definiert werden – mit entsprechenden Auswirkun- gen für die Ontologie.

...

Wollen Sie lokal für eine Klasse spezifizieren, dass eine Ei- genschaft auf einen bestimmen Datentyp oder Wertebereich beschränkt sein soll, so definieren Sie dies als Type-/Value- Restriction auf Klassenebene. Da die Nutzung gemeinsam verwendeter Eigenschaften sowohl in Klassen als auch in In- dividuals in einem Graphen sehr leicht zu ermitteln ist, kann die Konsistenz der Ontologie ebenfalls leicht validiert wer- den, aber ohne den Effekt der automatischen Klassifizierung. Bei der Spezifikation von Klassen weiter unten wird der Arti- kel darauf noch genauer eingehen.

Object Properties anlegen

Während Dateneigenschaften konkrete Werte verschiedener Datentypen, sogenannte Literale, für Individuals enthalten,

...

Wie bei den IRIs für die Klassen setzt Protégé per Vorgabe den IRI der Eigenschaft aus dem Ontologie-IRI, dem Trenn- zeichen # und dem eingegebenen Bezeichner zusammen. Das ist international eindeutig und in Abfragen gut lesbar.

Klassen – Klassifizierung versus Schemata

Der nächste Schritt nach dem Erstellen von Taxonomie, Da- ten- und Objekteigenschaften ist die Spezifikation der einzel- nen Klassen mit ihren jeweiligen Eigenschaften und Con- straints. Zuvor ging es darum, wie in Ontologien Domain- und Range-Axiome zur automatischen Klassifizierung von Indivi- duals eingesetzt werden, also zum automatischen Gruppie- ren von Individuals zu Mitgliedern einer oder mehrerer Klas- sen: die implizite Einfach- oder Mehrfachklassifizierung.

...

Für die Objekteigenschaften gilt Gleiches. Der wichtige Unterschied ist, dass der Restriction Filler hier im rechten Be- reich anstatt der Datentypen eine Klasse in der Taxonomie (der Klassenhierarchie) zur Auswahl anbietet. Die Spezifika- tion der Kardinalität wirkt auf die Objekteigenschaften in identischer Weise wie bei den Dateneigenschaften.

Individuals anlegen

Die Klassen mit ihren Restrictions sind angelegt, nun kom- men die Individuals an die Reihe, die eigentlichen Datensät- ze in der Ontologie. In Protégé wechseln Sie dazu zum Regis- ter Individuals by class und unten links in den Bereich Direct Instances. Er zeigt alle bereits vorhandenen Individuals der oben ausgewählten Klasse, in Bild 4 am Beispiel von Product. Beachten Sie, dass in der dotnetpro-Beispiel-Ontologie zu diesem Artikel [5] alle Produkte mit Labels versehen sind und

...

Wie im Screenshot zu sehen ist, erstellt Protégé in diesem Fall automatisch ein Label für das betreffen- de Produkt und stellt dieses auch entsprechend in der Nutzeroberfläche dar. Mit dieser Technik sind also sowohl die weltweite Eindeutigkeit von Indivi- duals wie auch die Lesbarkeit für den Administra-

Anlegen von Annotations

Annotationen sind Aussagen, die an jede Entität (Klasse, In- dividual oder Eigenschaft) angehängt werden können, ohne dabei deren Semantik zu beeinflussen. Verwendet werden können sie zum Beispiel für Kommentare, zur Angabe von Autoren oder Versionsnummern, aber auch für Übersetzun- gen in verschiedene Landessprachen. Sie werden wie Daten behandelt, lassen sich also via SPARQL abfragen und mani- pulieren. Reasoner berücksichtigen die Annotationen nicht.

...

de Dokumentation für Entwickler vereinfachen, sondern auch die Wartung von Inhalten für internationale Zielgrup- pen. OWL erlaubt es zudem, beliebige weitere und ebenso internationalisierbare Annotation-Typen anzulegen.

Kollaboration und I18N für Ontologien

Insbesondere für die Zusammenarbeit an Ontologien in inter- nationalen Teams ist ein Merkmal von Protégé besonders nützlich: Das Rendering der Bezeichner aller Entitäten ist konfigurierbar. So können Sie zum Beispiel bestimmen, ob Sie den kompletten IRI, die Named-Prefix-Notation oder ei- ne Annotation im UI darstellen wollen – im Fall der Annota- tion sogar, in welcher Sprache.

...

Was in Protégé noch manuell erfolgt, lässt sich in Applikatio- nen leicht automatisieren. Eine gute Praxis ist, für jede Klas- se eine Vorlage festzulegen, anhand der die Labels automa- tisch aus bestimmten Feldern der jeweiligen Individuals zu- sammengesetzt werden, für ein Produkt zum Beispiel aus den Feldern productCode und productName. Hierzu mehr in ei- nem späteren Artikel, wenn es um die Programmierung mit Ontologien und semantischen Graph-Datenbanken geht.

Data Properties versus Annotations

Da der Name von Individuals üblicherweise willkürlich und daher weder semantisch noch relational relevant ist, stellt sich die Frage, ob für derartige Angaben nicht grundsätzlich Annotationen statt Dateneigenschaften verwendet werden

...

Abfragen gegen Individuals von rein auf Eigenschaften ba- sierenden Klassen hingegen lassen sich leicht programma- tisch und somit automatisch generieren. Individuals können programmatisch gegen die Property Constraints validiert und basierend darauf sogar SHACL-Shapes automatisch erzeugt werden. Hier eröffnet sich ein enormes Potenzial für Auto- matisierungen und Produktivitätssteigerungen, die ein Folge- artikel noch genauer beleuchten wird.

Export von Modellen

Zum Schluss dieses Beitrags sei noch ein Blick darauf gewor- fen, wie sich die in Protégé erzeugten Modelle für die Nut- zung in W3C-konformen Graph-Datenbanken exportieren lassen. Dazu kann es aus Protégé einfach in einem der ange- botenen Standardformate wie zum Beispiel RDF/XML, Turt- le oder JSON-LD gespeichert werden. Wählen Sie hierzu le- diglich den Menüpunkt File | Save As und selektieren Sie das gewünschte Format.

Semantische Graph-Datenbanken wie zum Beispiel Graph- DB von Ontotext verfügen über diverse Adapter, die den Im- port des Modells sehr vereinfachen. Für die Praxis empfiehlt es sich, Modell und Instanzen in getrennten Sub-Graphen zu verwalten. So ist es sehr leicht möglich, den Modellgraphen in der Datenbank nach Updates in Protégé zu aktualisieren, ohne dabei die bestehenden Daten zu gefährden.

Fazit

Protégé ist ein ausgereiftes Werkzeug zum Modellieren von Ontologien und ein unverzichtbarer Assistent beim Erstellen und Warten von W3C-konformen semantischen Datenmodel- le und Ontologien. Es bietet nützliche Funktionen, um Klas- se, Taxonomien, Eigenschaften und Constraints in einem für Entwickler komfortablen und konfigurierbaren UI zu verwal- ten, ohne sich um die darunterliegenden RDF-, RDFS- und OWL-Tripel und ihre vielfältigen Repräsentationen in den di- versen Dateiformaten kümmern zu müssen.

...