RDFShape
RDFShape is web API for semantic data analysis and validation implemented in Scala using
the http4s library.
This repository contains the backend part of RDFShape and acts as a queryable API to be consumed by clients. To learn
more about our public client, see its GitHub repository
or try it.
Deployed versions of RDFShape API
RDFShape is already deployed here.
Quick reference
Deployment and Usage
Please, refer to this project's wiki
or webpage for detailed information related to:
- Quickstarting the API (via SBT / Docker)
- Using the API with simple examples
- Further documentation and resources
Publishing to OSS-Sonatype
This project uses the sbt-ci-release plugin for publishing
to OSS Sonatype.
SNAPSHOT Releases
Open a PR and merge it to watch the CI release a -SNAPSHOT
version
Full Library Releases
- Push a tag and watch the CI do a regular release
git tag -a v0.1.0 -m "v0.1.0"
git push origin v0.1.0
Note that the tag version MUST start with v.
Dependencies
RDFShape server has been implemented in Scala using the following libraries:
- SHaclEX: a Scala implementation of ShEx and SHACL.
- http4s: a purely functional library for http.
- cats: a library for functional programming in Scala.
- Logback with Scala Logging: logging framework.
- scallop: a simple command-line arguments parsing library for Scala.
- UMLShaclex: contains the visualization code that converts schemas to UML diagrams.
- SRDF: is the library used to handle RDF. It is a simple interface with 2 implementations,
one in Apache Jena, and the other in RDF4j.
- Any23: is used by RDFShape to convert HTML files in RDFa and Microdata to RDF.
- Topbraid SHACL API: is used to add another SHACL engine apart of the SHaclEX
and Apache Jena SHACL engines.
Contribution and issues
We really appreciate contributions. Please fork this repository and open a pull request to add more features or submit
issues: