Sign inSign up

nlesc/fairdatapoint

By nlesc

•Updated over 5 years ago

Image
0

1.2K

nlesc/fairdatapoint repository overview

⁠FAIR Data Point (FDP)

PyPI DOI Research Software Directory

Python implementation of FAIR Data Point.

FDP is a RESTful web service that enables data owners to describe and to expose their datasets (metadata) as well as data users to discover more information about available datasets according to the FAIR Data Guiding Principles⁠. In particular, FDP addresses the findability or discoverability of data by providing machine-readable descriptions (metadata) at four hierarchical levels:

FDP->catalogs->datasets->distributions

FDP software specification can be found here⁠

⁠Running your FDP

docker run --name my_fdp \
    -p 80:80 \
    -e HOST=http://www.example.com/ \
    -e PORT=80 \
    -d nlesc/fairdatapoint

In this way, FDP will use a memory store for metadata. Use docker compose below for production running.

⁠Docker compose

version: '3'
services:
  fdp:
    build: .
    command: fdp-run http://www.example.com/ 80 --db http://db:8890/sparql
    ports:
      - "80:80"
    healthcheck:
        test: curl --silent --fail http://0.0.0.0 || exit 1
        interval: 5s
    depends_on:
      - db
  db:
    image: "tenforce/virtuoso"
    ports:
        - "8890:8890"
        - "1111:1111"
    environment:
        SPARQL_UPDATE: "true"
    volumes:
        - ./data/virtuoso:/data

⁠Web API documentation

FAIR Data Point (FDP) exposes the following endpoints (URL paths):

EndpointGETPOSTDELETE
fdpOutput metadata triplesRemove existing triples for a specific ID, then create new triples with the request dataNot Allowed
catalog/Output all IDsRemove existing triples for a specific ID, then create new triples with the request dataRemove all IDs
dataset/Output all IDsRemove existing triples for a specific ID, then create new triples with the request dataRemove all IDs
distribution/Output all IDsRemove existing triples for a specific ID, then create new triples with the request dataRemove all IDs
catalog/<catalogID>Output metadata triplesNot AllowedRemove the specific ID
dataset/<datasetID>Output metadata triplesNot AllowedRemove the specific ID
distribution/<distributionID>Output metadata triplesNot AllowedRemove the specific ID
⁠Access endpoints to request metadata programmatically

FDP: curl -iH 'Accept: text/turtle' [BASE URL]/fdp

Catalog: curl -iH 'Accept: text/turtle' [BASE URL]/catalog/catalog01

Dataset: curl -iH 'Accept: text/turtle' [BASE URL]/dataset/dataset01

Distribution: curl -iH 'Accept: text/turtle' [BASE URL]/distribution/dist01

⁠FDP supports the following RDF serializations (MIME-types):
  • Turtle: text/turtle
  • N-Triples: application/n-triples
  • N3: text/n3
  • RDF/XML: application/rdf+xml
  • JSON-LD: application/ld+json

⁠Contributing

If you want to contribute to the development of FAIR Data Point, have a look at the contribution guidelines⁠.

⁠License

Copyright (c) 2019,

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0⁠

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Tag summary

Content type

Image

Digest

Size

100.9 MB

Last updated

over 5 years ago

docker pull nlesc/fairdatapoint