Benchmarks for FAIR Signposting

The Apples-to-Apples FAIR Signposting page gives access to a set of benchmarks that clients can use to test their capabilities for extracting Signposting links. The benchmarks cover cases whereby web links are provided in HTTP Link headers, HTML <link> elements, and Link Sets (in both JSON and text format) made discoverable via Link headers and HTML <link> elements. The benchmarks include links that use a subset of FAIR Signposting link relation types, i.e. cite-as, item, and describedby and result from a hackathon that focused on assessing FAIR Signposting compliance.

Biblio, the Ghent University Academic Bibliography supports FAIR Signposting

The Biblio Academic Bibliography repository of Ghent University supports FAIR Signposting by providing typed links in the HTTP Link header of its landing pages for publications by the university's researchers. The below (abbreviated) example shows an HTTP GET on a landing page and the resulting HTTP response headers. Note the helpful use of the profile attribute on describedby links, used to provide specificity regarding the formats in which metadata for a publication is available. Note also the correct use of the cite-as link, which points at the persistent identifier for the publication as it is available in the repository, i.e. the persistent identifier (the handle URI) that redirects to the landing page in the Biblio repository. It is not the persistent identifier of the publication at the publisher's site (a DOI URI). A link to the publisher's persistent identifier should be provided using the related link relation type.

curl -I "https://biblio.ugent.be/publication/8762613"

HTTP/1.1 200
date: Thu, 30 May 2024 08:54:11 GMT
server: nginx/1.24.0
link: <http://hdl.handle.net/1854/LU-8762613>
      ;rel="cite-as",
<https://schema.org/AboutPage>
      ;rel="type",
<https://schema.org/ScholarlyArticle>
      ;rel="type",
<https://orcid.org/0000-0001-8390-6171>>
      ;rel="author",
<https://biblio.ugent.be/person/6E421B04-B25E-11E6-B104-2D2FD0AF0289>>
      ;rel="author",
<https://biblio.ugent.be/person/20497948-3DED-11E4-8AC5-DAE6B4D1D7B1>>
      ;rel="author",
<https://orcid.org/0000-0002-8596-222X>>
      ;rel="author",
<https://biblio.ugent.be/publication/8762613/file/8762616.pdf>
      ;rel="item"
      ;type="application/pdf",
<https://biblio.ugent.be/publication/8762613/file/8768978.pdf>
      ;rel="item"
      ;type="application/pdf",
<https://biblio.ugent.be/publication/8762613.rdf>
      ;rel="describedby"
      ;type="application/rdf+xml"
      ;profile="http://www.w3.org/1999/02/22-rdf-syntax-ns#",
<https://biblio.ugent.be/publication/8762613.mods_36>
      ;rel="describedby"
      ;type="application/xml"
      ;profile="http://www.loc.gov/mods/v3",
<https://biblio.ugent.be/publication/8762613.mets>
      ;rel="describedby"
      ;type="application/xml"
      ;profile="http://www.loc.gov/METS/",
<https://biblio.ugent.be/publication/8762613.bibtex>
      ;rel="describedby"
      ;type="text/x-bibtex",
<https://biblio.ugent.be/publication/8762613.ris>
      ;rel="describedby"
      ;type="application/x-research-info-systems"
content-type: text/html;charset=UTF-8
content-length: 45801

CKAN Signposting extension

The CKAN extension for Signposting adds FAIR Signposting support to the open source data management system CKAN. The typed links are provided as HTML <link> elements in dataset landing pages. The extension supports adding ORCIDs as CKAN metadata and providing those ORCIDs as author links.

COAR Notify Protocol

The COAR Notify Protocol is a standard-based decentralized approach (using Linked Data Notifications with profiled ActivityStreams2 payloads) to link research outputs hosted in the distributed network of repositories with resources from external services, such as overlay-journals and open peer review services. It is a specific implementation of the generic patterns described by the Event Notifications in Value-Adding Networks specification. The COAR Notify Protocol recommends that repositories support FAIR Signposting in order to be able to send nimble notifications across the wire that, essentially, only contain URIs of objects and actors involved in a request/response conversation. Further information pertaining to those can then be obtained via the FAIR Signposting and WebID auto-discovery approaches, respectively. But, additionally, it fully aligns with the Signposting perspective, giving the landing page URI a central role by providing it as the id of the object used to represent a scholarly object in the ActivityStreams2 JSON-LD payloads and by providing the persistent identifier using a cite-as statement.

