fairdatapoint
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.0%) to scientific vocabulary
Keywords
Repository
Basic Info
- Host: GitHub
- Owner: FAIRDataTeam
- License: mit
- Language: Java
- Default Branch: develop
- Homepage: https://www.fairdatapoint.org
- Size: 12.2 MB
Statistics
- Stars: 67
- Watchers: 13
- Forks: 37
- Open Issues: 68
- Releases: 37
Topics
Metadata Files
README.md
FAIR Data Point
FAIR Data Point (FDP) is a REST API for creating, storing, and serving FAIR metadata. This FDP implementation also presents a Web-based graphical user interface (GUI). The metadata contents are generated semi-automatically according to the FAIR Data Point software specification document.
Usage
More information about FDP, how to deploy it and use it can be found in the FDP Deployment and REST API usage Documentation.
Related GitHub Projects
- FAIR Data Point Client
- FAIR Data Point E2E Tests
- FAIR Data Point Documentation
- OpenRefine Metadata Extension
API Documentation
FAIR Data Point API comes with an embedded OpenAPI documentation using Swagger. The
details of API calls can be found there. It also allows trying out API calls directly. To access the FDP swagger
document please visit the following url via web
browser localhost:8080/swagger-ui.html (for local deployment)
or https://your.domain.tld/swagger-ui.html for your deployment (
e.g. app.fairdatapoint.org/swagger-ui.html). More detailed descriptions and examples of these API calls is available in the Deployment and Usage instructions
Development
Technology Stack
- Java (JDK 21)
- PostgreSQL (15.0 or higher)
- Maven (3.2.5 or higher)
- Docker (19.03.0-ce or higher) - for building Docker image only
Build & Run
To run the application, a PostgreSQL DB instance is required to be running. To configure the database with standard
connection (postgresql://localhost:54321/fdp, credentials fdp:fdp), simply instruct Spring Boot to use the
development profile. Then run:
bash
$ mvn spring-boot:run -Dspring-boot.run.profiles=development
Alternatively, create an application.yml file in the project root
and configure the database
or use environment variables (FDP_POSTGRES_HOST, FDP_POSTGRES_PORT, FDP_POSTGRES_DB, FDP_POSTGRES_USERNAME,
and FDP_POSTGRES_PASSWORD; and then run:
bash
$ mvn spring-boot:run
Run tests
Run from the root of the project:
bash
$ mvn test
Package the application
Run from the root of the project:
bash
$ mvn package
Create a Docker image
Run from the root of the project (requires building jar file using mvn package as shown above):
bash
$ docker build -t fairdatapoint:local .
Build using Docker
If you do not have Java and Maven locally, you can build the Docker image using Docker (instead of using locally
built jar file):
bash
$ docker build -f Dockerfile -t fairdatapoint:local .
Security
Most of the GET requests are publicly accessible. In contrast, POST, PUT, DELETE, and PATCH requests are
mainly secured. We use JWT Tokens
and Bearer Token Authentication. The
token can be retrieved using /tokens endpoint where you send username and password. For details, visit the OpenAPI
documentation.
Default users
- ADMIN:
- Username:
albert.einstein@example.com - Password:
password
- Username:
- USER:
- Username:
nikola.tesla@example.com - Password:
password
- Username:
Contributing
We maintain a CHANGELOG, you should also take a look at our Contributing guidelines and Code of Conduct.
Citation
The following paper can be cite as a reference paper for the FAIR Data Point:
@article{10.1162/dint_a_00160,
author = {Bonino da Silva Santos, Luiz Olavo and Burger, Kees and Kaliyaperumal, Rajaram and Wilkinson, Mark D.},
title = "{FAIR Data Point: A FAIR-oriented approach for metadata publication}",
journal = {Data Intelligence},
pages = {1-21},
year = {2022},
month = {08},
issn = {2641-435X},
doi = {10.1162/dint_a_00160},
url = {https://doi.org/10.1162/dint\_a\_00160},
eprint = {https://direct.mit.edu/dint/article-pdf/doi/10.1162/dint\_a\_00160/2038268/dint\_a\_00160.pdf}}
License
This project is licensed under the MIT License - see the LICENSE file for more details.
Owner
- Name: FAIR Data Team
- Login: FAIRDataTeam
- Kind: organization
- Location: Netherlands
- Website: https://fairdatateam.org
- Repositories: 68
- Profile: https://github.com/FAIRDataTeam
Here we keep the code of the FAIR-related software developed by the engineering team.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: FAIR Data Point
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Luiz Olavo
family-names: Bonino da Silva Santos
email: l.o.boninodasilvasantos@utwente.nl
affiliation: University of Twente
orcid: 'https://orcid.org/0000-0002-1164-1351'
- given-names: Kees
family-names: Burger
affiliation: Leiden University Medical Center
- given-names: Rajaram
family-names: Kaliyaperumal
affiliation: 'Leiden University Medical Center '
email: r.kaliyaperumal@lumc.nl
orcid: 'https://orcid.org/0000-0002-1215-167X'
- given-names: Marek
family-names: Suchánek
affiliation: Czech Technical University in Prague
orcid: 'https://orcid.org/0000-0001-7525-9218'
- given-names: Jan
family-names: Slifka
orcid: 'https://orcid.org/0000-0002-4941-0575'
affiliation: Czech Technical University in Prague
- given-names: Mark
family-names: Wilkinson
affiliation: Universidad Politécnica de Madrid (UPM)
orcid: 'https://orcid.org/0000-0001-6960-357X'
license: MIT
GitHub Events
Total
- Create event: 97
- Commit comment event: 3
- Release event: 7
- Issues event: 69
- Watch event: 7
- Delete event: 82
- Issue comment event: 166
- Push event: 141
- Pull request review comment event: 13
- Pull request review event: 37
- Pull request event: 174
- Fork event: 4
Last Year
- Create event: 97
- Commit comment event: 3
- Release event: 7
- Issues event: 69
- Watch event: 7
- Delete event: 82
- Issue comment event: 166
- Push event: 141
- Pull request review comment event: 13
- Pull request review event: 37
- Pull request event: 174
- Fork event: 4
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 90
- Total pull requests: 316
- Average time to close issues: 8 months
- Average time to close pull requests: 19 days
- Total issue authors: 29
- Total pull request authors: 11
- Average comments per issue: 0.94
- Average comments per pull request: 0.58
- Merged pull requests: 205
- Bot issues: 2
- Bot pull requests: 194
Past Year
- Issues: 48
- Pull requests: 100
- Average time to close issues: 28 days
- Average time to close pull requests: 12 days
- Issue authors: 8
- Pull request authors: 6
- Average comments per issue: 0.46
- Average comments per pull request: 0.51
- Merged pull requests: 43
- Bot issues: 0
- Bot pull requests: 67
Top Authors
Issue Authors
- dennisvang (34)
- rajaram5 (6)
- hcvdwerf (5)
- vemonet (4)
- byte-for-byte (3)
- kburger (3)
- markwilkinson (3)
- luizbonino (3)
- ronaldcornet (3)
- bencomp (2)
- dependabot[bot] (2)
- MarekSuchanek (2)
- mgaggero (2)
- PatrickDekkerHealthRI (2)
- 66Noah2018 (2)
Pull Request Authors
- dependabot[bot] (193)
- rajaram5 (34)
- vknaisl (24)
- dennisvang (20)
- MarekSuchanek (18)
- kburger (16)
- PatrickDekkerHealthRI (5)
- janslifka (2)
- ggVGc (1)
- egonw (1)
- ericprud (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- actions/setup-java v3.9.0 composite
- ankane/setup-mongodb v1 composite
- docker/build-push-action v3 composite
- docker/login-action v2 composite
- docker/metadata-action v4 composite
- docker/setup-buildx-action v2 composite
- docker/setup-qemu-action v2 composite
- actions/checkout v3 composite
- actions/setup-java v3.9.0 composite
- actions/cache v3.2.3 composite
- actions/checkout v3 composite
- actions/setup-java v3.9.0 composite
- github/codeql-action/analyze v2 composite
- github/codeql-action/init v2 composite
- snyk/actions/docker master composite
- snyk/actions/maven master composite
- eclipse-temurin 17-jdk-focal build
- io.mongock:mongock-bom 5.2.2 import
- com.github.fairdevkit:rdf-resource-resolver-api 0.1.2-SNAPSHOT
- com.github.fairdevkit:rdf-resource-resolver-core 0.1.2-SNAPSHOT
- io.jsonwebtoken:jjwt-api 0.11.5
- io.jsonwebtoken:jjwt-impl 0.11.5
- io.jsonwebtoken:jjwt-jackson 0.11.5
- io.mongock:mongock-springboot
- io.mongock:mongodb-springdata-v3-driver
- nl.dtls:spring-rdf-migration 1.2.0.RELEASE
- org.eclipse.rdf4j:rdf4j-rio-api 4.2.2
- org.eclipse.rdf4j:rdf4j-runtime 4.2.2
- org.eclipse.rdf4j:rdf4j-sail-nativerdf 4.2.2
- org.projectlombok:lombok 1.18.24
- org.springdoc:springdoc-openapi-ui 1.6.14
- org.springframework.boot:spring-boot-configuration-processor
- org.springframework.boot:spring-boot-starter-actuator
- org.springframework.boot:spring-boot-starter-aop
- org.springframework.boot:spring-boot-starter-data-mongodb
- org.springframework.boot:spring-boot-starter-log4j2
- org.springframework.boot:spring-boot-starter-security
- org.springframework.boot:spring-boot-starter-validation
- org.springframework.boot:spring-boot-starter-web
- org.springframework.data:spring-data-mongodb 3.4.5
- org.springframework.security:spring-security-acl
- org.springframework.security:spring-security-acl-mongodb 5.2.4.RELEASE
- org.springframework.boot:spring-boot-starter-test test
- org.springframework.security:spring-security-test test