30
DATA SUPPORT OPEN Trainingsmodul 2.3 Persistente URIs entwerfen und verwalten Die Mitglieder des PwC Netzwerks unterstützen Organisationen und Individuen dabei, die Werte zu schaffen, nach denen sie suchen. Wir sind ein Netzwerk von Unternehmen mit nahezu 180.000 Mitarbeitern in 158 Ländern, die sich dazu verpflichtet fühlen Qualität in den Bereichen Assurance, Tax & Legal sowie Advisory zu liefern. Sagen Sie uns, was Ihnen wichtig ist und besuchen Sie für weitere Informationen unsere Webseite www.pwc.com PwC bezieht sich auf das PwC Netzwerk und/oder eine oder mehrere Mitgliedsfirmen, von denen jede ein rechtlich selbstständiges Unternehmen ist. Besuchen Sie unsere Webseite www.pwc.com/structure für weitere Details.

Das Entwerfen und die Verwaltung von persistenten URIs

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORT

OPEN

Trainingsmodul 2.3

Persistente URIs entwerfen und verwalten

Die Mitglieder des PwC Netzwerks unterstützen Organisationen und Individuen dabei, die Werte zu schaffen, nach denen sie suchen. Wir sind ein Netzwerk von Unternehmen mit nahezu 180.000

Mitarbeitern in 158 Ländern, die sich dazu verpflichtet fühlen Qualität in den Bereichen Assurance, Tax & Legal sowie Advisory zu liefern. Sagen Sie uns, was Ihnen wichtig ist und besuchen Sie für

weitere Informationen unsere Webseite www.pwc.com

PwC bezieht sich auf das PwC Netzwerk und/oder eine oder mehrere Mitgliedsfirmen, von denen jede ein rechtlich selbstständiges Unternehmen ist. Besuchen Sie unsere Webseite

www.pwc.com/structure für weitere Details.

Page 2: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Diese Präsentation wurde von PwC erstellt Autoren: Michiel De Keyzer, Nikolaos Loutas and Stijn Goedertier

Folie 2

Open Data Support wird von der Europäischen Kommission, gemäß SMART 2012/0107 ‘Lot 2: Provision of services for the Publication, Access and Reuse of Open Public Data across the European Union, through existing open data portals’(Vertrag No. 30-CE-0530965/00-17) finanziert. © 2014 European Commission

Metadaten der Präsentation Disclaimer

1. Die Ansichten, die in dieser Präsentation vertreten werden, spiegeln ausschließlich die Meinung des Autors wider und dürfen unter keinen Umständen als offizielle Position der Europäischen Kommission interpretiert werden. Die Europäische Kommission übernimmt weder eine Garantie für die Genauigkeit der Informationen, die Inhalt dieser Präsentation sind, noch akzeptiert sie jegliche Verantwortung für die Nutzung der selbigen. Referenzen innerhalb dieser Präsentation zu spezifischen Produkten, Spezifikationen, Prozessen oder Services durch Handelsnamen, Markenzeichen, Hersteller oder ähnliches, implizieren nicht unbedingt deren Unterstützung oder Bevorzugung durch die Europäische Kommission. Der Autor hat sämtliche Anstrengungen unternommen, um sicherzustellen, dass er/sie, wo nötig, die Erlaubnis erhalten hat, die einzelnen Teile der in dieser Präsentation genutzten Manuskripte zu benutzen. Dies beinhaltet das Einholen einer Nutzungserlaubnis von den Lizenzinhabern oder deren gesetzlichen Vertretern zur Nutzung von Illustrationen, Karten, Schaubildern, die durch Rechte des geistigen Eigentums geschützt sind.

2. Diese Präsentation wurde sorgfältig von PwC zusammengestellt, jedoch gibt PwC keine Erklärung darüber ab und übernimmt keine Garantie dafür (weder ausdrücklich noch implizit), dass die Informationen in dieser Präsentation vollständig oder akkurat sind. PwC ist nicht für die Informationen in dieser Präsentation oder jedwede Entscheidung oder Konsequenz, die aus ihr resultieren, haftbar zu machen. PwC haftet nicht für etwaige Schäden, die durch die Nutzung der Informationen in dieser Präsentation entstehen sollten. Die Informationen in dieser Präsentation sind genereller Natur und einzig dafür bestimmt, eine Orientierungshilfe für Themen allgemeinen Interesses zu sein. Diese Präsentation ist kein Ersatz für professionelle Beratung zu jedwedem speziellen Thema. Kein Leser sollte auf der Basis der Themendarstellungen in dieser Präsentation handeln, ohne vorher angemessene professionelle Beratung einzuholen.

