Entregable | Servicio API de validación de RDF |
---|---|
Fecha | 15/04/2021 |
Proyecto | ASIO (Arquitectura Semántica e Infraestructura Ontológica) en el marco de la iniciativa Hércules para la Semántica de Datos de Investigación de Universidades que forma parte de CRUE-TIC |
Módulo | Librería de validación de RDF |
Tipo | Software |
Objetivo | Servicio web en formato API para la validación de RDF |
Estado | 100% Todos los casos de usos de este sistema han sido implementados, así como la documentación asociada. |
RDF playground. This repository contains the server part of the Hércules RDF Validator Back web app. The server has been implemented in Scala using the http4s library.
- The client part of Hércules RDF Validator Back has been separated to a React app.
- Background info about validating RDF: Validating RDF data book
- How-to explains how to use Hércules RDF Validator Back to validate RDF
Hércules RDF Validator Back is already deployed here.
- Hércules RDF Validator Back server requires SBT to be built
-
Clone the github repository
-
Go to directory where Hércules RDF Validator Back source code is located and execute
sbt run
-
After some time downloading and compiling uri( the source code it will start the application, which can be accessed at: localhost:8080
-
To use a different port run
sbt "run --server --port <PortNumber>"
-
Install SBT
-
Run
sbt docker:publishLocal
which will create a docker file attarget/docker
Hércules RDF Validator Back 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.
- 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 Hércules RDF Validator Back 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.
Contributions are greatly appreciated. Please fork this repository and open a pull request to add more features or submit issues: