-
Notifications
You must be signed in to change notification settings - Fork 8
[ADR 02] Name of binary
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....)
-
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. Thesh
could remindshape
and thex
could remind tool or conversion. Cons: it was also a bit too general. -
rudof
: Pros: it remindsrdf
and thes
also reminds shape or schema and thex
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.
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.
- (RDF) Information about a node in RDF file
- (RDF) Merge several RDF data files
- (RDF/SPARQL) Information about a node in Wikidata
- (ShEx) Show info about a schema
- (ShEx) Validate a specific node with a shape
- (SHACL) Show info about a SHACL schema
- (SHACL) Read a SHACL Shapes graph and convert to some format
- (SHACL) Validating RDF data using SHACL
- (SPARQL) Running SPARQL queries
- (Python) Invoking this library from Python
- (SHACL → ShEx) Convert SHACL shapes graph to ShEx schema
- (ShEx → SVG/PNG/...) Convert a ShEx schema to an UML-like visualization in SVG, PNG, ...
- (ShEx → HTML) Convert ShEx schemas to HTML views
- (ShEx → SPARQL) Convert a simple ShEx schema to SPARQL
- (DCTap → ShEx) Convert a CSV file in DCTap to a ShEx schema
- (DCTap → SVG/PNG/...) Convert a CSV file in DCTap to an UML-like visualization in SVG, PNG, ...