A simplified architecture of the tooling used by SEMIC to create and edit its specification can be found below. Additionally, tooling recommendations for each architectural component are provided using the dropdown features at the bottom of the page.

The image above described a possible architecture using different solutions having their own interfaces.
This architecture is divided in blocks that express functionalities and inside each block a solution is identified.
Within the architecture a possible flow is described in 10 steps:
- The end user collects requirements to design a data model
- The end user verify the quality of the data model
- The end user, optionally, enriches the data model
- The end user stores the data model in a repository
- The repository triggers an action
- The transformation process is triggered
- A serialization transformation is used to publish artefact in different formats
- The artefacts are published on the web
- HTML documentation is provided
- The repository is used to create new releases of the data specification
GitHub
GitHub is a Git based developer platform. It allows users to create, store and manage their code. GitHub can be used through a web app, dedicated desktop app or can be integrated into other tools using its API. SEMIC uses GitHub as it is a popular platform with a significant user base and is often used for open source development. Further, the popularity of GitHub guarantees a minimum level of familiarity for community members.
However, it must be noted that GitHub itself is not open source but operates using the freemium model.
Issue tracking is a GitHub feature which allows for requirement management. The issues can be public and any community members with a GitHub account can participate. More information on the usage of GitHub issues can be found here.
Organisations maintaining specifications can also choose to use other developer platforms; the most popular alternative to GitHub is GitLab. GitLab has a very similar feature set to GitHub and also has a significant user base.

For authoring a Linked Data specification, SEMIC focusses on two approaches. The first approach focuses on developing a visualisation of a specification from which artefacts can be derived, this is the approach currently used by SEMIC. The second approach is to directly create the specification in a machine readable format, this approach is taken by several SEMIC community members. Both approaches have their advantages and limitations. Depending on the context of the specification's development, either approach (or a hybrid approach) can be preferred. A detailed overview of the advantages and disadvantages of both approaches will be posted as a blog post in 2024 on the SEMIC support centre.
Papyrus
Papyrus is an open source tool which can edit and create UML diagrams. UML diagrams created in Papyrus can be stored as XMI files. XMI is a commonly used standard and should therefore facilitate the integration with other tools when developing a workflow. Papyrus can be currently used as a desktop application.
SEMIC recommends the usage of UML and Papyrus for authoring specifications, if the starting point is a visual representation. Due to the fact that UML is also used outside of the Linked Data world, a wider variety of individuals can participate in the specification’s development. Papyrus is recommended as tool, since it is open source, and uses a commonly used standard to store diagrams.
Vocbench
VocBench is a web-based tool to edit and manage OWL ontologies, SKOS thesauri, Ontolex-lemon lexicons and generic RDF datasets. The tool is open-source and was initially developed with funding from the ISA² programme and is currently being maintained by the Publications Office of the European Commission. An important feature of the tool is the ability for multiple users to work on the same project.
SEMIC recommends VocBench for authoring specifications, if an editor wants to directly work in RDF. This tool is recommended due to the fact that the tool is open source and it is able to edit the most common Linked Data machine readable representations.

XSLT - Model2OWL
XSLT is a W3C standard and a language which enables the transformation of XML based files into other XML files or other text based formats, therefore it can be used to generate different types of artefacts.
XSLT transformations can be executed by processors or libraries such as Saxon, libxslt or Xalan.
XSLT is used as part of the Model2OWL tool via the Saxon library; as a UML class diagram can be serialised into XMI, an XML based file format, Model2OWL uses XSLT to perform transformations of the XMI into different artefacts such as a glossary in HTML format.
rdf-pipe - Model2OWL
When generating RDF artefacts, it might be useful, for end-users or for performing further transformations, to provide different serialisations such as Turtle, JSON-LD or RDF/XML.
There exist different open software tools that can serialise RDF such as rdf-pipe (a command line tool provided as part of rdflib), Jena-riot (as part of Jena), rdf.rb, ROBOT convert, etc.
Rdf-pipe is used as part of the Model2OWL tool to convert RDF artefacts from RDF/XML into Turtle and vice versa.

CEF eTranslation
CEF eTranslation is a building block provided by the European Commission and is free to use for all European SMEs and Public administrations. It can be used as an API allowing integration into custom tooling approaches or can be accessed as a web app. When creating data specifications, the CEF eTranslation building block can be used to enable the creation of multilingual specifications. It can do this by creating or verifying translations.

RDF + SHACL shapes
RDF and SHACl shapes are the most common machine readable artefacts used to share ontologies. Therefore, SEMIC advises that any published specification should be accompanied by these artefacts.
Widoco
Widoco is an open source tool which can be used to create documentation for RDF vocabularies. Widoco provides a robust set of features which allows users to create a standardised representation of their specification. It does this by integrating other commonly used tools and services such as WebVowl, OOPS! and Bubastis. By automatically creating documentation, the human readable artefact will be visually mature and consistent across all specifications. This allows specification developers to focus on developing the specification and trust on Widoco’s best practices to provide proper documentation. Widoco can be accessed as a desktop application or it can be used through a command line interface.
SEMIC recommends the usage of Widoco for creating human-readable artefacts for publication due to its consistent quality, widespread usage, and open-source nature.

