Current State and Future Plans for RDF-Ext

This year, RDF-Ext will turn ten years old. In this blog post, I will give a brief overview of recent updates, show the current plans, and explain how you can help improve RDF-Ext.

I checked some old code bases and found the first traces of RDF-Ext in a package dated 2013-10-20. The first lines were written probably 2-3 months earlier, and therefore, it’s time to celebrate its birthday soon. Initially, I used it only for private projects and didn’t open-source it. On 2014-06-23, I created the repository and made the first commit.

Since then, I have maintained RDF-Ext and related packages in my spare time. The direction of the RDF-Ext development is mainly driven by the requirements for my own projects, but other people also contributed to it. I would like to make it easier for others to use and contribute to RDF-Ext. Several steps have already been taken, and more are planned. Let me give you an overview:

Recent Updates

RDF-Ext now has a homepage. It contains a small tutorial with interactive examples based on Gitpod. The GitHub organization got a readme file that points to the contribution guidelines.

The dependencies of many packages have been updated, and some dependencies have been replaced to make them more browser-friendly. Polyfills are no longer required after my PR to readable-stream was merged, which replaces node modules with npm dependencies.

The RDF-Ext factory is now based on the @rdfjs/environment, making it easier to customize or extend.

Tools for data processing have been added. @rdfjs/score scores terms based on different criteria and allows composing a custom score function. I wrote a blog post about it. @rdfjs/traverse traverses a graph until a given stop condition is reached. grapoi is a traverse library inspired by Gremlin. And the last contribution was a fast SHACL engine.

Future Plans

The homepage contains some initial work on the documentation. But much more needs to be done to make the API, examples, and tutorials more useful.

I don’t use TypeScript in my spare time projects, but I know people would like to have TypeScript definitions, so they are also on the to-do list.

Some new tools for data processing have been mentioned, but there are further plans. The sparql-http-client package needs an update, and simplerdf needs more extensive refactoring.

There is already a GitHub project for the rdfjs-base organization. The rdf-ext organization should also get one. That should help others follow the development process and lower the barrier to contributing with PRs.

Also, I would like to organize show-and-tell video calls for the RDF/JS community, not specific to RDF-Ext.

Help

I would like to have a better understanding of how people use RDF-Ext or the rdfjs-base packages. If you are using one of the packages, please tell me how you are using it. I’m also eager to know if you didn’t use it for a specific reason.

Once the GitHub projects are set up and populated, links will be added to the organization page, and if there is an issue one would like to work on, it’s possible to claim it.

I’m in the process of setting up GitHub Sponsors. If I would get some funding, I could prioritize features that I don’t benefit from that much personally, like TypeScript definitions or documentation. You will hear on Mastodon, Twitter, and other social media channels once it’s working.

Comments

For comments, please follow the GitHub link.