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
content-type: text/html;charset=UTF-8
content-length: 45801
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"
                    
                    

Chrome browser Signposting extension

The Chrome Signposting extension is a proof of concept that reveals Signposting links, provided for machine consumption, to the user of the browser. It illustrates the potential to consistently convey information that is provided on landing pages in a myriad of ways by scholarly publishers, platforms, repositories, ... The code repository provides information, among others, about permissions required by the extension in order to be able to successfully operate.

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:
                 
{
  "linkset": [
    {
      "anchor": "https://repository.dri.ie/catalog/vm41bk02f",
      "cite-as": [
        {
          "href": "https://doi.org/10.7486/DRI.vm41bk02f"
        }
      ],
      "type": [
        {
          "href": "https://schema.org/AboutPage"
        }
      ],
      "item": [
        {
          "href": "https://repository.dri.ie/objects/vm41bk02f/files/w950js90q/download?type=surrogate",
          "type": "image/tiff, image/tiff"
        },
        {
          "href": "https://repository.dri.ie/objects/vm41bk02f/files/wp98pc265/download?type=surrogate",
          "type": "image/tiff, image/tiff"
        },
        {
          "href": "https://repository.dri.ie/objects/vm41bk02f/files/x059s178r/download?type=surrogate",
          "type": "image/tiff, image/tiff"
        }
      ],
      "describedby": [
        {
          "href": "https://repository.dri.ie/objects/vm41bk02f/metadata",
          "type": "application/xml",
          "profile": "http://dublincore.org/schemas/xmls/qdc/2008/02/11/qualifieddc.xsd"
        }
      ],
      "license": [
        {
          "href": "http://creativecommons.org/licenses/by/4.0/"
        }
      ]
    },
    [
      {
        "anchor": "https://repository.dri.ie/objects/vm41bk02f/files/w950js90q/download?type=surrogate",
        "collection": [
          {
            "href": "https://repository.dri.ie/catalog/v40663823",
            "type": "text/html"
          }
        ]
      },
      {
        "anchor": "https://repository.dri.ie/objects/vm41bk02f/files/wp98pc265/download?type=surrogate",
        "collection": [
          {
            "href": "https://repository.dri.ie/catalog/v40663823",
            "type": "text/html"
          }
        ]
      },
      {
        "anchor": "https://repository.dri.ie/objects/vm41bk02f/files/x059s178r/download?type=surrogate",
        "collection": [
          {
            "href": "https://repository.dri.ie/catalog/v40663823",
            "type": "text/html"
          }
        ]
      }
    ]
  ]
}
                                  
                                  

DSpace 7 FAIR Signposting

Starting with release 7.6, the DSpace 7 repository software supports the FAIR Signposting Profile. It supports supports Signposting by 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 describedby and cite-as links provided in the HTML <link> element of dataset landing pages. A linkset is also provided but, at the time of writing, it points at a Link Set that is not properly implemented. As an example, the HTML landing page https://edp-portal.eurac.edu/discovery/31f0258a-5517-11ed-8c40-0050568e1483 contains the following entries:

       
                    
<link rel="cite-as" 
      href="https://doi.org/10.48784/31f0258a-5517-11ed-8c40-0050568e1483"> 
<link rel="describedby" 
      href="https://api.datacite.org/dois/10.48784/31f0258a-5517-11ed-8c40-0050568e1483" 
      type="application/json">
<link rel="describedby" 
      href="https://doi.org/10.48784/31f0258a-5517-11ed-8c40-0050568e1483?format=metadata_datacite4" 
      type="application/vnd.datacite.datacite+xml">
<link rel="describedby" 
      href="https://edp-portal.eurac.edu/discovery/jsonld/31f0258a-5517-11ed-8c40-0050568e1483"
      type="application/ld+json">
<link rel="describedby" 
      href="https://edp-portal.eurac.edu/geonetwork/srv/api/records/31f0258a-5517-11ed-8c40-0050568e1483/formatters/xml?approved=true" 
      type="application/vnd.iso19139.metadata+xml">
