Page Properties | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Introduction
Purpose
The purpose of this document is to specify the FAIR Data Point (FDP) software. This document includes requirements, architecture and design of the FDP software. This specification is primarily intended to be a reference for developing the first version (prototype) of the FDP software by the FAIR engineering team.
...
The FDP has initially two usage purposes: (i) to be used as a stand-alone web application, where data owners give access to their datasets in a FAIR manner and, (ii) to be integrated in larger data interoperability systems, such as the FAIRport, providing the dataset accessibility functionality for such systems. Figure 2 depicts (using elements from the technology layer of Archimate's notation) a FDP as a stand-alone application deployed in a web server, exposing to the Web its API and GUI. Figure 3 depicts a set of FDPs integrated as components in a Data FAIRport platform. In this case, each FDP gives access to the datasets published by a given data owner.
| ||
Fig. 2 - FAIR Data Point as a stand alone Web application | Fig. 3 - FAIR Data Point as an application component |
...
The details of what each of these metadata object represent are given in the Metadata section below in this document. Also, the details of the FAIR Data Point API are given below in this document at the Application Programming Interface (API) section.
Fig. 4 - FAIR Data Point's Archimate Application layer architecture |
...
Metadata
The FAIR Data Point metadata about four entities, namely, the FAIR Data Point itself, the collection of datasets, each one of the offered datasets and the data within each of the dataset
...
Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Fig. 5 - FDP metadata |
Term Name: identifier | ||
---|---|---|
URI: | http://purl.org/dc/terms/identifier | |
Label: | Identifier | |
Definition: | An unambiguous and persistent reference to the FDP. | |
Comment: | Recommended best practice is to identify the resource by means of a string conforming to a formal identification system. | |
Has Range: | http://www.w3.org/2000/01/rdf-schema#Literal | |
Version: | http://dublincore.org/usage/terms/history/#identifierT-001 | |
Term Name: license | ||
URI: | http://purl.org/dc/terms/license | |
Label: | License | |
Definition: | A document describing the conditions for access and usage of the FDP. | |
Has Range: | http://purl.org/dc/terms/LicenseDocument | |
Version: | http://dublincore.org/usage/terms/history/#license-002 | |
Term Name: title | ||
URI: | http://purl.org/dc/terms/title | |
Label: | Title | |
Definition: | The name of the FDP. | |
Has Range: | http://www.w3.org/2000/01/rdf-schema#Literal | |
Version: | http://dublincore.org/usage/terms/history/#titleT-002 | |
Term Name: description | ||
URI: | http://purl.org/dc/terms/description | |
Label: | Description | |
Definition: | A human-readable description of the FDP. | |
Has Range: | ||
Version: | http://dublincore.org/usage/terms/history/#descriptionT-001 | |
Term Name: hasVersion | ||
URI: | http://purl.org/dc/terms/hasVersion | |
Label: | ||
Definition: | The version of the FDP software. | |
Has Range: | ||
Version: | http://dublincore.org/usage/terms/history/#hasVersion-003 | |
Term Name: Metadata Version | ||
URI: | http://purl.org/dc/terms/hasVersion | |
Label: | ||
Definition: | The version of the FDP API specification implemented in this FDP deployment. | |
Has Range: | ||
Version: | http://dublincore.org/usage/terms/history/#hasVersion-003 | |
Term Name: issued | ||
URI: | http://purl.org/dc/terms/issued | |
Label: | Date Issued | |
Definition: | Date of formal issuance (e.g., deployment) of the FDP. | |
Has Range: | http://www.w3.org/2000/01/rdf-schema#Literal | |
Version: | http://dublincore.org/usage/terms/history/#issued-003 | |
Term Name: modified | ||
URI: | http://purl.org/dc/terms/modified | |
Term Name: publisher | ||
URI: | http://purl.org/dc/terms/publisher | |
Label: | Publisher | |
Definition: | The entity responsible for making the FDP available. | |
Has Range: | http://purl.org/dc/terms/Agent | |
Version: | http://dublincore.org/usage/terms/history/#publisherT-001 |
Catalog, Dataset and Distribution metadata
...
List of required and optional predicates for the catalog metadata
Ontology | Term name | Required/Optional |
---|---|---|
DC terms | dct:title | Required |
dct:identifier | Required | |
dct:issued | Required | |
dct:modified | Required | |
dct:hasVersion | Required | |
dct:description | Optional | |
dct:publisher | Optional | |
dct:language | Optional | |
dct:license | Optional | |
dct:rights | Optional | |
RDF Schema | rdfs:label | Required |
FOAF | foaf:homepage | Optional |
DCAT | dcat:dataset | Required |
dcat:themeTaxonomy | Required |
Dataset metadata
List of required and optional predicates for the dataset metadata
Ontology | Term name | Required/Optional |
---|---|---|
DC terms | dct:title | Required |
dct:identifier | Required | |
dct:issued | Required | |
dct:modified | Required | |
dct:description | Optional | |
dct:publisher | Required | |
dct:hasVersion | Required | |
dct:language | Optional | |
dct:license | Optional | |
dct:rights | Optional | |
RDF Schema | rdfs:label | Required |
DCAT | dcat:distribution | Required |
dcat:theme | Required | |
dcat:contactPoint | Optional | |
dcat:keyword | Optional | |
dcat:landingPage | Optional |
...
Distribution metadata
List of required and optional predicates for the distribution metadata
Ontology | Term name | Required/Optional |
---|---|---|
DC terms | dct:title | Required |
dct:identifier | Required | |
dct:issued | Required | |
dct:modified | Required | |
dct:description | Optional | |
dct:license | Required | |
dct:hasVersion | Required | |
dct:rights | Optional | |
RDF Schema | rdfs:label | Required |
DCAT | dcat:accessURL (or) dcat:downloadURL | Required |
dcat:mediaType | Required | |
dcat:format | Optional | |
dcat:byteSize | Optional |
...
Figure 6 depicts the HATEOAS RESTful API of FDP. In the figure, the upper-left green box represents the FDP service and responds to requests to the root URL, hereby represented as "/".
Fig. 6 - FDP HATEOAS API |
When the FAIR Data Point Service root URL receives an HTTP GET request (e.g., http://145.100.59.120:8082/fdp/), the Metadata Service returns the FDPMetadata resource. This resource contains information about the FDP itself such as the owner (organisation or individual), FDP version, API version, etc. The content of the FDPMetadata resource is based on the Repository concept defined in the Open Initiative Archive Protocol for Metadata Harvesting (OAI-PMH). Following the HATEOAS guidelines, the FDPMetadata resource also provides a link to the CatalogMetadata resource.
...
The DatasetMetadata resource provides information about the each of the offered datasets. Information includes datasets owner, license, distribution, etc. This resource is equivalent to W3C's DCAT Dataset. An example URL: http://fdp.biotools.nl:8080/dataset/breedb .
TODO: include a link to the SWAGGER document. Although by adopting HATEOAS guidelines an API specification is not needed because, at any point, a HATEOAS API provides information about how to navigate further from that point, it is still relevant to document the whole FDP API.
...
Fig. 8 - Dataset collection metadata page |
...
Once the user select one of the available datasets, the dataset metadata page is displayed. Figure 9 depicts the mockup of a dataset metadata page.
Fig. 9 - Dataset metadata page |
...
Additional references
...