RDF Transform

163 views
Skip to first unread message

Keven L. Ates

unread,
Apr 1, 2022, 6:59:11 PM4/1/22
to OpenRefine
Hi all,

I've just publish a new RDF Transform extension that wholly reinvents the RDF extension with many new features and processing.  I've marked it as a alpha release.  Please check it out and provide feedback.

Also, it only has English and Italian language files, so contribute if you can.

...and, yes, I need to convert it to OpenRefine v4.  Is there a pimer on it for the extension interface yet?

Thanks,
Keven

Antonin Delpeuch (lists)

unread,
Apr 2, 2022, 3:38:48 AM4/2/22
to openr...@googlegroups.com

Hi Keven,

mind blown, this looks absolutely amazing!!! Thank you so much for that!

For v4, I have started writing some docs on the 4.0 branch but they are far from complete. I would say for now it is probably reasonable to stick to 3.x. I will definitely keep you posted when I make progress on this front.

Looking forward to trying it out!

Cheers,

Antonin

--
You received this message because you are subscribed to the Google Groups "OpenRefine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openrefine+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openrefine/2ecd59f7-42ca-4b38-ac59-d7ea00e7d514n%40googlegroups.com.

Keven L. Ates

unread,
Apr 2, 2022, 6:24:08 PM4/2/22
to OpenRefine
I've added the pre-compiled alpha file and updated the link to it in the ReadMe.

Happy RDFing!

Keven L. Ates

unread,
Apr 4, 2022, 10:49:05 PM4/4/22
to OpenRefine
I noticed a problem with the Italian translation file not matching the English file entries, so I did a minor update...including language entries for the RDF Expression Preview Editor dialog.
I've updated the pre-compile release to v2.0.1 to reflect these changes.

Happy RDFing!

Keven L. Ates

unread,
Apr 14, 2022, 5:21:27 AM4/14/22
to OpenRefine
Hi all,

I just published a new OpenRefine extension called RDF Transform.  It enhances the old "RDF" extension with a ton of features and correct many irritating problems I have with it.  Please check it out.  It's posted as an "alpha" release, so feedback please.

Also, it only has English and Italian language file, so contribute if you have the time.


...and, yes, I need a primer on the OpenRefine v4 to convert to the new extension format.

Thanks,
Keven

Keven L. Ates

unread,
Apr 19, 2022, 3:45:30 PM4/19/22
to OpenRefine
RDF Transform has another update: v2.0.3.  See https://github.com/AtesComp/rdf-transform

Keven L. Ates

unread,
May 10, 2022, 8:41:07 PM5/10/22
to OpenRefine
All,

I've added several releases.  The latest is a move away from RDF4J to Jena.  This made a huge difference in the size of the release as I could remove many dependencies.  I was headed to Beta but returned back to Alpha due to the library change.  Unfortunately, the current OpenRefine 3.5.2 also uses the Jena ARQ lib but at an earlier release point that lacks several nice feature.  Therefore, I'm hung up on some features I thought I could add.  OpenRefine overrides my included Jena libs, so I'll set it to "provided".  That will make the RDF Transform extension even smaller.

I was happy to see the 3.6-SNAPSHOT was up to date, so I'm eagerly waiting on its release.

My current 2.0.5 Alpha release added some interesting changes.  Look at the controller.js file and note that it only has a single line of code!  Realizing that the controller was just making a bunch of Java calls anyway (Doh!), I've moved all the code into my InitializationCommand class where I can do some real programming.  It's mostly sequenced the same as the prior code at the moment but in Java.  I think this should be the model for the initialization documentation.  Please check it out and let me know.

I've also updated the code since the 2.0.5 Alpha to fix a few bugs around uploading an ontology file for class and property hints and a few other debug and error controls.