<link rel="linkset" 
      href="https://edp-portal.eurac.edu/discovery/linkset/31f0258a-5517-11ed-8c40-0050568e1483"
      type="application/linkset+json">
                    
                    

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

       
                    
{
  "linkset": [
    {
      "anchor": "https://fair-by-design-methodology.github.io/fair-by-design_tot/latest/",
      "type": [
        {
          "href": "https://schema.org/LearningResource"
        },
        {
          "href": "https://schema.org/AboutPage"
        }
      ],
      "author": [
        {
          "href": "https://orcid.org/0000-0003-0034-2855"
        },
        {
          "href": "https://orcid.org/0000-0001-7271-6655"
        },
        {
          "href": "https://orcid.org/0000-0003-0419-4300"
        },
        {
          "href": "https://orcid.org/0000-0002-6940-0024"
        }
      ],
      "item": [
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%206%20%E2%80%93%20Verify/20-Continuous%20Improvement/20-CI.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%206%20%E2%80%93%20Verify/19-Final%20QA%20check/19-finalQA.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%205%20%E2%80%93%20Publish/17-Zenodo%20Publishing/17-Zenodo%20Publishing.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%205%20%E2%80%93%20Publish/18-Publishing%20to%20learning%20platform/18-Publishing%20to%20learning%20platform.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%205%20%E2%80%93%20Publish/16-Publishing%20Preparations/16-Publishing%20Preparations.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%203%20%E2%80%93%20Design/04-Conceptualisation/04-Conceptualisation.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%203%20%E2%80%93%20Design/06-Learning%20unit%20development/06-LearningUnitDevelopment.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%203%20%E2%80%93%20Design/05-Hierarchical%20Structure/05-HierarchicalStructure.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%203%20%E2%80%93%20Design/07-Facilitation/07-Facilitation.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%202%20%E2%80%93%20Discover/03-Existing%20learning%20materials/03-Existing%20learning%20materials.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%201%20%E2%80%93%20Prepare/01-FAIR%20skills%20%26%20principles/01-FAIR%20skills%20%26%20principles.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%201%20%E2%80%93%20Prepare/02-Preparing%20FAIR%20Learning%20Objects/02-Preparing%20FAIR%20Learning%20Objects.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%201%20%E2%80%93%20Prepare/02-Preparing%20FAIR%20Learning%20Objects/02-Preparing%20FAIR%20Learning%20Objects_cont.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/10-Content%20Mix/10-Observing%20Changes.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/10-Content%20Mix/10-Slide_Deck_preparation.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/10-Content%20Mix/10-Existing%20Markdown%20Materials%20Reuse.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/13-Internal%20QA/13-Internal_QA.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/09-Content%20Development/09-Markdown%20Syntax.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/11-Accessibility/11-Checking_accessibility.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/15-Alternative/15-alternative.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/08-Development%20Tools/08-Working%20with%20Git%20Books%20and%20Key%20Takeaways.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/08-Development%20Tools/08-Setting%20up%20a%20Markdown%20Editor.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/08-Development%20Tools/08-Introduction%20to%20Markdown%20and%20Git.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/12-Content%20Finalisation/12-Content_finalisation.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/Stage%204%20%E2%80%93%20Produce/14-Team%20Collaboration/14-Team%20Collaboration.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/blob/main/resources/00-Welcome/00-Welcome.md",
          "type": "text/markdown"
        },
        {
          "href": "https://github.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT",
          "type": "text/html"
        }
      ],
      "describedby": [
        {
          "href": "https://raw.githubusercontent.com/FAIR-by-Design-Methodology/FAIR-by-Design_ToT/main/CITATION.cff",
          "type": "application/yaml",
          "profile": "https://citation-file-format.github.io/1.2.0/schema.json"
        }
      ],
      "license": [
        {
          "href": "https://spdx.org/licenses/CC-BY-4.0.html"
        }
      ],
      "related": [
        {
          "href": "https://doi.org/10.5281/zenodo.12604767",
          "type": "text/html"
        }
      ]
    }
  ]
}     
                    
                    

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/"
                    
                    

Holofood Data Portal