DANS Data Stations

DANS was a Signposting pioneer, implementing the Identifier and Metadata Resources patterns for its meanwhile retired DANS EASY repository. EASY has been replaced by several discipline-oriented Dataverse-based Data Stations that support FAIR Signposting out of the box.

This example shows the FAIR Signposting implementation, which is typical of all Dataverse repositories starting with version 5.14. Links are provided both in the HTTP Link header of the Landing Page URI and in a Link Set linked from it.

curl -I "https://ssh.datastations.nl/dataset.xhtml?persistentId=doi:10.17026/SS/L8MCKA"

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Link: <https://0000-0003-2962-5234> ; rel="author",
      <https://doi.org/10.17026/SS/L8MCKA> ; rel="cite-as",
      <https://schema.org/AboutPage> ; rel="type",
      <https://schema.org/Dataset> ; rel="type",
      <http://creativecommons.org/licenses/by-nc/4.0> ; rel="license",
      <https://ssh.datastations.nl/api/access/datafile/203710>
      ; rel="item" ; type="application/pdf",
      <https://ssh.datastations.nl/api/access/datafile/203711>
      ; rel="item" ; type="application/pdf",
      <https://doi.org/10.17026/SS/L8MCKA>
      ; rel="describedby" ; type="application/vnd.citationstyles.csl+json",
      <https://ssh.datastations.nl/api/datasets/export?exporter=schema.org&persistentId=doi:10.17026/SS/L8MCKA>
      ; rel="describedby" ; type="application/ld+json",
      <https://ssh.datastations.nl/api/datasets/:persistentId/versions/2.1/linkset?persistentId=doi:10.17026/SS/L8MCKA>
      ; rel="linkset" ; type="application/linkset+json"

Dataverse FAIR Signposting

Starting with the 06/2023 release v5.14, the Dataverse data repository software supports the FAIR Signposting Profile. It supports exposing links by means of the HTTP Link header as well as using linkset documents. At the time of writing, the Dataverse software is used by nearly 100 data repositories, worldwide.

An example of a typical FAIR Signposting implementation for a Dataverse instance is shown below for a DANS Data Station.

Digital Repository Ireland

The Digital Repository Ireland supports the FAIR Signposting Profile by exposing links using linkset documents.

Check out an example of FAIR Signposting for the repository object USI Escort Conference 1991. The HTML landing page https://repository.dri.ie/catalog/vm41bk02f for this object contains links to linksets serialized in both the "application/linkset" and "application/linkset+json" media types:

<link href="https://repository.dri.ie/linkset/vm41bk02f/json" rel="linkset" type="application/linkset+json">
<link href= "https://repository.dri.ie/linkset/vm41bk02f/lset" rel="linkset" type="application/linkset">

Now, check out the "application/linkset+json" linkset document by clicking its URL https://repository.dri.ie/linkset/vm41bk02f/json.

DSpace 7 FAIR Signposting

Starting with release 7.6, the DSpace 7 repository software supports the FAIR Signposting Profile. It supports exposing links using linkset documents.

DSpace-CRIS

Starting with version 5.8.2, the open source DSpace-CRIS system has built-in support for the following Signposting patterns:
This example shows the Author and Content Resources patterns implemented for the Landing Page URI of a repository object:

curl -I "https://ktisis.cut.ac.cy/handle/20.500.14279/23265"

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 43409
Link: <http://orcid.org/0000-0001-9079-1907>
      ; rel="author"
Link: <http://orcid.org/0000-0002-2229-8798>
      ; rel="author"
Link: <https://ktisis.cut.ac.cy/bitstream/20.500.14279/23265/1/021-0007%282021%29.pdf>
      ; rel="item"
      ; type="application/pdf"

This example shows the PDF file that is a constituent resource of the object linking back to the Landing Page URI using the collection relation type of the Content Resources pattern.

curl -I "https://ktisis.cut.ac.cy/bitstream/20.500.14279/23265/1/021-0007%282021%29.pdf"

HTTP/1.1 200 OK
Content-Length: 3109603
Content-Type: application/pdf
Link: <https://ktisis.cut.ac.cy/handle/20.500.14279/23265>
      ; rel="collection"

Episciences Overlay Journals

