Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bioinformatics-ua/scaleus

Semantic Web Services Integration for Biomedical Applications
https://github.com/bioinformatics-ua/scaleus

biomedical-applications dataset integration-tool restfull-api semantic-web sparql

Last synced: about 2 months ago
JSON representation

Semantic Web Services Integration for Biomedical Applications

Awesome Lists containing this project

README

        

# SCALEUS
Semantic Web Services Integration for Biomedical Applications

![Dashboard](https://cloud.githubusercontent.com/assets/1446805/16911369/ff81f588-4cd5-11e6-9f35-ab60be43111a.png)

Scaleus is a semantic web migration tool designed to be simple to deploy and use. The solution is tailored to help users in the creation of new semantic web applications from scratch. In a single package, we include a high-perfomance triplestore supporting multiple independent datasets, simplified API and services for data integration and management, and a SPARQL query engine, supporting real-time inference mechanisms and optimized text searches over the knowledge base.

![Sparql](https://cloud.githubusercontent.com/assets/1446805/16911377/0ddccf68-4cd6-11e6-949d-01d135b47443.png)

[AngularJS](https://angularjs.org/) + [Jetty Embedded](http://www.eclipse.org/jetty/) (RESTfull API) + [Apache Jena Framework](https://jena.apache.org/)

### [Download](https://github.com/bioinformatics-ua/scaleus/releases)

## Main Features:

- Easy to deploy.
- Simple RESTfull API for data management.
- RDFS Inference support over SPARQL queries. Inference rules are also supported.
- Multiple datasets support.
- Spreedsheet import (.xlsx, .xls, .ods, etc.).

## Documentation

### Run

Simple run the application at [http://localhost/scaleus/](http://localhost/scaleus/):
```
java -jar target/scaleus-1.0-jar-with-dependencies.jar
```

Run in another port:
```
java -jar target/scaleus-1.0-SNAPSHOT-jar-with-dependencies.jar -p {port}
```

Run and import data:
```
java -jar target/scaleus-1.0-SNAPSHOT-jar-with-dependencies.jar -d {dataset_name} -i {file_location}
```

### REST API

**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: .
@prefix dc: .

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
```

## Python API

[scaleus-python](https://github.com/bioinformatics-ua/scaleus-python)

## Reference

Please use this reference when citing SCALEUS in your work:

* DOI: [10.1007/s10916-017-0705-8](http://dx.doi.org/10.1007/s10916-017-0705-8)