AtesComp / rdf-transform

RDF Transform is an extension for OpenRefine to transform data into RDF formats.
Other
27 stars 7 forks source link
knowledge-graph openrefine rdf semantic-web transformer

RDF Transform

Build NoteOn failed builds, Maven repositories may need to be reset. Review Actions tab for issues. If needed, run the "Maven Reset Dependencies" workflow.

Introduction

This project uses a graphical user interface (GUI) for transforming OpenRefine project data to RDF-based formats. The transform maps the data with a template graph designed using the GUI.

RDF Transform is based on the venerable "RDF Extension" (grefine-rdf-extension). However, it has been thoroughly rewritten to incorporate the newer Java and JavaScript technologies, techniques, and processing enhancements.

The latest releases (2.2.2 and above) only work with OpenRefine 3.6 or better.

Documentation

See the wiki for more information.

Download

See the Install page Prerequisites on the wiki for important Java version information.

Latest Release

RDF Transform v2.2.2

Previous Releases

RDF Transform v2.2.1
RDF Transform v2.2.0
RDF Transform v2.1.1-beta
RDF Transform v2.1.0-beta
RDF Transform v2.0.5-alpha
RDF Transform v2.0.4-beta
RDF Transform v2.0.3-alpha
RDF Transform v2.0.2-alpha
RDF Transform v2.0.1-alpha
RDF Transform v2.0.0-alpha

Install

See the Install page on the wiki for more information.

Issues

General interaction issue with OpenRefine versions, Web Browsers, OSes, etc., not specifically code related.

NOTE: It is recommended that you have an active Internet connection when using the extension as it can download ontologies from specified namespaces (such as rdf, rdfs, owl and foaf). You can (re)add namespaces and specify whether to download the ontology (or not) from the namespace declaration URL. If you must run OpenRefine from an offline location, you can copy the ontologies to files in your offline space and use the "from file" feature to load the ontologies.

OpenRefine

As an extension, RDF Transform runs under the control of OpenRefine and its JVM. As such, the libraries included with OpenRefine override any of the same libraries included with the extension. This limits the extension to OpenRefine's version of those library functions and features.

The latest releases (2.2.2 and above) only work with OpenRefine 3.6 or better due to upgraded Apache Jena library features that are not backward compatible.

See the wiki for more information.

OSes

See the Install page on the wiki for related information.

Linux

RDF Transform has been tested against OpenRefine 3.5.2 and above on a modern Debian-based OS (Ubuntu derivative) using Chrome. No system related issue were found under these conditions.

Windows

Test runs on MS Windows 10 have indicated the JVM opertate slightly different than on Linux. The MS Windows version tends to be more sensitive to certain statements.

  1. The version of Simile Butterfly that processes the limited server-side JavaScript engine can fail on unused declarative statements such as "importPackage()". If the package is not found, Windows systems may silently fail to run any following statements whereas Linux systems will continue. To mitigate against server-side JavaScript issues, all possible server-side JavaScript code has been migrated to Java.
  2. The JVM relies on OS specific services to process network connections. It may process web-based content negotiation differently on a particular OS. On Windows, if the URL does not produce the expected response, negotiation and the related response processing may lock the process for an unreasonably long time whereas Linux may fail safe and quickly. To mitigate against web content negotiation issues, a Faulty Content Negotiation processor is used identify known fault intolerant processing. As faults become known, they are added to the processor.

Mac

In all instances, the MacOS versions of OpenRefine are currently bundled with Java 8 JRE. Since RDF Transform requires Java 11 to 17, the bundled Java should be overridden with:

  1. A later Java install, preferably Java 11 JDK or Java 17 JDK
    • Java installs later than 8 do not have a separate JRE install
  2. Setting the JAVA_HOME env variable to the later Java install directory

Reporting

Please report any problem using RDF Transform to the code repository's Issues.