The Episciences Overlay Journals have implemented the following Signposting patterns: In addition to that a typed link is provided to make a Linked Data Notification inbox used for their implementation of the Notify Protocol discoverable.
This example shows the Identifier and Metadata Resources patterns as well as the link to the Linked Data Notification inbox for the Landing Page URI:

curl -I "https://jdmdh.episciences.org/13247"

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
link: <https://inbox.episciences.org/>
      ; rel="http://www.w3.org/ns/ldp#inbox",
<https://doi.org/10.46298/jdmdh.13247>
      ; rel="cite-as",
<https://schema.org/ScholarlyArticle>
      ; rel="type",
<https://jdmdh.episciences.org/13247/bibtex>
      ; rel="describedby"; type="application/x-bibtex",
<https://jdmdh.episciences.org/13247/pdf>
      ; rel="describedby"; type="application/pdf",
<https://jdmdh.episciences.org/13247/tei>
      ; rel="describedby"; type="application/xml"
      ; profile="http://www.tei-c.org/ns/1.0",
<https://jdmdh.episciences.org/13247/dc>
      ; rel="describedby";; type="application/xml"
      ; profile="http://purl.org/dc/elements/1.1/",
<https://jdmdh.episciences.org/13247/datacite>
      ; rel="describedby"; type="application/xml"
      ; profile="http://datacite.org/schema/kernel-4",
<https://jdmdh.episciences.org/13247/crossref>
      ; rel="describedby"; type="application/xml"
      ; profile="http://www.crossref.org/schema/4.4.2"

eurac research Environmental Data Platform

The eurac research Environmental Data Platform supports FAIR Signposting by means of Link Sets that are discoverable via linkset links provided in the HTML <link> element of dataset landing pages. The landing page https://edp-portal.eurac.edu/discovery/31f0258a-5517-11ed-8c40-0050568e1483 contains the following entry:

<link rel="linkset" type="application/linkset+json"
      href="https://edp-portal.eurac.edu/discovery/linkset/31f0258a-5517-11ed-8c40-0050568e1483">
An HTTP GET on https://edp-portal.eurac.edu/discovery/linkset/31f0258a-5517-11ed-8c40-0050568e1483 returns a Link Set in application/linkset+json format.

FAIR-by-Design Training Materials Repository

The GitHub-based repository for FAIR-by-Design Training Materials supports FAIR Signposting. Templates that are forked to create a new training have been enhanced to include a linkset link in the HTML training documents that points at a linkset document.

An example training forked from the enhanced templates is FAIR-by-Design Methodology for Learning Materials Training of Trainers. The HTML page contains a link to a linkset serialized using the "application/linkset+json" media type:

<link rel="linkset" type="application/json+linkset" href="https://raw.githubusercontent.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/main/linkset.json">
The linkset contains, among others, item links to training module information expressed according a community-agreed Minimal Viable Skills md format.

HAL Open Science

The HAL Open Science repository has implemented the following Signposting patterns: In addition to that it provides a typed link to make a Linked Data Notification inbox used for their implementation of the Notify Protocol discoverable.
This example shows the Identifier and Metadata Resources patterns as well as the link to the Linked Data Notification inbox for the Landing Page URI:

curl -I "https://hal.science/hal-03087870v1"

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
link: <https://inbox.hal.science/>
      ; rel="http://www.w3.org/ns/ldp#inbox",
      <https://hal.science/hal-03087870v1>
      ; rel="cite-as",
      <https://hal.science/hal-03087870/bibtex>
      ; rel="describedby"; type="application/x-bibtex",
      <https://hal.science/hal-03087870/json>
      ; rel="describedby"; type="application/json",
      <https://hal.science/hal-03087870/tei>
      ; rel="describedby"; type="application/xml"
      ; profile="http://www.tei-c.org/ns/1.0",
      <https://hal.science/hal-03087870/dc>
      ; rel="describedby"; type="application/xml"
      ; profile="http://purl.org/dc/elements/1.1/",
      <https://hal.science/hal-03087870/dcterms>
      ; rel="describedby"; type="application/xml"
      ; profile="http://purl.org/dc/terms/"

InvenioRDM FAIR Signposting

Starting with v12, IvenioRDM supports FAIR Signposting. Since Zenodo is an InvenioRDM instance, it also supports FAIR Signposting. Support is implemented by exposing links using linkset documents.

Check out an example of FAIR Signposting for the Zenodo repository object FAIR Digital Objects and FAIR Signposting. The HTTP response header for the landing page https://zenodo.org/records/7977333 of this object contains a link to a linkset serialized using the "application/linkset+json" media type.

