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.comPwC 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.
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.
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
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
DATASUPPORTOPEN
Uniform Resource Identifiers (URIs)Als gemeinsame Bezeichnung für Dinge, z.B. Personen, Gebäude, Standorte, Informationsquellen...
Folie 5
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
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
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
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
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...
DATASUPPORTOPEN
Entwerfen von persistenten URIs für Datensätze10 Dos und Dont‘s
Folie 11
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
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
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/
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/school1 zu http://schools.gov.foo/doc/school1 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/
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
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
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
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/AB123456Folie 19
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
DATASUPPORTOPEN
Anbieten persistenter URIs für Datensätze
Folie 21
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
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
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!
DATASUPPORTOPEN
Vielen Dank!...und jetzt IHRE Fragen?
Folie 25
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
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
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
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-dataFolie 29
DATASUPPORTOPEN
Werden Sie Teil unseres Teams...
Folie 30
Besuchen Sie uns
Kontaktieren Sie uns
Lernen Sie uns kennen
Folgen Sie uns
Open Data Supporthttp://www.slideshare.net/OpenDataSupport
http://www.opendatasupport.eu Open Data Supporthttp://goo.gl/y9ZZI
@OpenDataSupport [email protected]
Top Related