The Holofood Data Portal has done minimal Signposting interventions: landing pages for samples for which the portal holds information provide a describedby link to metadata that is available for the sample as well as a collection link that points at a machine-readable inventory of samples. Note that this use of the collection link is legitimate but semantically different than the one specified in the FAIR Signposting Profile, which is used to point from a content resource of a scholarly object to the landing page that describes the scholarly object.
This example shows the typed links for the landing page <https://www.holofooddata.org/sample/SAMEA10104908>:

curl -I "https://www.holofooddata.org/sample/SAMEA10104908"

                    
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 61732
Link: <https://www.holofooddata.org/api/samples/SAMEA10104908> 
      ; rel="describedby" ; type="application/json" 
      ; profile="https://www.holofooddata.org/api/openapi.json", 
      <https://www.holofooddata.org/api/samples> 
      ; rel="collection" ; type="application/json" 
      ; profile="https://www.holofooddata.org/api/openapi.json"
                    
                    

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.

curl -I "https://zenodo.org/records/7977333"

                    
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
link: <https://zenodo.org/api/records/7977333>
      ; rel="linkset" ; type="application/linkset+json"
                    
                    
In order to retrieve the linkset, a client must 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. Note that metadata describing the object (describedby links) is available in many formats, all available via content negotiation with the same URI <https://zenodo.org/api/records/7977333>. Without the Signposting links, a client has no way to determine which formats are supported.

curl --header "Accept: application/linkset+json" -i "https://zenodo.org/api/records/7977333"

                    
HTTP/1.1 200 OK
content-type: application/linkset+json
content-length: 2221
                        
{
    "linkset": [
    {
      "anchor": "https://zenodo.org/records/7977333",
      "author": [
        {
          "href": "https://orcid.org/0000-0002-0715-6126"
        }
      ],
      "cite-as": [
        {
          "href": "https://doi.org/10.5281/zenodo.7977333"
        }
      ],
      "describedby": [
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/dcat+xml"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/json"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/ld+json"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/linkset+json"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/marcxml+xml"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/vnd.citationstyles.csl+json"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/vnd.datacite.datacite+json"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/vnd.datacite.datacite+xml"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/vnd.geo+json"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/vnd.inveniordm.v1+json"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/vnd.inveniordm.v1.full+csv"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/vnd.inveniordm.v1.simple+csv"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/x-bibtex"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "application/x-dc+xml"
        },
        {
          "href": "https://zenodo.org/api/records/7977333",
          "type": "text/x-bibliography"
        }
      ],
      "item": [
        {
          "href": "https://zenodo.org/records/7977333/files/FDO_and_FAIR_Signposting_with_notes.pdf",
          "type": "application/pdf"
        }
      ],
      "license": [
        {
          "href": "https://creativecommons.org/licenses/by/4.0/legalcode"
        }
      ],
      "type": [
        {
          "href": "https://schema.org/PresentationDigitalDocument"
        },
        {
          "href": "https://schema.org/AboutPage"
        }
      ]
    },
    {
      "anchor": "https://zenodo.org/records/7977333/files/FDO_and_FAIR_Signposting_with_notes.pdf",
      "collection": [
        {
          "href": "https://zenodo.org/records/7977333",
          "type": "text/html"
        }
      ]
    },
    {
      "anchor": "https://zenodo.org/api/records/7977333",
      "describes": [
        {
          "href": "https://zenodo.org/records/7977333",
          "type": "text/html"
        }
      ]
    }
  ]
}
                    
                    

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:

                    
{
  "linkset": {
    "anchor": "https://www.annalsofgeophysics.eu/index.php/annals/article/view/8993",
    "describedby": [
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=acm-sig-proceedings",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=acs-nano",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=apa",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=associacao-brasileira-de-normas-tecnicas",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=chicago-author-date",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=harvard-cite-them-right",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=ieee",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=modern-language-association",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=turabian-fullnote-bibliography",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=vancouver",
        "type": "text/plain"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=ris",
        "type": "application/x-Research-Info-Systems"
      },
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/sp-citation/serveCitation/8993?format=bibtex",
        "type": "application/x-bibtex"
      },
      {
        "href": "https://doi.org/10.4401/ag-8993",
        "type": "application/vnd.citationstyles.csl+json"
      }
    ],
    "cite-as": [
      {
        "href": "https://doi.org/10.4401/ag-8993"
      }
    ],
    "item": [
      {
        "href": "https://www.annalsofgeophysics.eu/index.php/annals/article/download/8993/7626",
        "type": "application/pdf"
      }
    ]
  }
}
                
                

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_text>
      ; rel="describedby" ; type="text/x-bibliography", 
      <https://doi.pangaea.de/10.1594/PANGAEA.867908?format=metadata_jsonld>
      ; rel="describedby" ; type="application/ld+json", 
      <https://doi.pangaea.de/10.1594/PANGAEA.867908?format=metadata_panmd>
      ; rel="describedby" ; type="application/vnd.pangaea.metadata+xml",
      <https://doi.pangaea.de/10.1594/PANGAEA.867908?format=metadata_iso19139>
      ;rel="describedby" ; type="application/vnd.iso19139.metadata+xml",
      <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=metadata_dif>
      ; rel="describedby" ; type="application/vnd.nasa.dif-metadata+xml", 
      <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=metadata_datacite4>
      ; rel="describedby" ; type="application/vnd.datacite.datacite+xml",
      <https://doi.pangaea.de/10.1594/PANGAEA.867908?format=zip>
      ; rel="item" ; type="application/zip",
      <https://orcid.org/0000-0002-0856-5183>
      ; rel="author",
      <https://orcid.org/0000-0003-1291-8524>
      ; rel="author",
      <https://orcid.org/0000-0003-2612-8347>
      ; rel="author",
      <https://orcid.org/0000-0001-8877-1325>
      ; rel="author",
      <https://orcid.org/0000-0002-7527-5880>
      ; rel="author"
                    
                    