On a Windows related note, I've been working on a bug related a Windows OS user.  The Windows Java machines seem to be a bit more sensitive with Butterfly for some reason.  The importPackages() function will cause a fail on Windows if the import string doesn't really exist whereas Linux will ignore it.  I think most of the problem is around the Butterfly JavaScript processing.  Hence, the move putting all the initialization code in Java.

LANGUAGES: Anyone interested in converting the translation-*.json files to other languages?  All I have is U.S. English and Italian (I'm attempting to keep "it" current).

Enough for now,
Keven

Antonin Delpeuch (lists)

unread,
May 11, 2022, 1:32:25 AM5/11/22
to openr...@googlegroups.com

Hi Keven,

Amazing news!

I am also keen to release 3.6 soon.

To translate the extension, I find Weblate very nice - you should be able to get a free account on hosted.weblate.org like we did. But of course there are many alternatives.

Best,

Antonin

--
You received this message because you are subscribed to the Google Groups "OpenRefine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openrefine+...@googlegroups.com.

Keven L. Ates

unread,
May 25, 2022, 2:37:28 PM5/25/22
to OpenRefine

Hi All,

There is a general underlying issue with bundled Java installs of OpenRefine.  RDF Transform requires Java 11 or better. However, the bundled versions apparently install with the Java 8 JRE.  Later versions of Java do not have a separate JRE install--only the JDK.  The JRE is present in the JDK and could possible be extracted for bundling purposes using the jlink command.  Some users need to jump through hoops to get a later Java version installed and operating for OpenRefine to use RDF Transform.

JustJ has specific JRE version extractions and could possible be used for bundling.  Custom instructions reference the jlink command.

In any case, OpenRefine should probably move up to at least Java 11, if not Java 17, for bundling purposes since Java 8 is not upward compatible.  The later JVM should also provide some processing improvements over Java 8 as well.

Any thoughts?

Keven

Message has been deleted

Keven L. Ates

unread,
May 25, 2022, 3:42:05 PM5/25/22
to OpenRefine

Antonin Delpeuch (lists)

unread,
Jun 3, 2022, 2:48:13 AM6/3/22
to openr...@googlegroups.com
Hi Keven,

Sorry for the delay in responding to this.

OpenRefine 3.6 does not support Java 8 - it supports Java 11 to 17.

Concerning the version of the embedded Java that we ship with
OpenRefine, it sounds sensible to ship the latest version that we
support. But that could also prevent other extensions from working: for
instance software that would be doing reflexive accesses which have been
disabled in recent versions of Java.

For 3.6 snapshots, and so for the upcoming 3.6 release, we are bundling
Java 11 (for now):
https://github.com/OpenRefine/OpenRefine/blob/master/packaging/pom.xml#L19

Best,
Antonin


On 25/05/2022 21:40, Keven L. Ates wrote:
> .. and confirmed
> with https://www.google.com/search?q=java+17+vs+java+8&oq=java+17+&aqs=chrome.7.69i57j69i60j0i512j46i512j0i512j0i433i512j0i512l2.9854j0j4&client=ms-android-tmus-us-revc&sourceid=chrome-mobile&ie=UTF-8
>
> On Wednesday, May 25, 2022 at 2:37:28 PM UTC-4 Keven L. Ates wrote:
>
>
> Hi All,
>
> There is a general underlying issue with bundled Java installs of
> OpenRefine.  RDF Transform requires Java 11 or better. However, the
> bundled versions apparently install with the Java 8 JRE.  Later
> versions of Java do not have a separate JRE install--only the JDK.
> The JRE is present in the JDK and could possible be extracted for
> bundling purposes using the jlink command.  Some users need to jump
> through hoops to get a later Java version installed and operating
> for OpenRefine to use RDF Transform.
>
> JustJ <https://www.eclipse.org/justj/> has specific JRE version
> extractions and could possible be used for bundling.  Custom
> instructions reference the jlink command.
>
> In any case, OpenRefine should probably move up to at least Java 11,
> if not Java 17, for bundling purposes since Java 8 is not upward
> compatible.  The later JVM should also provide some processing
> improvements over Java 8 as well.
>
> Any thoughts?
>
> Keven
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenRefine" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openrefine+...@googlegroups.com
> <mailto:openrefine+...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openrefine/623762a3-a40e-4cce-a1a5-6886d52268dan%40googlegroups.com
> <https://groups.google.com/d/msgid/openrefine/623762a3-a40e-4cce-a1a5-6886d52268dan%40googlegroups.com?utm_medium=email&utm_source=footer>.

Keven L. Ates

unread,
Jun 4, 2022, 3:21:51 PM6/4/22
to OpenRefine
Antonin,

That's great.  Reviewing the POM I have a few questions.
  1. How is the JRE bundled?  It looks like the whole JDK is used--the JRE download files are actually the JDK.
  2. Could this be reduced by using the jlink command to produce the actual JRE?  See https://blog.adoptium.net/2021/10/jlink-to-produce-own-runtime/
  3. I don't see any Linux related commands for the JRE.  Is that because Linux user are more "savvy"?
I see in the POM:

...
  <embedded.jre.version>11</embedded.jre.version>
...
  <mac.jre.url>https://api.adoptium.net/v3/binary/latest/${embedded.jre.version}/ga/mac/x64/jre/hotspot/normal/eclipse?project=jdk</mac.jre.url>
...
  <windows.jre.url>https://api.adoptium.net/v3/binary/latest/${embedded.jre.version}/ga/windows/x64/jre/hotspot/normal/eclipse?project=jdk</windows.jre.url>
...
<configuration>
  <mainClass>com.google.refine.Refine</mainClass>
  <bundleName>OpenRefine</bundleName>
  <buildDirectory>${project.build.directory}/${mac.build.directory}</buildDirectory>
  <iconFile>${mac.icon.path}</iconFile>
  <generateDiskImageFile>false</generateDiskImageFile>
  <jvmVersion>1.8</jvmVersion>
  <jrePath>${mac.jre.path}</jrePath>

So, I think some work needs to be done.  This could be a good first issue for someone and would get them familiar with the Java JDK vs JRE issue.

Cheers,
Keven

Antonin Delpeuch (lists)

unread,
Jun 4, 2022, 3:56:48 PM6/4/22
to openr...@googlegroups.com
Hi Keven,

On 04/06/2022 21:21, Keven L. Ates wrote:
> 1. How is the JRE bundled?  It looks like _the whole JDK_ is used--the
> JRE download files are actually the JDK.

This "jdk" parameter is a bit confusing - what matters is the "jre"
earlier in the URL. If you check the download contents, you will see
that it is in fact just a JRE, if I am not wrong. At least, what we
currently bundle in for Windows weighs 120 MB, and a JDK 11 for Windows
(also from Adoptium) weighs 302 MB.

> 2. Could this be reduced by using the *jlink *command to produce the
> actual JRE?

I guess you could do that! But what if the user wants to install an
extension which relies on modules we have excluded?

> 3. I don't see any Linux related commands for the JRE.  Is that because
> Linux user are more "savvy"?

We do not bundle the JRE on Linux so far, indeed.


>
> *<jvmVersion>1.8</jvmVersion>*

Ah yes this one could be updated indeed (not sure what the implications
really are, though).

Antonin
> <https://groups.google.com/d/msgid/openrefine/623762a3-a40e-4cce-a1a5-6886d52268dan%40googlegroups.com?utm_medium=email&utm_source=footer
> <https://groups.google.com/d/msgid/openrefine/623762a3-a40e-4cce-a1a5-6886d52268dan%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenRefine" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openrefine+...@googlegroups.com
> <mailto:openrefine+...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openrefine/6492e128-6989-4469-8dc9-aff5530f71f1n%40googlegroups.com
> <https://groups.google.com/d/msgid/openrefine/6492e128-6989-4469-8dc9-aff5530f71f1n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Reply all
Reply to author
Forward
0 new messages