Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

schema.org: Library extension terms (diese haben den Status „work in progress“. Stand: 14. Mai 2013)

Darstellung

Ilustrierende Beispiele werden in Terse RDF Triple Language ("Turtle") Serialisierung notiert.

Mappings

Da die bestehenden Linked Data Services in Deutschland unabhängig voneinander entstanden und jede Bibliothek bzw. jeder Verbund eine eigene Datenmodellierung erarbeitete, sind die Umsetzungen vielfältig. Die unterschiedlichen Modellierungen resultieren unter anderem aus differierenden Katalogisierungsumgebungen an den verschiedenen Institutionen: Die RDF-Beschreibungen werden jeweils auf Basis unterschiedlicher Ausgangsformate erstellt. Als gemeinsames Ausgangsformat für die konkrete Datenmodellierung in RDF wurde daher MARC 21 gewählt. Zunächst folgt ein vom Ausgangsformat unabhängiges konzeptuelles Mapping. Es ist geplant, in Zukunft auch Mappings weiterer Ausgangsformate zur Verfügung zu stellen (siehe hierzu auch: Beispielimplementierungen).

...

Viele Datenerzeuger haben mit dem Problem zu tun, dass einzelne Informationselemente sowohl als Referenz auf ein anderes Datenset als auch als Literale Literal in den Daten vorliegen können.

Info
titleBeispiel

Das Element "Schöpfer" wird nach aktueller Erfassungspraxis der Beispielinstitution über einen Link auf die Gemeinsame Normdatei (GND) identifiziert, wurde aber in einer bestimmten Generation von Altdaten als Literal erfasst.

Da es sich um dasselbe Informationselement handelt, sollte für beide Fälle dieselbe rdf:Property verwendet werden. Andernfalls ist für den Nutzer der Daten Hintergrundwissen über der Modellierung der Daten notwendig, um beide Formen auswerten zu können.

Es ist außerdem nicht ratsam, eine rdf:Property im selben Datenset sowohl als owl:ObjectProperty (d.h. mit URI in Objektposition) als auch als owl:Datatype oder owl:AnnotationProperty (d.h. mit Literal in Objektposition) zu verwenden. Das sollte auch gelten, wenn ihre Definition keine Aussage zum erwarteten Objekttyp macht, d.h. z.B. keine rdfs:range-Beschränkung vorliegt. Deshalb wird hier empfohlen, im beschriebenen Fall jeweils mit einer owl:ObjectProperty zu arbeiten.

Die Entität, für die das Literal steht, muss dafür modelliert und referenzierbar gemacht werden. Die Modellierung sollte mindestens eine Property rdfs:label (oder vergleichbar) enthalten. Für die Referenzierung werden hier zwei Optionen skizziert:

...

  1. Generierung eines

...

  1. Hash-URIs für die Entität
  2. Arbeiten mit einem blank node

Option 1 "Hash-URI"

Ein Fragmentsbezeichner, eingeleitet durch das Hash-Zeichen ("#"), kann einem URI angefügt werden und macht einen Teil des Dokuments indirekt referenzierbar.

Codeblock
titleBeispiel Option 1 "Hash-URI"
<http://id.meinebibliothekmeineInstitution.de/12345> dcterms:creator <http://id.meinebibliothek.de/12345#creator_Bergmann_Bertram> .
<http://id.meinebibliothekmeineInstitution.de/12345#creator_Bergmann_Bertram> rdfs:label "Bertram Bergmann" .

Bei der Erzeugung der RDF-Daten sollte der Fragmentbezeichner so generiert werden, dass er sich bei ggf. anfallender erneuten Erzeugung der Daten (falls diese regelmäßig aus einem anderen Format konvertiert werden) möglichst nicht ändert. Diese Lösung ist der Option "blank node" vorzuziehen, da so die Entität hinter dem Literal nicht nur temporär und im Kontext der Datenversion referenzierbar ist (wie beim blank node, siehe dort), sondern längerfristig. Das kann auch Mappingprojekte begünstigen, die auf eine Ergänzung der fehlenden Links hinarbeiten.

Option 2 "blank node"

Ein "leerer Knoten" bzw. englisch "blank node" wird im RDF-Modell eine nicht-referenzierbare Ressource genannt.

Codeblock
titleBeispiel Option 2 "blank node"
<http://id.meineInstitution.de/12345> dcterms:creator [
    rdfs:label "Bertram Bergmann" .
]

Die Verwendung von blank nodes mindert die Nutzbarkeit der Daten (gegenüber URIs), da niemand sich auf die betroffende Entität beziehen kann und sie somit vernetzen könnte. Innerhalb einer Datenversion (z.B. Datendumpdatei vom 16.05.2017) wird die Referenzierbarkeit der im blank node beschriebenen Entität hergestellt über einen nur für diese Datenversion gültigen temporären Identifier. In der folgenden alternativen Notation in Turtle wird dies sichtbar, sie entspricht semantisch dem Beispiel oben:

Codeblock
titleBeispiel Option 2 "blank node", Darstellung mit temporärer ID
<http://id.meineInstitution.de/12345> dcterms:creator _:node1b6mbf4tqx36921502 .
_:node1b6mbf4tqx36921502 rdfs:label "Bertram Bergmann" .

...