Skip to content

Commit

Permalink
Merge pull request #1 from DTL-FAIRData/fdp-spec-1_0
Browse files Browse the repository at this point in the history
Fdp spec 1 0
  • Loading branch information
rajaram5 committed Feb 10, 2017
2 parents f5fd444 + 6a6c7bd commit f39d0b9
Show file tree
Hide file tree
Showing 113 changed files with 2,468 additions and 6,917 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
target
.classpath
.project
.settings
9 changes: 8 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
language: java
jdk:
- oraclejdk8
- oraclejdk8
before_install:
- git clone --branch=develop https://github.com/DTL-FAIRData/FairMetadata.git ~/FairMetadata
- cd ~/FairMetadata
- mvn install
- cd $TRAVIS_BUILD_DIR
after_success:
- mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test org.jacoco:jacoco-maven-plugin:report coveralls:report
80 changes: 32 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,39 @@
[![Build Status](https://travis-ci.org/DTL-FAIRData/FAIRDataPoint.svg?branch=develop)](https://travis-ci.org/DTL-FAIRData/FAIRDataPoint)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f201d68cb6ca4bd192abda93d5d320da)](https://www.codacy.com/app/burger-github/FAIRDataPoint?utm_source=github.com&utm_medium=referral&utm_content=DTL-FAIRData/FAIRDataPoint&utm_campaign=Badge_Grade)
[![Dependency Status](https://www.versioneye.com/user/projects/57ea451779806f003983556f/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/57ea451779806f003983556f)
[![Build Status](https://travis-ci.org/DTL-FAIRData/FAIRDataPoint.svg?branch=fdp-spec-1_0)](https://travis-ci.org/DTL-FAIRData/FAIRDataPoint)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/61f029299b814ca8be2b8edbaab6ce50)](https://www.codacy.com/app/rajaram5/FAIRDataPoint?utm_source=github.com&utm_medium=referral&utm_content=DTL-FAIRData/FAIRDataPoint&utm_campaign=Badge_Grade)
[![Dependency Status](https://www.versioneye.com/user/projects/589adf56475a4f003b59406e/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/589adf56475a4f003b59406e)
[![Coverage Status](https://coveralls.io/repos/github/DTL-FAIRData/FAIRDataPoint/badge.svg?branch=fdp-spec-1_0)](https://coveralls.io/github/DTL-FAIRData/FAIRDataPoint?branch=fdp-spec-1_0)

### Summary
In the current implementation we only support `GET` requests and only `FAIR MetaData` are stored and served. The metadata contents should be generated `manually` according to the [FAIR Data Point software specification](https://dtl-fair.atlassian.net/wiki/display/FDP/FAIR+Data+Point+software+specification) document.
`FAIRDataPoint` is a REST api for creating, storing and servering `FAIR metadata`. The metadata contents are in this api are generated `semi-automatically` according to the [FAIR Data Point software specification](https://dtl-fair.atlassian.net/wiki/display/FDP/FAIR+Data+Point+software+specification) document. In the current version of api we support `GET, POST and PATCH` requests.

#### Deployment machine's requirement
* JRE 1.8
* Tomcat 7 or higher


#### Configurations
###### Triple store (triple-store.properties)
In the current implementation, we provide an interface to connect to the `standalone triple store`. Current version of FDP has been tested with `Virtuoso` and `AllegroGraph` triple stores. If you would like to configure your FDP to connect to the standalone triple store, then follow the instructions below.

In the `triple-store.properties` file use the following values
* `store-type=2`
* `store-url=YOUR_TRIPLE_STORE_SPARQL_ENDPOINT_URL`

It is also possible to configure FDP to use the `inMemory triple store`. Since we don't support `POST` requests in the current implementation we strongly recommend you **not to use** the inMemory triple store option. If you would still like to configure your FDP to use the inMemory triple store, then follow the instructions below.

In the `triple-store.properties` file use the following values
* `store-type=1`
* `store-prepopulate=true`

> **LOCATION** of triple-store.properties file : `<TOMCAT_BASE>/webapps/fdp/WEB-INF/classes/conf`
/triple-store.properties

###### Tomcat server (fdp-server.properties)
This is an optional property file, it is primarily used to store the static metadata turtle files into the inMemory triple store. If you configured your FDP to use the inMemory triple store then follow the instructions below.

In the `fdp-server.properties` file use the following values
* base-uri=YOUR_HOST_TOMCAT_URL

`An example base-uri = http://145.100.59.120:8082/`

> **LOCATION** of fdp-server.properties file : `<TOMCAT_BASE>/webapps/fdp/WEB-INF/classes/conf/fdp-server.properties`
**Note :** This property file will be removed when we start supporting `POST` requests

#### How to upload the metadata files
###### Standalone store
If you configured your FDP to use the `standalone triple store`, then follow the instructions of the respective triple stores for uploading rdf files.

> **Note:** When generating the metadata files, please use the **FDP URL** as rdf file's **BASE URI**
`An example fdp url = http://145.100.59.120:8082/fdp`

###### InMemory store

If you chose to use the `inMemory triple store`, then please feel free to add/modify the files in the FDP's `example metadata directory`

> **LOCATION** of example metadata directory : `<TOMCAT_BASE>/webapps/fdp/WEB-INF/classes/nl/dtls/fairdatapoint/utils`
> **Adding new files:** If you are adding new metadata files to the `example metadata directory`, then the new rdf files should have `http://www.dtls.nl/fdp` as a **BASE URI**
#### How to Install

Make sure your deployment machine meets the requirements listed above. Deploy the `fdp.war` file (download link can be found [here](https://github.com/DTL-FAIRData/FAIRDataPoint/releases)) in your deployment machine's tomcat server. The instructions for deploying `.war` in the tomcat server can be found in this [link](https://tomcat.apache.org/tomcat-7.0-doc/deployer-howto.html).

#### API documentation
`FAIRDataPoint` (fdp) api comes with an embedded [swagger document] (http://swagger.io/), the details of api calls can be found here. To access the fdp swagger document please visit the following url via web browser

`<TOMCAT_BASE_URL>/fdp/swagger-ui.html`

`An example swagger doc uri :` http://localhost:8084/fdp/swagger-ui.html

In the current implementation the `REPOSITORY` layer metadata is automatically created, however this metadata can be updated through PATCH calls. The metadata of `other` layers can be stored in the `FAIRDataPoint` through POST calls. The table below gives an overview of api calls allowed on different `FAIR metadata` layers.

|Metadata layer|GET|POST|PATCH|
| :---: | :---: | :---: | :---: |
| Repository | Yes | No | Yes <br/>([Example request body](https://github.com/DTL-FAIRData/FAIRDataPoint/blob/fdp-spec-1_0/src/main/resources/nl/dtls/fairdatapoint/utils/dtl-fdp.ttl)) |
| Catalog | Yes | Yes <br/>([Example request body](https://github.com/DTL-FAIRData/FAIRDataPoint/blob/fdp-spec-1_0/src/main/resources/nl/dtls/fairdatapoint/utils/textmining-catalog.ttl)) | No |
| Dataset | Yes | Yes <br/>([Example request body](https://github.com/DTL-FAIRData/FAIRDataPoint/blob/fdp-spec-1_0/src/main/resources/nl/dtls/fairdatapoint/utils/gda-lumc.ttl)) | No |
| Distribution | Yes | Yes <br/>([Example request body](https://github.com/DTL-FAIRData/FAIRDataPoint/blob/fdp-spec-1_0/src/main/resources/nl/dtls/fairdatapoint/utils/gda-lumc-sparql.ttl)) | No |


#### List of active FAIRDataPoints

|Short name (dct:title)|Description|Location|
| :---: | :---: | :---: |
|ID card FAIR Data Point (beta) | FDP containing dummified data from Biobanks and Registries | [Link](http://semlab1.liacs.nl:8080/fdp/swagger-ui.html)
|DTL FAIR Data Point (beta) | FDP for the fairification doc (VCF); fantom5; GeneDisease/DisGeNet | [Link](http://dev-vm.fair-dtls.surf-hosted.nl:8082/fdp/swagger-ui.html)
Loading

0 comments on commit f39d0b9

Please sign in to comment.