<link href="https://zenodo.org/api/records/7977333" rel="linkset" type="application/linkset+json">
In order to retrieve the linkset, a client should use content negotiation for the application/linkset+json media type against the URL <https://zenodo.org/api/records/7977333>. The linkset contains all links recommended for Level 2 of the FAIR Signposting Profile, including links that have content and metadata resources as anchor. At the time of first release there was a small glitch in the implementation: the linkset includes describes links that express a media type for the anchor, a feature that is not supported by Web Links; only link target attributes are supported.

The Open Journal System FAIR Signposting Profile

Version v2.x and v3.x of the Open Journal System software for journal publishing support the FAIR Signposting Profile. They do so by exposing links using linkset documents. At the time of writing, the hosted version of the Open Journal System publishes over 500 journals for publishers worldwide.

Check out an example of FAIR Signposting at for the article Atmospheric Correction of FG5 Absolute Gravimetry Data using Measured Air Pressure:

curl -I "https://www.annalsofgeophysics.eu/index.php/annals/article/view/8993"

HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Link: <https://www.annalsofgeophysics.eu/index.php/annals/sp-linkset/article/8993>
      ; rel="linkset"
      ; type="application/linkset+json"

Now, check out the linkset document by clicking its URL https://www.annalsofgeophysics.eu/index.php/annals/sp-linkset/article/8993.

Pangaea

Pangaea has implemented the following Signposting patterns:
This example shows the Identifier, Metadata Resources, Content Resources, and Author patterns implemented for the Landing Page URI:

curl -I "https://doi.pangaea.de/10.1594/PANGAEA.867908"

HTTP/1.1 200 OK
Content-length: 8424
Content-type: text/html;charset=UTF-8
Link: <https://doi.org/10.1594/PANGAEA.867908>
      ; rel="cite-as",
      <https://doi.pangaea.de/10.1594/PANGAEA.867908?format=citation_ris>
      ; rel="describedby"
      ; type="application/x-research-info-systems",
      <https://doi.pangaea.de/10.1594/PANGAEA.867908?format=citation_bibtex>
      ; rel="describedby"
      ; type="application/x-bibtex",
      <https://doi.pangaea.de/10.1594/PANGAEA.867908?format=zip>
      ; rel="item"
      ; type="application/zip",
      <http://orcid.org/0000-0003-1291-8524>
      ; rel="author"

Python client for FAIR Signposting

This Python 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. As this example shows, the library works by inspecting the HTTP messages for Link headers from a given URI and categorize them by their Link relation type 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 an RDF library like rdflib or retrieving resources using urllib. Future versions of this library may also provide ways to discover FAIR signposting in HTML &;ltlink> elements and in linkset documents.

Radar (Research Data Repository) FAIR Signposting

The Radar research data repository operated by the FIZ Karlsruhe Leibniz Institute for Information Infrastructure supports FAIR Signposting by providing typed links in the HTTP Link header of landing pages of archived datasets. The below example shows an HTTP GET on a landing page and (a subset of) the resulting HTTP response headers.

curl -I "https://www.radar-service.eu/radar/en/dataset/yHWPudieWdGxmEnU.A%2BT-matrix%2BBased%2BApproach%2BHomogenize%2BArtificial%2BMaterials"

HTTP/1.1 200
Date: Sat, 27 May 2023 07:00:44 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
Link: <https://doi.org/10.35097/856>
      ;rel="cite-as"
Link: <https://opensource.org/licenses/MIT>
      ;rel="license"
Link: <https://orcid.org/0000-0002-8173-3761>
      ;rel="author"
Link: <https://www.radar-service.eu/radar-backend/archives/yHWPudieWdGxmEnU/versions/1/content>
      ;rel="item"
      ;type="application/x-tar"
Link: <https://www.radar-service.eu/radar/en/export/yHWPudieWdGxmEnU/exportdatacite>
      ;rel="describedby"
      ;type="application/vnd.datacite.datacite+xml"
Link: <https://www.radar-service.eu/radar/en/export/yHWPudieWdGxmEnU/exportbibtex>
      ;rel="describedby"
      ;type="application/x-bibtex"
Link: <https://www.radar-service.eu/radar/en/export/yHWPudieWdGxmEnU/exportradarmetadata>
      ;rel="describedby"
      ;type="text/xml"
