Wie auf dieser Seite angedeutet soll hier ein Vokabular zur Repräsentation von Identifierverknüpfungen entwickelt werden. Es dient dem Zweck, die Identifier, die im Datensatz aus einem Verbundkatalogs notiert sind, zu verknüpfen mit:
- dem jeweiligen sie enthaltenden Datensatz
- einer dazugehörigen Ressource (z.B. einer EKI-URN).
Identifikation der Ressource oder des Datensatzes?
Zu berücksichtigen ist, dass die verschiedenen Identifikatoren verschiedene Dinge identifizieren. Es gibt solche, die bibliographische Ressourcen identifizieren und solche, die deren Beschreibungen (d.h. Titeldatensätze) identifizieren:
Hier eine entsprechende Zuordnung einiger bekannter sowie anderer für das Projekt relevanter Identifier zu den verschiedenen Klassen:
Identifikatoren von bibl. Ressourcen |
Identifikatoren von Titeldatensätzen |
|---|---|
|
VD16-, VD17-, VD18-Nummer, Inkunabelkataloge (GW, H, HC)
Jakob Voß schlägt folgendes vor
vorhandene VD16/17/18-Nummern zu URIs zu machen anstatt neue IDs zu prägen, die nirgends in den Katalogen eingetragen sind. [...] Die Altbestände haben in der Regel keine EKI aber dafür eine andere verbundübergreifend einheitliche Nummer. Es müsste nur geklärt werden, wie die genaue URI-Syntax der Nummern ist, also welches URI-Prefix (z.B.
urn:nbn:de:vd16/,urn:nbn:de:vd17/,urn:nbn:de:vd18/), welche erlaubten Zeichen und welche Normalisierungsregeln.
Beispiele für VD16-Nummer:
- ZV 27752
- L 5547
- R 2100
Diese Nummer passen auf den Regex[A-Z]+\s[0-9]+
Beispiele für VD17-Nummer:
...
Diese Nummer passen auf den Regex [0-9]+:[0-9]+[A-Z]
Interessant sind auch die Inkunabelbezeichner GW (Gesamtkatalog der Wiegendrucke), H (Hain) bzw. HC (Hain-Copinger).
Für GW könnte man sich den Präfix urn:nbn:de:gw/ vorstellen, was natürlich insofern irreführend ist, da der GW (wie alle Inkunabelkataloge) den Anspruch hat, ein _Gesamt_katalog zu sein.
Die Syntax der GW-Identifier ist gemischt:
- 3 Sp. 2a
- 02740
- 0277005N
- 3 Sp. 91b
- n0257
- M1084710
Der Katalog des GW macht immerhin CoolURIs aus den Identifiern, die uns ein paar Hinweise geben:
- 3 Sp. 2a wird III002A (= http://gesamtkatalogderwiegendrucke.de/docs/GWIII002A.htm )
- 02740 wird 02740 (= http://gesamtkatalogderwiegendrucke.de/docs/GW02740.htm )
- 0277005N wird 0277005N (= http://gesamtkatalogderwiegendrucke.de/docs/GW0277220N.htm )
- 3 Sp. 91b wird III091B (= http://gesamtkatalogderwiegendrucke.de/docs/GWIII091B.htm )
- n0257 wird n0257 (= http://gesamtkatalogderwiegendrucke.de/docs/n0257.htm )
- M1084710 wird M1084710 (= http://gesamtkatalogderwiegendrucke.de/docs/M1084710.htm )
Interessant sind zwei Sachen:
- Führende Nullen sind syntaktisch relevant
- Führende Buchstaben sind case sensitive
Somit könnten wir folgende URNs für GW konstruieren:
- 3 Sp. 2a: urn:nbn:de:gw/III002A
- 02740: urn:nbn:de:gw/02740
- 0277005N: urn:nbn:de:gw/0277005N
- 3 Sp. 91b: urn:nbn:de:gw/III091B
- n0257: urn:nbn:de:gw/n0257
- M1084710: urn:nbn:de:gw/M1084710
Einen Regex daraus zu machen wird schwer...
Quellen für Zuordnung von Identifiern
"LCCN Permalinks are persistent URLs for bibliographic records in the Library of Congress Online Catalog." LCCN Permalink FAQ Nr. 1
"OCLC numbers identify bibliographic records, not manifestations" Jeff Young auf public-lld
Beispiel
Ausgangslage
Wir haben einen Datensatz aus dem BVB: http://opac.bib-bvb.de:8080/InfoGuideClient.fasttestsis/start.do?Query=-1="BV035542944" Er beinhaltet folgende IDs:
- BV-Nummer: BV035542944
- OCLC-Nummer: 991052625
- ISBN-10: 3-8273-2774-1
- EKI: DNB991052625(faktisch ist die EKI wohl nicht im Datensatz, theoretisch ist es aber die richtige.)
Es gibt im culturegraph bereits einen EKI-URI für durch den Datensatz beschriebene Ressource: urn:nbn:de:eki/DNB991052625
Aufgabe
Es soll folgendes in RDF ausgedrückt werden:
- Die Beziehung zwischen dem BVB-Datensatz und den in ihm enthaltenen Identifikatoren.
- Die Beziehung zwischen der durch die EKI-URN identifizierten Ressource und den Identifikatoren, die sich in ihren Beschreibungen finden.
Prädikate vs. xsd. Es bieten sich vordergründig zwei Wege an, die Beziehung zwischen der bibliographischen Beschreibung (dem Titeldatensatz) und den darin enthaltenen Identifikatoren auszudrücken:
- kann die Art des Identifiers über das jeweilige Prädikat bestimmt werden und
- kann der Identifier über einen xsd-Datentypen typisiert werden.
Beide Ansätze nutzen Blank Nodes, um der Unterscheidung von Identifikatoren für bibliographische Ressourcen und bibliographische Beschreibungen gerecht zu werden. Das heißt, dass
- der bibliographischen Ressource Identifikatoren der Titeldatensätze nur mittelbar - eben über die Verlinkung mit der Beschreibung durch das Prädikat wdrs:describedby - zugewiesen werden und dass ebenso
- dem Titeldatensatz Identifikatoren der bibliographischen Ressource nur mittlebar zugewiesen werden - eben über die Verlinkung mit der bibliographischen Ressource über ein (noch zu findendes) Prädikat ex:describes.
Weg 1
@prefix biro: <http://purl.org/spar/biro/> . @prefix cg: <http://culturegraph.org/vocab/example/> . @prefix dct: <http://purl.org/dc/terms/> . <http://opac.bib-bvb.de:8080/InfoGuideClient.fasttestsis/start.do?Query=-1="BV035542944"> a biro:BibliographicRecord ; dct:source <http://lobid.org/collection/bvbcatalog> ; cg:bvn "BV035542944" ; cg:oclcn "991052625" ; ex:describes [ cg:isbn "3-8273-2774-1" ] .
@prefix cg: <http://culturegraph.org/vocab/example/> . @prefix dct: <http://purl.org/dc/terms/> . @prefix bibo: <http://purl.org/ontology/bibo/> . @prefix frbr: <http://purl.org/vocab/frbr/core#> urn:nbn:de:eki/DNB991052625 a dct:BibliographicResource ; a bibo:Book ; a frbr:Manifestation ; wdrs:describedby [ cg:bvn "BV035542944" ; cg:oclcn "991052625" ] ; cg:isbn "3-8273-2774-1" .
Anmerkungen:
- Ob die BiRO wirklich angewendet werden sollte, ist fraglich. Sie scheint noch einige Mängel ausfzuweisen.
- Es scheint mir sinnvoll innerhalb lobid.org URIs für die Verbundkataloge zu prägen à la http://lobid.org/collection/bvbcatalog.
- Provenienzdaten sind - bis auf die Quelle - gar keine enthalten. Wir müssen uns dazu ja sowieso noch Gedanken machen, siehe auch hier.
Weg 2
@prefix biro: <http://purl.org/spar/biro/> . @prefix dct: <http://purl.org/dc/terms/> . <http://opac.bib-bvb.de:8080/InfoGuideClient.fasttestsis/start.do?Query=-1="BV035542944"> a biro:BibliographicRecord ; dct:source <http://lobid.org/collection/bvbcatalog> ; dct:identifier "BV035542944"^^xsd:BVN ; dct:identifier "991052625"^^xsd:OCLCN ; ex:describes [ dct:identifier "3-8273-2774-1"^^xsd:ISBN ] .
@prefix dct: <http://purl.org/dc/terms/> . @prefix bibo: <http://purl.org/ontology/bibo/> . @prefix frbr: <http://purl.org/vocab/frbr/core#> urn:nbn:de:eki/DNB991052625 a dct:BibliographicResource ; a bibo:Book ; a frbr:Manifestation ; dct:identifier "3-8273-2774-1"^^xsd:ISBN wdrs:describedby [ dct:identifier "BV035542944"^^xsd:BVN ; dct:identifier "991052625"^^xsd:OCLCN ] .
Frage
Welcher Ansatz sollte verfolgt werden:
- Schaffung/Nutzung von Prädikaten zur Verlinkung von bibliographischen Resourcen und Titeldatensätzen mit ihren Identifikatoren oder
- Erstellung einer Schemadefinition mit Datentypen für die einzelnen Identifikatoren?
Ich (AP) habe diese Frage auf SemanticOverflow gepostet und die Bibo-Malingliste sowie die W3C-LLD-Gruppe darüber informiert. Die Mehrheit der Antworten tendiert zur ersten Lösung (RDF-Prädikate prägen). Die entsprechenden Prädikate werden in der Tabelle auf der Seite Relevante Identifier ergänzt.

Kommentar
Dr. Andres Quast sagt:
26.04.2011Hallo Adrian,
mir scheinen beide Wege nicht wirklich gut zu sein: Beide führen dazu, dass die Identifier durch culturegraph, also nicht durch sich selbst typisiert werden. Das heisst, wenn irgendwann neue Identifier in Records bzw. Ressourcen auftreten, muss jedesmal der culturegraph-Namensraum bzw. die Schema-Description angepasst werden. Die Identifier für Records und Resourcen sollten sich besser selbst beschreiben (keine Literale sondern Subjekte mit eigenen URIs sein).