amalic / rdfservices

RDF data as OpenAPI services.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

This project aims to be a template for generating OpenAPI webservices for RDF-Endoints through SpringDoc. It runs out of the box with Ontotext GraphDB and serves only generic webservices useful for exploring RDF Endpoints. It can be easily extended with custom webservices and secured thanks to Spring Security.

Checkout

git clone --recursive https://github.com/amalic/rdfservices.git

Please note that GraphDb Free binaries have to be downloaded from the Ontotext website seperately. This example was tested with GraphDB 9.1.1 free edition.Download the zip archive into the graphdb-free folder.

Run

For volume mounts and other settings you can create a file called docker-compose-local.yml.

Example

version: "3"
services:
  rdfservices:
    environment:
      - ENDPOINT=http://graphdb:7200/repositories/scigraph
    ports:
      - 80:8080
  graphdb:
    build:
      args:
        - edition=free
        - version=9.8.0
    ports:
      - 7200:7200
    volumes:
      - ./data/graphdb/:/opt/graphdb/home/
      - ./data/imports/:/root/graphdb-import/

This example expects a repository called scigraph to exist and be available without login. It will create a ./data subdirectory for graph-db database data and a direcory for for server-side data imports. Don't forget to adjust your docker-compose-local.yml file accordingly in case you are using a newer version of GraphDb.

Start via docker-compose

docker-compose \
  -f docker-compose.yml \
  -f docker-compose-local.yml \
  up -d --build --force-recreate

First build can take some while. Maven dependencies will only be redownloaded when pom.xml changes.

Try it out:

About

RDF data as OpenAPI services.

License:MIT License


Languages

Language:Java 96.6%Language:Dockerfile 3.4%