RDA Deutschland 2016 Trainingskurs #1: Datenobjekte in zuverlässigen Repositorien Teil #2: Persistent Identifiers Tibor Kálmán Gesellschaft für wissenschaftliche Datenverarbeitung mbh Göttingen (GWDG) Tibor [dot] Kalman [at] gwdg [dot] de
Agenda Motivation Nachhaltigkeit durch Technik Handle System Wie verwalte ich meine PIDs? Einfache Beispiele (Webbrowser & Kommandos) Auflösung, Erzeugung Fortgeschrittene Beispiele (Kommandos) Auflösung, Verwaltung, Metadaten-Suche Vorhandene IDs, Fragment IDs Nachhaltigkeit durch Organisationsstrukturen PID Replication, Profiles, Types 28.11.2016 von?? RDA-DE: T1 - Datenobjekte in zuverlässigen Repositorien
MOTIVATION 328.11.2016 von?? RDA-DE: T1 - Datenobjekte in zuverlässigen Repositorien
Motivation Diese Session zeigt einfache und fortgeschrittene Anwendungsbeispiele für Handle-System basierten Persistent Identifiers (PIDs), die von epic bereitgestellt werden. Das Ziel ist zu verstehen, wie PIDs aufgelöst und verwaltet werden. Diese Session verwendet die folgenden Dienste: PID Auflösung: der Handle Proxy für generische PID Auflösung PID Verwaltung: Demo PID-Service der GWDG und epic-api-v2 epic- API- v2 Handle System GWDG API v1 DB SURFsara API v1 epic- API- v2 Other API v1 4
Hands-On Session: Zum Lesen: epic FAQ: http://www.pidconsortium.eu/?page_id=1060 epic Policy & QoS: http://www.pidconsortium.eu/?page_id=904 epic API Dokumentation: http://docs.pidconsortium.eu/ Zum Ausprobieren (Handle PID Beispiele): 21.T11998/4B7335BF-CA0C-4671-9AAF-F36AE8AC88AB 21.T11998/TEMPLATEHANDLE 10.1000/182 11148/0000-0003-0B00-1 10.5072/11148/0000-0003-0B00-1 Zum Nutzen: epic PID Service (DEMO): hfp://demo.pidconsorkum.eu/handles/21.t11998/ User: (wird am Ende der Session verteilt) Passwd: (wird am Ende der Session verteilt) 5
NACHHALTIGKEIT DURCH TECHNIK: DAS HANDLE SYSTEM 6 von??
Persistent Identifier Definierte Schicht, welche zwischen Referenz und Objekt vermittelt. Die Referenz wird beim PID Service aufgelöst, welcher zur aktuellen Position des Objekts vermittelt. Sollte das Objekt nicht mehr existieren, kann dies ebenfalls im PID hinterlegt werden. Aufbau von Mehrwertdiensten möglich. 7
Nachhaltigkeit durch Technik l l l Die Identifikatoren müssen langfristig und dezentral aufgelöst und verwaltet werden Es ist eine große technische Herausforderung, eine PID- Infrastruktur aufzubauen: l l l Sie muss zuverlässig sein Sie muss robust sein Sie muss langfristig betrieben werden Die meisten Organisationen setzen auf bewährte PID Technologien l l Handle, DOI, URN, ARK und vieles mehr... Ein konkreter Beispiel: l die Handle-PIDs des Persitent Identifier Consortiums for eresearch (epic) 8
Beispiel: Handle PID Das Handle System: Das Handle System ist weltweit verbreitet ~200 000+ Namensräume (Prefixes) wurden vergeben Monatlich über ~100+ Millionen Auflösungen durch die globale Handle Infrastruktur Finanziert durch Einnahme für Registrierung von Namensräumen Das eintragen eines Handles in den Namensraum ist kostenlos Die grundlegende Technologie des Handle-Systems existiert seit ca. 20 Jahren Es ist ein verteiltes System (Globaler und Lokaler Server) Sehr gut skalierbar Mehrere globale Handle Server (für Europa) wird bei der GWDG betrieben Beispiel: 21.11102 / 0000-0007-5E80-3 [Prefix oder Namensraum] / [Suffix] 9
WIE VERWALTE ICH MEINE PIDS? EINFACHE BEISPIELE 10 von??
AUFLÖSUNG (RESOLUTION) 11
Resolution (1) Use the Handle Proxy server to resolve the example PIDs above 1. Use the online form at the web page of the Handle Proxy. 2. Use the Handle Proxy to directly resolve a PID without the form (PID is part of the URL). 3. Use the Handle Proxy server to get the metadata of the example PIDs above. (Hint: look at the documentation of the proxy) Handle Proxy: URL: hfp://hdl.handle.net/ User/Pwd: öffentlich, also ohne Passwort 12
Resolution (2) Use the epic PID Service (DEMO) to resolve the example PID 21.T11998/0000-0011-2DA4-2 1. Use a web browser to get the metadata of the PID Hint: PID is part of the URL 2. Use a (command line) HTTP client Hint: look at the documentation of the epic-api-v2 epic PID Service (DEMO) URL: hfp://demo.pidconsorkum.eu/handles/21.t11998/ User: (wird am Ende der Session verteilt) Passwd: (wird am Ende der Session verteilt) 13
Solutions (1) 14
Solutions (2) 15
PIDS VERWALTEN 16
Management Use a REST client (e.g. curl command line client) to manage PIDs with the epic PID Service 1. Create a PID with your test user 2. Show the metadata of your PID 3. Modify your PID Hint: update the location (URL) epic PID Service (DEMO) URL: hfp://demo.pidconsorkum.eu/handles/21.t11998/ User: (wird am Ende der Session verteilt) Passwd: (wird am Ende der Session verteilt) 17
Solutions (1) curl -v -u 'rdademo1:password -H "Accept:application/json" -H "Content-Type:application/json" -X POST --data '[{"type":"url", "parsed_data":"http://os.helmholtz.de/de/bewusstsein-schaerfen/ workshops/rda-de-16/"}]' http://demo.pidconsortium.eu/handles/21.t11998 Request Response (Body) Response (Header) 18
Solutions (2) curl -v -u 'rdademo1:password -H "Accept:application/json" -X GET http://demo.pidconsortium.eu/handles/21.t11998/0000-0001-3214-0 Response (Body) 19
WIE VERWALTE ICH MEINE PIDS? FORTGESCHNITTENE BEISPIELE 20 von??
CREATE A PID WITH DC5 METADATA 21
Basic PID vs PID with DC5 metadata 22
Management Use a REST client (e.g. curl command line client) to manage PIDs with the epic PID Service 1. Create a PID with your test user 2. Show the metadata of your PID epic PID Service (DEMO) URL: hfp://demo.pidconsorkum.eu/handles/21.t11998/ User: (wird am Ende der Session verteilt) Passwd: (wird am Ende der Session verteilt) 23
Solutions curl -v -u 'Rdademo1:Training2016' -H "Accept:application/json" -H "Content- Type:application/json" -X POST --data '[{"type":"url", "parsed_data":"http://ratswd.de/dl/downloads/...pdf"}, {"type":"title", "parsed_data":"european Persistent Identifier Consortium - PIDs..."}, {"type":"authors", "parsed_data":"tibor Kálmán, Daniel Kurzawe, Ulrich Schwardmann"}, {"type":"pubdate", "parsed_data":"2012"}, {"type":"publisher","parsed_data":"scivero"}, {"type":"metadata_url","parsed_data":"http://d-nb.info/1030352194/about/rdf"}]' "http://demo.pidconsortium.eu/handles/21.t11998" 24
EXISTING ID AS AN EPIC PID 25
Using ID ABCD-1234 curl -v -u 'rdademo1:training2016' -H "Accept:application/json" -H "Content- Type:application/json" -X PUT --data '[{"type":"url","parsed_data":"http://www.gwdg.de/test/099"}]' http://demo.pidconsortium.eu/handles/21.t11998/abcd-1234 26
METADATEN-SUCHE 27
Metadata Search Reverse Lookup for an object: Checking whether the object with the exact URL http://ratswd.de/dl/downloads/langzeitarchivierung_von_forschungsdaten.pdf has already had a PID: curl -u 'tkalman:passmypassword' -H "Accept:application/json" http://pid.gwdg.de/ handles/11022/?url=http://ratswd.de/dl/downloads/ langzeitarchivierung_von_forschungsdaten.pdf (Note the?url=... Parameter.) Reverse Lookup: generic search: Getting the list of PIDs, where the URL contains gwdg.de": curl -u 'tkalman:pass [...headers...] http://pid.gwdg.de/handles/11022/? URL=*gwdg.de* (Note the?url=*pattern* parameter. The generic search works for all registered fields. The pattern can be an exact string or can contain wildcards. Interested readers might also check the limit=0 parameter.) Reverse Lookup: generic search with more patterns: Getting the list of PIDs, where the AUTHORS contains "Tibor" and the URL contains "gwdg.de" and the PIDs were registered by the institute with id: 1001: curl -u 'tkalman:pass [...headers...] http://pid.gwdg.de/handles/11022/? AUTHORS=*tibor*&URL=*gwdg.de*&INST=1001 (Note the?authors=*pattern*, the URL=*pattern* and the INST=... parameters. Interested readers might also check the limit=0 parameter in the "VIEW all details" example above.) 28
Common Parameters Additional PREFIX & SUFFIX for the PID: curl -v -u 'rdademo1:training2016' -H "Accept:application/json" -H "Content-Type:application/json" -X POST --data '[{"type":"url","parsed_data":"https://rd-alliance.org/viewsabout-pid-systems-training-course"}] http:// demo.pidconsortium.eu/handles/21.t11998?prefix=rda-de&suffix= TRAINING Result: 21.T11998/RDA-DE-0000-0001-3213-1-TRAINING Using generators (for example, PID string is UUID): curl -v -u 'rdademo1:training2016' -H "Accept:application/ json" -H "Content-Type:application/json" -X POST --data '[{"type":"url","parsed_data":"http://www.gwdg.de/test/ 001"}]' http://demo.pidconsortium.eu/handles/21.t11998? generator=uuid Result: 21.T11998/2A571CF2-6FC0-11E6-96B0-E41F1343FB94 29
FRAGMENT IDENTIFIERS / TEMPLATE HANDLES 30
PIDs in der Wissenschaft: Anwendungsbeispiele Was kann alles referenziert werden? Pragmatisch: Alle abgrenzbaren Objekte, welche unter einem eindeutigen Namen angesprochen werden können. PIDs in den Kultur- und Geisteswissenschaften (wie etwa DARIAH-DE, TextGRID oder CLARIN Projekt): PIDs identifizieren Sammlungen, Inhalte und Objekte PIDs werden nicht nur zur Referenzierung von Objekten, sondern auch zur Referenzierung von Objektbereichen (Fragments) verwendet. Beispiele sind etwa die Referenzierung von Textstellen und Abbildungen in Dokumenten oder der Verweis auf genaue Bereiche innerhalb von digitalen Medien. 31
Fragment Identifiers/Template Handles Eine Entität und Große Anzahl von Fragments: http://www.domain.org/video?begin=10&end=20 http://www.domain.org/video?begin=15&end=25 http://www.domain.org/video?begin=100&end=200 http://www.domain.org/book1?seite=10 Fragment Identifiers/Template Handles können eine unbegrenzte Anzahl von Fragments einer Entität referenzieren Zwar so, dass die Fragments keinen eigenen registrierten PID brauchen werden mit Hilfe von 'base' und 'extension definiert Ein Template Delimiter' teilt den Handle in Base und Extension, Wird gewöhnlich für den Namensraum (Präfix) verwendet Beispiel: PID: http://hdl.handle.net/123/123-456-789@begin=10&end=20 URL: http://www.domain.org/video?begin=10&end=20 32
Fragment Identifiers/Template Handles Hands-On excercise: 1. Find out, which delimiter is used for templates in 21.T11998 and with which character it is replaced. Hint: look for the content of 0.NA/21.T11998 at the Proxy 2. Use this delimiter, to address a fragment together with the PID 21.T11998/TEMPLATEHANDLE Hint: resolve 21.T11998/TEMPLATEHANDLE@abc=123&defghi=56789 at the Handle Proxy Handle Proxy: URL: hfp://hdl.handle.net/ User/Pwd: öffentlich, also ohne Passwort 33
Lösung (1) Standardisierter Weg um Templates zu definieren Beispiel Handle System: Prefix Handle 0.NA/21.T11998 HS_NAMESPACE type Notizen (Erfahrungen und offene Fragen) Granularität (Buch, Seite,usw) Replizieren von PIDs epic: 1+2 replicas Gleiche Regel für Auflösung von Replikaten: Bei epic ist das Teil der Replication-Policies PID Audit kann problematisch werden Metadaten in jedem Fragment PID Lebensdauer der Fragment-IDs Auflösung folgendes PIDs: http://hdl.handle.net/21.t11998/templatehandle@abc=123&defghi=56789 34
NACHHALTIGKEIT DURCH ORGANISATIONSSTRUKTUREN 35
Nachhaltigkeit durch Organisationsstrukturen Technologien unterliegen einem ständigen Wandel Formate und Schnittstellen veralten Die Anforderungen wachsen mit dem wachsenden Datenaufkommen Technologien alleine sind nicht nachhaltig Projektmitttel sind begrenzt: Nicht immer können Dienste weit über das Projekt hinaus betrieben werden. Bei dem technologischen Wandel veraltet ein nicht mehr gepflegtes Projekt Auch einzelne Institute können ihre Finanzierung verlieren oder die Ausrichtung ändern Nur durch eine nachhaltige Organisationsstruktur können Dienste nachhaltig betrieben werden Möglichst lange auf bewährte und einfach zugängliche Technologien setzen Offenheit Nachhaltigkeit durch Vielfalt Langfristige Finanzierung 36
Nachhaltigkeit durch Organisationsstrukturen Beispiel epic Nicht alle Institute können oder wollen einen eigenen Dienst zum Verwalten von PIDs betreiben Zusammen mit anderen europäischen Partnern wurde ein Konsortium gebildet, um diese Dienstleistungen Wissenschaftlern zur Verfügung zu stellen Persistent Identifier Consortium for eresearch (epic) http://www.pidconsortium.eu/ Ziel: Erzeugen, Verwalten und Auflösen von Identifikatoren von Forschungsdaten (wissentschaftliche digitale Objekte) Replizierung von PIDs Policies Data Type Registry für PID Information Types 37
NACHHALTIGKEIT DURCH ORGANISATIONSSTRUKTUREN: REPLIZIERUNG VON PIDS 38
PID replication Hands-On excercise: 1. Find out, which mirrors are used for replicate all PIDs under 11858 Hint: look for the content of 0.NA/11858 at the Proxy and search for HS_SITE entries 2. Use the Siteinfo service of epic Handle Proxy: URL: hfp://hdl.handle.net/ Siteinfo Service von epic: URL: hfp://www.pidconsorkum.eu/siteinfo/ User/Pwd: öffentlich, also ohne Passwort User/Pwd: öffentlich, also ohne Passwort 39
Solution (1) hier hier 40
Solution (2) 41
Solution (3): epic Siteinfo (JSON) Response (Body) 42
epic siteinfo Higher Level Services epic Siteinfo Nagios Plugin ReplicaKon OK ReplicaKon WARNING ReplicaKon CRITICAL 43
NACHHALTIGKEIT DURCH ORGANISATIONSSTRUKTUREN: PROFILES 44
PID Profile Bisher identifizierte Profile: NO_DELETE Deleting PIDs NO_URL_DUPLICATE Enabling DUPLICATE registrations ENABLE_USER_SUFFIX Using SUFFIX defined by users ENABLE_USER_PREFIX Using PREFIX defined by users ENABLE_GENERATOR_UUID UUID string ENABLE_GENERATOR_GWDGPID GWDG-like string 1234-5678-9012-0 ENABLE_GENERATOR_FREESTRING Supporting free PID string syntaxes REQUIRE_PROFILE checking whether a profile of mandatory and optional attributes (types) is defined for a CREATE or UPDATE query REQUIRE_MINIMAL_PID, SIMPLE A 'simple' PID with 1 field only (URL and nothing else) REQUIRE_DC5 checking whether the Dublin Core attributes are defined REQUIRE_INST Adding additional, [administrative] metadata to the PID 45
NO_DELETE Profile Hands-On excercise: 1. Delete an existing PID Hint: use the HTTP method DELETE (-X DELETE) epic PID Service (DEMO) URL: hfp://demo.pidconsorkum.eu/handles/21.t11998/ User: (wird am Ende der Session verteilt) Passwd: (wird am Ende der Session verteilt) 46
Thank you! Tibor Kálmán Gesellschaft für wissenschaftliche Datenverarbeitung mbh Göttingen (GWDG) Tibor [dot] Kalman [at] gwdg [dot] de PID dieses Vortrages: 47 28.11.2016 von?? RDA-DE: T1 - Datenobjekte in zuverlässigen Repositorien
BACKUP SLIDES 48
EPIC PID vs DataCite DOI EPIC Metadata schema in EPIC GWDG v1: Dublin Core 5 Metadata in EPIC v2: depends on the community PID records are managed by the PID-Service Metadata is stored in the PID DataCite DataCite Metadata Schema More services are involved in the management of a DOI record (incl. Metadata) Registration and management is a 2-steps process Metadata is not stored in the DOI, but in the MetaData Store 49
Using DOIs at EPIC Policy for DOI migration : Community requirements are not clear at the moment Idea: 1. Register EPIC PIDs by PID-Service 2. Maintain metadata of the EPIC PID 3. Register DOI (PID metadata would be automatically transformed to DataCite metadata) DOI has the same ID EPIC PID: 11148/0000-0003-0B00-1 DataCite DOI: 10.5072/11148/0000-0003-0B00-1 50
Sequence Diagram (PIDà DOI) 51
PID-Service View of EPIC PID 52
DONA Digital Object Naming Authority (DONA) DONA is a Swiss foundation hosting an international consortium that governs the Handle structure at the top level in close collaboration with ITU-T DONA was founded 2012 in Geneva current partners: CNRI, CHC, GWDG on behalf of epic the consortium will moderately grow in future 53
DONA bis September 2015 54
DONA Multi Primary Administrators 55
epic PIT DTR registration GUI (candidates) 56
epic PIT DTR registration GUI (candidates) 57