Page 3: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Lernziele

Am Ende dieses Trainingsmoduls sollten Sie wissen:

• was ein Uniform Resource Identifier (URI) ist.

• warum die Persistenz von URIs wichtig ist.

• wie Sie persistente URIs für Datenressourcen entwerfen und verwalten können.

Folie 3

Page 4: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Inhalt

Dieses Modul enthält...

• eine Einführung in die Uniform Resource Identifiers (URIs).

• eine Reihe von Designprinzipen für den Aufbau persistenter URIs.

• Service-Anforderungen für persistente URIs.

Folie 4

Page 5: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Uniform Resource Identifiers (URIs) Als gemeinsame Bezeichnung für Dinge, z.B. Personen, Gebäude, Standorte, Informationsquellen...

Folie 5

Page 6: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Was ist ein URI?

Ein URI ist

„eine kompakte Abfolge von Zeichen, die eine abstrakte oder physische Ressource identifiziert”

[TBL et al, 2005].

• “Kompakt” bedeutet, dass die Zeichenfolge keine Leerstellen enthalten darf;

• “Abstrakt oder physisch” bedeutet, dass sich der URI auf ein reales Objekt (oder Ding) beziehen kann, z.B. auf eine Person, ein Gebäude oder sogar auf abstrakte Ideen, wie beispielsweise eine Dienstleistung oder ein Web-Dokument.

Folie 6

Page 7: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Zum Beispiel...

Ein Land, z.B. Deutschland

- http://publications.europa.eu/resource/authority/country/DEU

Eine Organisation, z.B. das Amt für Veröffentlichungen

- http://publications.europa.eu/resource/authority/corporate-body/PUBL

Ein Datensatz, z.B. Country Name Authority List

- http://publications.europa.eu/resource/authority/country/

Folie 7

DE

Page 8: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Grundprinzipen

• Persistent, d.h. ein URI ist einer bestimmten Ressource permanent zugewiesen. Er ist stabil, ändert sich nicht und verschwindet nicht mit der Zeit.

• Dereferenzierbar, d.h. ein „User-Agent“ kann über das Internet eine Anfrage an diesen URI stellen und empfängt eine aussagekräftige Antwort.

Wenn der User-Agent ein Webbrowser ist, dann sollte das, was zurückkommt, ein von Menschen lesbares HTML-Dokument sein.

Wenn der User-Agent ein RDF Client ist, dann sollte derselbe URI RDF zurückgeben.

• Eindeutig, d.h. es sollte keine Verwechslungsgefahr zwischen Identifiern für Web-Dokumenten und Identifiern für andere Ressourcen bestehen.

Es sollte einen unterschiedlichen URI für die Referenz des Autors einer Webseite und der Webseite selbst geben.

Folie 8

Page 9: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Wesentliche Voraussetzungen

• Um URIs zu erstellen und zu verwalten, sollte man der Besitzer der jeweiligen Internet-Domain sein und Administratorenrechte haben.

• Für Regierungsdomains ist es sehr wahrscheinlich, dass diese von einer zentralen Behörde verwaltet werden. Bevor Sie starten, sollten Sie Rücksprache mit Ihren Kollegen halten.

• Persistente und dereferenzierbare URIs müssen von einer vertrauenswürdigen zugrundeliegenden Web-Infrastruktur unterstützt werden. Eine solche Infrastruktur kann innerhalb Ihrer Organisation verfügbar sein oder von einer anderen Organisation gestellt werden: z.B. als gemeinsame Ressource. Bevor Sie starten, sollten Sie daher Rücksprache mit Ihren IT-Kollegen halten.

Folie 9

Page 10: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Was passiert, wenn ein URI nicht dereferenzierbar und/oder persistent ist?

Stellen Sie sich die folgende Situation vor...

Folie 10

http://foo.org/datasetid

Resource not found

Lassen Sie uns die Beschreibung für „Deutschland“ aus der Länder-Code-Liste herausfinden...

