Skip to content

bioinformatics-ua/scaleus-fair

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCALEUS-FD

A FAIR Data Tool for Biomedical Applications

The core functionalities of the solution follow the Semantic Web and Linked Data principles for data integration and semantic annotation and enrichment, offering a FAIR REST API for machine-to-machine operations.

Run

Simple run the application at http://localhost/scaleus/:

java -jar scaleus-fd-1.0.jar

Run in another port:

java -jar scaleus-fd-1.0.jar -p {port}

REST API

Get repository metadata:

GET /api/v1/fair/fdp/ HTTP/1.1
Content-Type: application/json

Update repository metadata:

PUT /api/v1/fair/fdp/ HTTP/1.1

Store catalog metadata:

POST /api/v1/fair/fdp/catalog/{id} HTTP/1.1

Get catalog metadata:

GET /api/v1/fair/fdp/catalog/{id} HTTP/1.1
Content-Type: application/json

Store dataset metadata:

POST /api/v1/fair/fdp/dataset/{id} HTTP/1.1

Get dataset metadata:

GET /api/v1/fair/fdp/dataset/{id} HTTP/1.1
Content-Type: application/json

Get distribution metadata:

GET /api/v1/fair/fdp/distribution/{id} HTTP/1.1
Content-Type: application/json

List all datasets available:

GET /api/v1/dataset/ HTTP/1.1
Content-Type: application/json

Add dataset:

POST /api/v1/dataset/{dataset} HTTP/1.1

Remove dataset:

DELETE /api/v1/dataset/{dataset} HTTP/1.1

SPARQL endpoint:

GET /api/v1/sparqler/{dataset}/sparql?query={query}&inference={inference}&rules={rules}&format={format} HTTP/1.1
Content-Type: application/json

Sample parameters:

query = SELECT * { ?s ?p ?o } LIMIT 100
inference = true | false
rules = [rule1:  (?x rdfs:subClassOf ?y), (?a rdf:type ?x) -> (?a rdf:type ?y)] [rule2: ... ]
format = json | rdf | ttl | rdf | text | csv

Store triple:

POST /api/v1/store/{dataset} HTTP/1.1
Content-Type: application/json

{
    "s":"http://bioinformatics.ua.pt",
    "p":"http://purl.org/dc/elements/1.1/title",
    "o":"University of Aveiro"
}

Remove triple:

DELETE /api/v1/store/{dataset} HTTP/1.1
Content-Type: application/json

{
    "s":"http://bioinformatics.ua.pt",
    "p":"http://purl.org/dc/elements/1.1/title",
    "o":"University of Aveiro"
}

Add namespace:


POST /api/v1/namespaces/{dataset} HTTP/1.1
Content-Type: application/json

{
  "prefix": "coeus",
  "namespace": "http://bioinformatics.ua.pt/coeus/"
}

Remove namespace:


DELETE /api/v1/namespaces/{dataset}/{prefix} HTTP/1.1
Content-Type: application/json

Get namespaces:

GET /api/v1/namespaces/{dataset} HTTP/1.1
Content-Type: application/json

Get resources matching:

GET /api/v1/resources/{dataset}/{match} HTTP/1.1
Content-Type: application/json

Get properties matching:

GET /api/v1/properties/{dataset}/{match} HTTP/1.1
Content-Type: application/json

Get TTL data:

GET /api/v1/data/{dataset} HTTP/1.1
Content-Type: text/plain

Replace TTL data:

POST /api/v1/data/{dataset} HTTP/1.1
Content-Type: application/x-www-form-urlencoded

@prefix coeus: <http://bioinformatics.ua.pt/coeus/> .
@prefix dc:    <http://purl.org/dc/elements/1.1/> .

coeus:ieeta dc:title "University of Aveiro" .

Describe Resource:

GET /api/v1/resource/{dataset}/{prefix}/{resource}/{format} HTTP/1.1

Sample parameters:

format = json | rdf | ttl | ld