Skip to content

Latest commit

 

History

History
130 lines (99 loc) · 8.46 KB

README.md

File metadata and controls

130 lines (99 loc) · 8.46 KB

Persistent Identifiers for Semantic Artifacts

status GitHub closed pull requests GitHub contributors GitHub

Metador Logo

Persistent IDentifiers for Semantic Artifacts

PIDA is a service for providing web resources Persistent URLs (PURLs), to ensure reliable access to them. Therefore, they remain available for future access by both humans and machines.

Table of contents

  1. Why use PIDA?
  2. Technical details
  3. Managing PURLs
  4. Good practice
  5. License
  6. Acknowledgments
Pida_FeaturesPromo_LowRes.mp4

Why use PIDA?

Many web addresses can decay over time, for example, if the resource moves to another location or the domain name of an organization changes. This process is often known as Link rot. When users try to access a decayed link, they receive an error 404 not found.

PIDA provides a long-lasting reference to a digital object -- such as an article, dataset, video, person, or organization -- which consistently identifies that object regardless of the object’s location on the Internet. Using a PURL provided by PIDA:

  • a resource can be reliably referenced for future access by humans and software
  • links to resources do not break
  • resources become more easily discoverable -- for example, researchers, their affiliations, and their contributions
  • resources are findable -- one of the key elements in the FAIR principles of data management
  • supports disambiguation of entities, for example, authors with the same name can be distinguished from each other

Technical details

The root URL for all PIDA PURLs is https://purls.helmholtz-metadaten.de/. Each PURL has the form https://purls.helmholtz-metadaten.de/[prefix]/[subdirectory].

PIDA redirects PURL requests from HTTP clients to their real locations on the Internet using per-directory Apache configuration files (.htaccess files) and HTTP status codes.

Secured Communication (in progress)

PIDA uses HTTPS communication protocol to protect the integrity and confidentiality of data between clients and the service. This is especially important for systems that require high levels of security, such as those in the financial, medical, and public infrastructure sectors.

Content Negotiation

It is important to distinguish between URLs for web documents and URIs for semantic web resources:

  • requests to URLs for web documents should be sent to HTML documents.
  • requests to URIs for semantic web resources should be sent to RDF documents. PIDA supports content negotiation to deliver different representations of a resource from a single URI. When a user or agent requests a URI, content negotiation allows them to specify which representation they require (e.g. document language, file format, or content encoding). Having a PIDA PURL, clients can request either HTML or RDF (with different RDF serializations) representations.

Testing

Content negotiation can be tested using the curl command-line utility to specify a particular representation of a resource to the same URI. For example:

curl -L -H “Accept: text/html” https://purls.helmholtz-metadaten.de/seo
  • to request the RDF file of the ontology:
curl -L -H “Accept: text/html”  https://purls.helmholtz-metadaten.de/seo

You will get results that look like:

HTTP/1.1 303 See Other
Date: Tue, 22 Feb 2022 14:18:54 GMT
Server: Apache/2.4.29 (Ubuntu)
Access-Control-Allow-Origin: *
Location: Location: https://saidfathalla.github.io/SEOontology/Documentation/index.html
Content-Type: text/html; charset=iso-8859-1

Windows users can get cURL binaries from here.

Managing your PURLs

Please use one of the following options to add or update your PURLs:

  • Issue tracker: Create a new issue (via Request PURL issue template) describing the PURL you want to register.

  • Fork this repository: please read the section Good practice when submitting requests via pull requests below before using this method.

    1. Fork PIDA repository.
    2. Prepare your .htaccess file. We recommend using HTAGen tool.
    3. Add or update your entries and commit your changes.
    4. Submit a pull request for your changes.
    5. The maintainers of PIDA will check your pull request and merge it into the main branch so that you can see your PURL in our repository.
  • E-mail: To register a new PURL, you can send an email to PIDA maintainers with the Request-a-new-PURL spreadsheet attached. Please ensure you include all necessary information in the spreadsheet (e.g. prefix, resource URL, resource versions... etc).

Good practice when submitting requests via pull requests

Please help the maintainers of PIDA by ensuring you do the following in your pull requests:

  • Provide your contact info (e.g. name, email, affiliation ... etc) in the htaccess as comments (cf. seo).
  • Test your links and .htaccess syntax locally.
  • Squash multiple commits into one commit before a pull request. This helps to ensure a cleaner merge history.
  • Provide descriptive commit details (e.g. resource name, what changes made,... etc).
  • Add a README.md file to your directory that gives a brief overview of what this PID redirects to (see prima/README.md).

License

The code is licensed under the MIT license. Copyright © 2022.

Acknowledgments

HMC Logo    FZJ Logo

This project was developed at the Institute for Materials Data Science and Informatics (IAS-9) of the Jülich Research Center and funded by the Helmholtz Metadata Collaboration (HMC), an incubator-platform of the Helmholtz Association within the framework of the Information and Data Science strategic initiative.