Content-Type: text/html;charset=UTF-8
Content-Language: en

RIOXX version 3 metadata format

Rioxx has been developed for institutional repositories to share metadata about the scholarly resources they contain. Originally designed to meet the reporting requirements of Research Councils UK (RCUK), RIOXX has also proven to be generally useful as a standard for sharing metadata between repositories and network services such as large-scale metadata aggregators like CORE. RIOXX version 3 recommends using FAIR Signposting to assist machine agents in navigating from the landing page to the relevant resources. But, additionally, it fully aligns with the Signposting perspective, giving the landing page URI a central role by providing it in dc:identifier, and by conveying various metadata elements by means of dc:relation links that are typed in the same way as recommended by Signposting, e.g. cite-as to point at the persistent identifier of the object provided by the institutional repository, item to point at content resources, etc.

Ruby Web Link parsing gem

This Ruby gem extracts links found in HTTP Link headers, HTML <link> elements, as well those provided in Link Sets (in both JSON and text format) made discoverable via Link headers and HTML <link> elements. It also handles unusual cases, such as having multiple relation types in a single link and dealing with 204 or 410 response where there is no message body.

UCD Digital Library

The University College Dublin Digital Library has implemented the following Signposting patterns:
This example shows the Identifier, Metadata Resources, and the Author patterns implemented for the Landing Page URI:

curl -I "http://digital.ucd.ie/view/ucdlib:31122"

HTTP/1.1 200 OK
Content-Length: 20
Content-Type: text/html; charset=UTF-8
Link: <https://doi.org/10.7925/drs1.ucdlib_31122>
      ; rel="cite-as",
      <https://doi.org/10.7925/drs1.ucdlib_31122>
      ; rel="describedby"
      ; type="application/vnd.citationstyles.csl+json",
      <https://digital.ucd.ie/citation/ucdlib:31122/ris>
      ; rel="describedby"
      ; type="application/x-research-info-systems",
      <https://digital.ucd.ie/citation/ucdlib:31122/btx>
      ; rel="describedby"
      ; type="application/x-bibtex",
      <http://orcid.org/0000-0001-6092-9741>
      ; rel="author",
      <http://orcid.org/0000-0001-5134-5322>
      ; rel="author"

UNT Digital Library

The University of North Texas Digital Library has implemented the following Signposting patterns:
This example shows the Identifier and Metadata Resources patterns implemented for the Landing Page URI; note the link to an IIIF manifest:

curl -I "https://digital.library.unt.edu/ark:/67531/metadc1477161/"

HTTP/1.1 200 OK
Content-Length: 20
Content-Type: text/html; charset=UTF-8
Link: <https://digital.library.unt.edu/ark:/67531/metadc1477161/>
      ; rel="cite-as",
      <https://digital.library.unt.edu/ark:/67531/metadc1477161/metadata.dc.xml>
      ; rel="describedby"
      ; type="txt/xml"
      ; profile="http://purl.org/dc/elements/1.1/",
      <https://digital.library.unt.edu/ark:/67531/metadc1477161/metadata.untl.xml>
      ; rel="describedby"
      ; type="txt/xml"
      ; profile="http://digital2.library.unt.edu/untl.xsd",
      <https://digital.library.unt.edu/ark:/67531/metadc1477161/manifest/>
      ; rel="describedby"
      ; type="application/json+ld"
      ; profile="http://iiif.io/api/presentation/2.1/"

WorkflowHub

WorkflowHub is registry for describing, sharing and publishing scientific computational workflows. It facilitates discovery and re-use of workflows in an accessible and interoperable way by leveraging open standards and tools, including RO-Crate and Signposting. The following Signposting patterns are used::
This example shows these patterns implemented for a WorkflowHub Landing Page URI; note the use of the profile attribute to specify that the ZIP file at the end of the item link complies with the RO-Crate specification:

curl -I "https://workflowhub.eu/workflows/419"

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 30731
Link: <https://workflowhub.eu/workflows/419?version=1> ;
      ; rel="describedby" ;
      type="application/vnd.datacite.datacite+xml",
<https://workflowhub.eu/workflows/419?version=1> ;
      rel="describedby" ;
      type="application/ld+json",
<https://workflowhub.eu/workflows/419/ro_crate?version=1> ;
      rel="item" ;
      type="application/zip" ;
      profile="https://w3id.org/ro/crate"