Page 11: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Entwerfen von persistenten URIs für Datensätze 10 Dos und Dont‘s

Folie 11

Page 12: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Benutzen Sie ein generisches URI-Format

http://{domain}/{type}/{concept}/{reference}

• {domain} ist eine Kombination des Hosts und des relevanten Sektors.

• {type} sollte ein Wert aus einer kleinen Anzahl möglicher Werte sein, die den Typ der Ressource erklären, die identifiziert wird. Typische Beispiele sind:

- 'id' oder 'item' für reale Objekte;

- 'doc' für Dokumente, die diese Objekte beschreiben;

- 'def' für Konzepte;

- 'set' für Datensätze;

- eine kontextspezifische Zeichenfolge.

• {concept} könnte eine Sammlung, der Typ des genannten realen Objekts oder der Name des Konzeptschemas sein;

• {reference} ist ein bestimmtes Element, Begriff oder Konzept.

Folie 12

Page 13: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Prägen Sie URIs, indem Sie bestehende Bezeichnungen wiederverwenden

• Bestehende Bezeichnungen für Ressourcen, z.B. Datenbankschlüssel, sollten in den URI eingebaut werden.

Verwenden Sie diejenigen Bezeichnungen wieder, die mit hoher Wahrscheinlichkeit selbst persistent sind.

Verwenden Sie Standardbezeichnungen wieder, anstatt interne systemspezifische Codes zu benutzen.

• Wenn beispielsweise die Bezeichnung eines Unternehmens in einem nationalen Geschäftsregister ein String wie AB123456 ist, dann könnte die URI für dieses Unternehmen folgendermaßen lauten:

http://businessdata.gov/id/company/AB123456

Folie 13

Page 14: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Implementieren Sie 303 URIs für reale Ressourcen

• Wenn keine passende Darstellung für eine reale Ressource existiert (d.h. eine Ressource, die nicht auf einem Dokument basiert wie z.B. eine Person, ein Unternehmen, ein Standort...), ist es nützlich zu einem Web-Dokument geleitet zu werden, das Informationen über diese Ressource beinhaltet.

• Es vermeidet Unklarheiten zwischen der realen Ressource und dem Dokument, das sie darstellt.

• Wenn eine Regierung beispielsweise beschließt, 303 URIs zu erstellen, um Grundschulen darzustellen, kann das Ergebnis sein:

http://schools.gov.foo/id/school1

http://schools.gov.foo/id/school2

Folie 14

Siehe auch: Cool URIs for the Semantic Web. http://www.w3.org/TR/cooluris/

Page 15: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Dereferenzierung von 303 URIs und Content-Negotiation

• Im Falle einer Dereferenzierung sollten die URIs dieser Ressourcen mit HTTP 303 auf ein Dokument antworten, welches das Objekt beschreibt.

• Der Web-Server muss so konfiguriert werden, dass er von http://schools.gov.foo/id/sc

hool1 zu http://schools.gov.foo/doc/s

chool1 führt.

Hier ist eine URI-Regel zum Umschreiben aktiv, die typischerweise den URI {type} von ‘id’ zu ‘doc’ ändert.

• Es sind verschiedene Darstellungen möglich, z.B. RDF, XML, HTML...

Folie 15

http://schools.gov.foo/id/school1

http://schools.gov.foo/doc/school1

http://schools.gov.foo/doc

/school1.rdf http://schools.gov.foo/doc

/school1.html

Siehe auch: Cool URIs for the Semantic Web. http://www.w3.org/TR/cooluris/

Page 16: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Vermeiden Sie es, Versionsnummern in URIs einzufügen

• Datensätze, Konzeptschemata, Ontologien, Taxonomien und Vokabulare werden in aufeinanderfolgenden Versionen in sich wiederholenden Änderungs-/Update-Zyklen veröffentlicht.

• Die URIs sollten zwischen den Versionen beständig bleiben.

Versionsnummern und Statusinformationen sollten nicht in den URI aufgenommen werden.

• Stellen Sie sich beispielsweise zwei aufeinanderfolgende Versionen v0.01 und v0.02 des Schuldatensatzes vor. Wenn hier Versionsinformationen in dem URI enthalten wären, müsste der URI des Datensatzes jedes Mal, wenn eine neue Version herauskommt, geändert werden.

http://schools.gov.foo/set/0.01/schools

