srr

Rewrites SPARQL query considering RML RDF to RDF mappings

https://github.com/maximejakubowski/srr

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.6%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Rewrites SPARQL query considering RML RDF to RDF mappings

Basic Info
  • Host: GitHub
  • Owner: MaximeJakubowski
  • Language: Java
  • Default Branch: master
  • Size: 23.1 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 3
Created almost 4 years ago · Last pushed about 2 years ago
Metadata Files
Readme Citation

README.md

SPARQL-RML Rewriter

Given a set of RML mappings which maps RDF data (source) to RDF data (target), and given a SPARQL query formulated in terms of the target RDF data, rewrite the SPARQL query to a SPARQL query formulated in terms of the source RDF data.

Usage

Docker

Create a Docker image and run it based on the provided Dockerfile.

Compiling

Build with Maven:

mvn clean package.

The result is a CLI program. Run the program to get the help information:

java -Djava.library.path=<path-to-jpl7-library> -jar <srr-filename>

Where <path-to-jpl7-library> is the folder containing libjpl.dylib libswipl.dylib. This is to be found in the swipl installation directory.

Dependencies

This software uses four libraries: + Apache Jena ARQ for SPARQL manipulation + JPL7 to interface with SWI-Prolog + JGraphT for some graph analysis used in the rewriting + PicoCLI for the Command Line Interface (embedded source code)

Limitations

RML mappings may only use specific templates for termmaps. The templates must: + contain only one variable + the variable must occur at the end of the template

Future

  • Add support for general templates
  • Replace prolog unification with Clojure.core.logic unification

Credits

Thomas Delva for the original RML package

Owner

  • Name: Maxime Jakubowski
  • Login: MaximeJakubowski
  • Kind: user

Computer Scientist with interest in artificial intelligence.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Jakubowski"
  given-names: "Maxime"
  orcid: "https://orcid.org/0000-0002-7420-1337"
title: "SRR"
version: 1.1.1
doi: 10.5281/zenodo.10462628
date-released: 2024-01-05
url: "https://github.com/MaximeJakubowski/SRR"

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Dependencies

Dockerfile docker
  • ubuntu latest build
pom.xml maven
  • com.github.SWI-Prolog:packages-jpl V8.3.2
  • org.apache.jena:jena-arq 4.4.0
  • org.clojure:clojure 1.11.1
  • org.clojure:core.logic 1.0.1
  • org.jgrapht:jgrapht-core 1.5.1
  • org.slf4j:slf4j-api 2.0.0-alpha7
  • org.slf4j:slf4j-jdk14 2.0.0-alpha7
  • org.junit.jupiter:junit-jupiter 5.8.2 test