Parse and navigate FAIR Signposting Link headers
Project description
_Finding signposting in FAIR resources._
Summary
This library helps client to discover links that follow the signposting conventions, most notably FAIR Signposting.
This can then be used to navigate between:
Persistent identifiers
HTML landing pages
File downloads/items
Structured metadata
Method
The library works by inspecting the HTTP messages for Link headers from a given URI with find_signposting_http, which which categorize them by their rel Link relation into a Signposting object with absolute URIs.
It is up to the clients of this library to decide how to further navigate or retrieve the associated resources, e.g. using a RDF library like rdflib.
Future versions of this library may also provide ways to discover FAIR signposting in HTML <link> annotations and in linkset documents.
Motivation
FAIR Signposting has been proposed as a mechanism for automated clients to find metadata and persistent identifiers for FAIR data residing in repositories that follow the traditional PID-to-landing-page metaphor.
This avoids the need for client guesswork with content-negotiation, and allows structured metadata to be provided by the repository rather than just PID providers like DataCite.
The main idea of FAIR Signposting is to re-use the existing HTTP mechanism for links, using existing relations like describedby, cite-as and item.
The aim of this library is to assist such clients to find and consume FAIR resources for further processing. It is out of scope for this code to handle parsing of the structured metadata files.
Acknowledgments
How to use this repository
The documentation pages explain how to use this template for your projects and the implementation details adopted here. Use the documentation as a reference to learn the rationale behind this repository and also as a demonstration of how to deploy documentation in ReadTheDocs.
Issues and Discussions
As usual in any GitHub based project, raise an issue if you find any bug or room for improvement (certainly there are many), or open a discussion if you want to discuss or talk :-)
Version
v0.0.14
Changelog
v0.0.14 (2022-04-13)
v0.0.13 (2022-04-13)
v0.0.12 (2022-04-13)
v0.0.11 (2022-04-13)
v0.0.10 (2022-04-12)
v0.0.9 (2022-04-11)
Documented changelog for old versions
Added rudimentary tests for <https://w3id.org/a2a-fair-metrics/27-http-linkset-json-only/> and <https://w3id.org/a2a-fair-metrics/28-http-linkset-txt-only/>
v0.0.8 (2022-04-11)
Command line tool tested
v0.0.7 (2022-04-11)
Command line tool functional
v0.0.6 (2022-04-11)
Initial draft of command line tool
v0.0.5 (2022-04-10)
Handle 410 Gone and 203 Non-Authorative as warnings
Tests against HTTP aspects of <https://s11.no/2022/a2a-fair-metrics/> for #1–#26
v0.0.4 (2022-04-06)
API Documentation drafted
find_landing_page renamed find_signposting_http
v0.0.3 (2022-04-06)
README updates
More tests until a2a-fair-metrics test #17
v0.0.2 (2022-04-06)
Initial HTTP Link header parsing
v0.0.1 (2022-04-01)
Generated from joaomcteixeira/python-project-skeleton
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for signposting-0.0.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 697c8987f647382618da745df2922b94638dcf422922bc0921ef7fb75d8066c0 |
|
MD5 | 0e5d78e3c97b9b2b27511cc4f4481372 |
|
BLAKE2b-256 | 2d610d58952ef2f95465acb393c6dcb367a7888fa76289117c901eaeb5be4a05 |