Skip to content

[ADR 02] Name of binary

Jose Emilio Labra Gayo edited this page Aug 31, 2024 · 4 revisions

Context

It is interesting to have a good name for the command line tool which can be published as a Debian package or as an executable in other systems.

The first name we chose was sx but it was already taken.

The reasons for sx were that the s could be seen as a schema or shape and the x as something generic that could be seen as a symbol for cross-conversion or something like that. the name was already taken and we have to choose a new one.

Although the project started with the goal to implement ShEx in Rust, we later extended the scope to implement SHACL and now it also supports DCTap, and the idea is to continue expanding the scope to other RDF-related tools like LinkML or rdf-config.

At this moment, some of future plans are the following:

  • Support for ShEx schemas and SHACL shapes graphs...both for checking and validating RDF data with them
  • Support for RDF data...in different flavors, for example, RDF data in Turtle files, but also RDF data behind SPARQL endpoints
  • Support for Wikidata and Wikibase knowledge graphs. Implementing WShEx in the future and the code that can generate Wikidata subsets from WShEx schemas. The wdsub tool.
  • Support for DCTap and other RDF data modeling languages like LinkML or rdf-config
  • Support for generating visualizations and/or HTML views of RDF Data models created in ShEx, SHACL, DCTap, etc.
  • Support for conversions between some of those languages...for example, convert between different RDF formats (Turtle, N-Triples, RDF/XML, etc.) and between RDF shapes formats (ShExC, ShExJ, ...) and languages (ShEx to SHACL, SHACL to ShEx, DCTap to ShEx, etc....)

Alternatives considered

  • sx: was the first name that we chose. Pros: it was short (2 letters!), Cons: it was already taken in Linux and the name was a bot too general.
  • shx: I liked that one because it is quite shorte one it was not taken. The sh could remind shape and the x could remind tool or conversion. Cons: it was also a bit too general.
  • rudof: Pros: it reminds rdf and the s also reminds shape or schema and the x reminds tool or converter. Cons: It is probably not very easy to remember?
  • rdfshape: I also like this one because it is probably easy to remember and it also reminds the web page: https://rdfshape.weso.es/ and in the future we are planning to move most of the code under that web project to depend on the Rust code. However, the github repo rdfshape is currently home of the code of the web page and it is possible that someone gets confused.
  • rdfshapes: Maybe it is too verbose with the extra (s) at the end.

Decision

We opted for rudof but we may want to review it once the code for the web tool rdfshape is based more on this library.

We are already supervising a final year project implementing a rdfshape version based on WebAssembly which is already deployed here.

Clone this wiki locally