Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/basilapi/basil
Building Apis SImpLy from sparql endpoints
https://github.com/basilapi/basil
Last synced: 5 days ago
JSON representation
Building Apis SImpLy from sparql endpoints
- Host: GitHub
- URL: https://github.com/basilapi/basil
- Owner: basilapi
- Created: 2015-03-10T10:42:33.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-01-16T20:35:51.000Z (10 months ago)
- Last Synced: 2024-04-15T01:50:04.092Z (7 months ago)
- Language: JavaScript
- Homepage: http://basil.kmi.open.ac.uk
- Size: 50 MB
- Stars: 23
- Watchers: 9
- Forks: 5
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- License: LICENSE-2.0.txt
Awesome Lists containing this project
- awesome-starred - basilapi/basil - Building Apis SImpLy from sparql endpoints (others)
README
# BASIL #
![Build JDK 1.8](https://github.com/basilapi/basil/actions/workflows/main.yml/badge.svg)
![Build Java 11](https://github.com/basilapi/basil/actions/workflows/mvn-Java11.yml/badge.svg)
![Build Java 17](https://github.com/basilapi/basil/actions/workflows/mvn-Java17.yml/badge.svg)BASIL is designed as middleware system that mediates between SPARQL endpoints and applications.
With BASIL you can build Web APIs on top of SPARQL endpoints.
BASIL stores SPARQL queries and builds APIs with standard and customizable formats.
## Run ##
Latest runnable jar can be downloaded from the releases section.### TDB2 backend (default)
An example configuration file can be found in the project root folder (`basil-tdb2.ini`).
An example log4j configuration file is at `server/src/test/resources/log4j.xml`.Execute:
```
$ java -jar -Dbasil.configurationFile=./basil-tdb2.ini -Dlog4j.configurationFile=./log4j2.xml basil-server-VERSION.jar -p 8080
#1: welcome to the world's helthiest food
#2: basil is starting on port 8080
#3: done
#4: enjoy
```### MySQL backend (legacy)
You need to:- Have a MySQL server.
- Prepare a database running the [db.sql](db.sql) queries (at the root of the codebase).
- Prepare the configuration file (the connection parameters), see [this file](basil.ini) as an example.
- Prepare a log4j2 configuration file (if you want logging). See [this file](server/src/test/resources/log4j2.xml) as an example.When ready, execute:
```
$ java -jar -Dbasil.configurationFile=../basil.ini -Dlog4j.configurationFile=src/test/resources/log4j2.xml basil-server-0.3.0.jar -p 8080
#1: welcome to the world's helthiest food
#2: basil is starting on port 8080
#3: done
#4: enjoy
```
## Usage ##
BASIL is a system based on a Web API for creating and managing a stack of Web APIs on top SPARQL endpoints.
On its own, BASIL does not come with a graphic user interface. Instead, it can be fully controlled via its API.
[See the cURL tutorial for details](https://github.com/basilapi/basil/wiki/cURL-tutorial).## Build ##
The basil project is managed and built with Maven.```
mvn clean install
```
Note: to also run tests, you need an active internet connection (as they use public SPARQL endpoints).
If you want to skip tests, you can:```
mvn install -DskipTests
```## Releasing ##
The following command will pack a release, sign the artefacts, and push them to maven central.
```
mvn deploy -DperformRelease=true
```