http://schools.gov.foo/set/0.02/schools

Folie 16

Page 17: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Vermeiden Sie es „Auto-Inkrement“ zu benutzen, wenn sie neue URIs prägen.

• Bei der Erstellung von URIs für einen großen Datensatz mag es einfach sein, einen Zähler automatisch hochzählen zu lassen. Dies kann jedoch zu ernsten Problemen führen.

Was passiert, wenn der Datensatz aktualisiert wird und URIs wieder neu zugeordnet werden müssen? Wie können wir sicherstellen, dass die Sequenz der Nummerierung die gleiche sein wird?

Bedeutet dies, dass ich es nie tun sollte?

Die Verwendung von Auto-Inkrement für URIs kann in Betracht gezogen werden, wenn:

der Prozess niemals wiederholt werden wird;

der Prozess so wiederholt werden kann, dass genau dieselben URIs für dieselben Eingabedaten zugewiesen werden und neue URIs nur für neue Elemente geprägt werden.

Folie 17

Page 18: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Vermeiden Sie die Nutzung von Query-Strings

• Ein Query-String (z.B. ‘?param=value’) ist ein Text, der an das Ende einer URL angehängt wird und der Daten enthält, die an Web-Anwendungen weitergegeben werden, z.B. Suchparameter, um Begriffe in einer Datenbank nachzuschlagen.

Query-Strings sind nicht persistent, da sie auf bestimmten Anwendungen beruhen. Daher sollten sie von URIs vermeiden werden.

• Stellen Sie sich zum Beispiel vor, der URI eines von einem nationalen Unternehmensregister (NBR) veröffentlichten Unternehmens wäre

http://businessdata.gov/NBR/id/company?id=“AB123456”

statt

http://businessdata.gov/NBR/id/company/AB123456

Folie 18

Page 19: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Vermeiden Sie es, Informationen über die Eigentümerschaft einzubeziehen

• Eine persistente URI-Vorlage sollte nicht den Namen der Organisation oder des Projekts beinhalten, das den URI geprägt hat.

• Stellen Sie sich zum Beispiel vor, der URI eines von einem nationalen Unternehmensregister (NBR) veröffentlichten Unternehmens wäre

http://businessdata.gov/NBR/id/company/AB123456

• Nach ein paar Jahren wird das NBR in ‚Nationales Gesellschaftsregister‘ (NGR) umbenannt. Infolgedessen müssten alle URIs aktualisiert werden.

• In diesem Fall wäre ein URI, der dafür entworfen wurde persistent zu sein:

http://businessdata.gov/id/company/AB123456

Folie 19

Page 20: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Vermeiden Sie es, Dateierweiterungen zu verwenden

• Dateierweiterungen zeigen den Dateityp eines bestimmten Dokuments an.

• Die Verwendung von Dateierweiterungen sollte in persistenten URIs vermieden werden.

• Beispielsweise sollte der URI von einem Datensatz, der eine Liste von Schulen in einem Mitgliedsstaat der EU enthält, eher

http://data.gov.foo/set/schools

lauten, als

http://data.gov.foo/set/schools.csv

• Die Dateierweiterung kann Teil der Metadaten des Dokuments sein.

z.B. dcat:mediaType im Datenkatalogvokabular von W3C zur Beschreibung von Datensätzen.

Folie 20

Page 21: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Anbieten persistenter

URIs für Datensätze

Folie 21

Page 22: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Verwenden Sie einen speziellen Dienst

• Es muss ein spezieller zuverlässiger Dienst eingerichtet werden, der unabhängig vom Urheber der Daten ist.

• Dieser Dienst sollte, sofern nötig, leicht auf jemand anderen übertragen und von ihm ausgeführt werden können.

Dublin Core verwendet purl.org

data.gov.uk und publications.europa.eu sind ebenfalls unabhängig von einer bestimmten Behörde

• Es ist nicht erforderlich einen einzigen Dienst für mehrere Datenprovider einzusetzen.

Höheres Risiko, weil es eine einzelne Fehlerstelle wäre, aber:

Es ist leichter zu verwalten und kosteneffizienter.

Folie 22

Page 23: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Schlussfolgerungen

Ein URI ist „eine kompakte Zeichenfolge, die eine abstrakte oder physische Ressource identifiziert”.