Widoco
Widoco is an open source tool which can be used to create documentation for RDF vocabularies, and therefore facilitate exploration of data specifications. Widoco provides a robust set of features which allows users to create a standardised representation of their specification. It does this by integrating other commonly used tools and services such as WebVowl, OOPS! and Bubastis. By automatically creating documentation, the human readable artefact will can be visually mature and consistent across all specifications. This allows specification developers to focus on developing the specification and trust on Widoco’s best practices to provide proper documentation. Widoco can be accessed as a desktop application or it can be used through a command line interface.
Widoco’s utilisation of best practices and overall quality allows the documentation of specifications to be more easily digested. Having good documentation allows users to more easily explore and compare specifications compared to only having machine readable artefacts available.
SEMIC recommends the usage of Widoco for creating human-readable artefacts for publication due to its consistent quality, widespread usage, and open-source nature

GitHub for versioning and releases
GitHub is a Git based developer platform. It allows users to create, store and manage their code. GitHub can be used through a web app, dedicated desktop app or can be integrated into other tools using its API. SEMIC uses GitHub as it is a popular platform with a significant user base and is often used for open source development. Further, the popularity of GitHub guarantees a minimum level of familiarity for community members.
However,it must be noted that GitHub itself is not open source but operates using the freemium model.
GitHub allows for tracking evolution thanks to the storage of multiple releases in one repository. Users can use the file structure to store multiple releases or use multiple branches. GitHub is based on the Git versioning system which allows users to see the changes made and who made them. It also allows users to roll back to previous versions. Finally GitHub allows the user to bundle separate releases as zip files which can be easily downloaded.
Organisations maintaining specifications can also choose to use other developer platforms; the most popular alternative to GitHub is GitLab. GitLab has a very similar feature set to GitHub and also has a significant user base.

Model2OWL
Model2OWL is an open source tool developed for the European Commision. It is designed to transform UML diagrams into OWL ontologies and SHACL shapes. In addition to its primary function, it can also be used to validate whether a UML model follows a set of established rules. Within SEMIC it is used to validate whether a UML diagram is compliant with the SEMIC Style Guide. Currently Model2OWL can be used through a command line interface.
SEMIC recommends Model2OWL for verifying the quality of a model as it is a versatile tool capable of validating custom rules or the Style Guide rules on a UML model where other tools often only provide validation options for Machine readable artefacts.
Interoperable Test Bed
The Interoperable Test Bed provides a service to do conformance and interoperability testing. It can be used to validate machine readable artefacts manually via a web browser or automatically via API. Recently Model2OWL was integrated into the testbed. The integration allows the Test Bed to validate a UML diagram against the SEMIC Style Guide.
SEMIC recommends the usage of the Interoperable Test Bed for quality control as it can validate different types of artefacts.

GitHub actions
GitHub is a Git based developer platform. It allows users to create, store and manage their code. GitHub can be used through a web app, dedicated desktop app or can be integrated into other tools using its API. SEMIC uses GitHub as it is a popular platform with a significant user base and is often used for open source development. The popularity of GitHub guarantees a minimum level of familiarity for community members.
Although it must be noted that GitHub itself is not open source but operates using the freemium model.
If a specification requires multiple services to be called in sequence to automatically make transformations and generate publishable artefacts, they may need a form of configuration management. If the specification’s developers already use GitHub they can use GitHub actions to achieve this.
Organisations maintaining specifications can also choose to use other developer platforms; the most popular alternative to GitHub is GitLab. GitLab has a very similar feature set to GitHub and also has a significant user base.

GitHub
GitHub is a Git based developer platform. It allows users to create, store and manage their code. GitHub can be used through a web app, dedicated desktop app or can be integrated into other tools using its API. SEMIC uses GitHub as it is a popular platform with a significant user base and is often used for open source development. The popularity of GitHub guarantees a minimum level of familiarity for community members.
Although it must be noted that GitHub itself is not open source but operates using the freemium model.
GitHub allows users to store their projects on the platform and have them accessible world wide. Depending on the type of repository, anything stored on it can be viewed or edited by either single individuals, a certain community or the wider public. Therefore GitHub can be used during the development process of specifications, whether the process is transparent or closed.
Organisations maintaining specifications can also choose to use other developer platforms; the most popular alternative to GitHub is GitLab. GitLab has a very similar feature set to GitHub and also has a significant user base.

Any feedback, remarks, advice or insights into your tool usage is more than welcome and can be given on this GitHub page