Plack Middleware Signposting support

Plack-Middleware-Signposting is Plack middleware (Perl) for web applications that follow the PSGI web server gateway interface specification. The middleware provides developers of web applications with a toolkit to transform JSON metadata records into Signposting headers. The transformation of JSON to Signposting can be provided using the Catmandu mapping language.

Python client for FAIR Signposting

This Python library and command line tool helps applications to discover typed links that follow the Signposting conventions, most notably FAIR Signposting. Once typed links have been detected, they can be used to navigate between persistent identifiers, HTML landing pages, content resources (downloads/items), metadata resources. The tool works by inspecting HTTP Link headers, HTML <link> elements, and JSON linkset documents, extracting typed links, and categorizing them by their link relation type into a Signposting object with absolute URIs. It is up to applications that use the tool to decide how to further navigate or retrieve the associated resources, e.g. using an RDF library like rdflib or retrieving resources using urllib. This example shows the tool inspecting the HTTP Link headers for a given URI.

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
Content-Type: text/html;charset=UTF-8
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" 
      ; profile="http://radar-service.eu/schemas/descriptive/radar/v09/radar-dataset"
Link: <https://www.radar-service.eu/radar/en/export/yHWPudieWdGxmEnU/exportoaidc> 
      ; rel="describedby" ; type="text/xml" 
      ; profile="http://purl.org/dc/elements/1.1/"
                    
                    

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 and Metadata Resources patterns implemented for the Landing Page URI:

curl -I "https://digital.ucd.ie/view/ucdlib:271000"

                    
HTTP/1.1 200 OK
Date: Sun, 06 Oct 2024 07:53:05 GMT
Content-Type: text/html; charset=UTF-8
Link: <https://doi.org/10.7925/drs1.ucdlib_271000>
      ; rel="identifier",
      <https://doi.org/10.7925/drs1.ucdlib_271000>
      ; rel="describedby" ; type="application/vnd.citationstyles.csl+json", 
      <https://digital.ucd.ie/citation/ucdlib:271000/ris>
      ; rel="describedby" ; type="application/x-research-info-systems",
      <https://digital.ucd.ie/citation/ucdlib:271000/btx>
      ; rel="describedby" ; type="application/x-bibtex"
                    
                    

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 Signposting patterns used by WorkflowHub are::
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"