Folie 23

i.e. independent of the data originator

e.g. http://www.example.com/id/alice_brown

e.g. http://education.data.gov.uk/ministryofeducation/id/school/123456

e.g. http://education.data.gov.uk/doc/school?id=123456

e.g. http://education.data.gov.uk/doc/school/v01/123456

e.g. http://education.data.gov.uk/id/school1/123457

e.g. http://education.data.gov.uk/id/school1/123456

e.g. http://data.example.org/doc/foo/bar.rdf

e.g. http://data.example.org/doc/foo/bar.html

e.g. http://education.data.gov.uk/id/school/123456

e.g. http://{domain}/{type}/{concept}/{reference}

Follow the pattern

Re-use existing identifiers

Link multiple representations

Implement 303 redirects for real-world objects

Use a dedicated service

Avoid stating ownership

Avoid version numbers

Avoid using auto-increment

Avoid query strings

rulesfor persistent

http://education.data.gov.uk/doc/schools/123456.csv

Avoid file extensions

Siehe auch: 10 Rules for Persistent URIs. https://joinup.ec.europa.eu/node/53858

Page 24: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Gruppenfragen

Gibt es in Ihrem Land eine nationale Richtlinie für URIs? Wenn ja, was sind ihre Grundprinzipen?

Verfügt Ihr Land über einen speziellen Dienst für die Persistenz von URIs? Wenn ja, welche Organisation verwaltet diesen Dienst? Wenn nein, warum nicht?

Folie 24

http://www.visualpharm.com

http://www.visualpharm.com

Machen Sie auch den Online-Test!

Page 25: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Vielen Dank! ...und jetzt IHRE Fragen?

Folie 25

Page 26: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Referenzen

Folie 6:

• T. Berners-Lee, R. Fielding and L. Masinter (2005) "Uniform Resource Identifier (URI): Generic Syntax". http://tools.ietf.org/html/rfc3986

Folien 11-22:

• UK Government, CTO Council, Designing URI sets of the UK Public Sector. https://www.gov.uk/government/uploads/system/uploads/attachment_data/file/60975/designing-URI-sets-uk-public-sector.pdf

• EC ISA Programme, Study on persistent URIs, with identification of best practices and recommendations on the topic for the MSs and the EC. https://joinup.ec.europa.eu/community/semic/document/10-rules-persistent-uris

Folien 14-15:

• Cool URIs for the Semantic Web, http://www.w3.org/TR/cooluris

Folie 26

Page 27: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Weiterführende Literatur (1/2)

T. Berners-Lee, R. Fielding and L. Masinter (2005) "Uniform Resource Identifier (URI): Generic Syntax". http://tools.ietf.org/html/rfc3986

UK Government, CTO Council, Designing URI sets of the UK Public Sector. https://www.gov.uk/government/uploads/system/uploads/attachment_data/file/60975/designing-URI-sets-uk-public-sector.pdf

EC ISA Programme, Study on persistent URIs, with identification of best practices and recommendations on the topic for the MSs and the EC. https://joinup.ec.europa.eu/community/semic/document/10-rules-persistent-uris

Folie 27

Page 28: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Weiterführende Literatur (2/2)

Linked Data: Evolving the Web into a Global Data Space. Tom Heath and Christian Bizer.

http://linkeddatabook.com/editions/1.0/

Folie 28

Page 29: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Verwandte Projekte und Initiativen

LOD2 FP7 project, http://lod2.eu

W3C Cool URIs for the Semantic Web http://www.w3.org/TR/cooluris http://www.w3.org/wiki/GoodURIs

URI Design Principles: Creating Unique URIs for Government Linked Data, http://logd.tw.rpi.edu/instance-hub-uri-design

Publications Office of the European Commission, http://publications.europa.eu

Data.gov.uk, http://data.gov.uk/linked-data

Folie 29

Page 30: Das Entwerfen und die Verwaltung von persistenten URIs

DATASUPPORTOPEN

Werden Sie Teil unseres Teams...

Folie 30

Besuchen Sie uns

Kontaktieren Sie uns

Lernen Sie uns kennen

Folgen Sie uns

Open Data Support http://www.slideshare.net/OpenDataSupport

http://www.opendatasupport.eu Open Data Support http://goo.gl/y9ZZI

@OpenDataSupport [email protected]