ISWC 2026 Change Propagation Demo

This page is a landing page for an ISWC 2026 Demo Submission Change Propagation in Application Profile Hierarchies using Dataspecer.

Dataspecer source code is on GitHub, the demo instance is running from the iswc2026 branch.

In our demo instance, you can try building your own vocabulary and application profile, or you can follow our Demo scenario described below.

Go to the ISWC 2026 demo instance

If you want to run the demo instance locally, you can use the following Docker image and open http://localhost:3000/:

docker run -p3000:80 ghcr.io/dataspecer/ws:branch-iswc2026

Alternatively, you can watch a video of us going through the scenario.

Demo scenario

The demo scenario consists of two parts - change propagation from a vocabulary to an application profile, and then, from this updated application profile further down the hierarchy into the next application profile.

Note that the W3C Data Catalog Vocabulary (DCAT) consists of both a vocabulary containing term definitions, such as dcat:Dataset, and a default application profile (DAP), as it specifies e.g. dcterms:title label to be title even though the original is Title, and that the title is used with dcat:Dataset, which is not part of the original DCMI Metadata Terms vocabulary. Therefore, in the Dataspecer workflow, these are two specifications - the DCAT vocabulary, represented by the RDF Turtle file of the official vocabulary, and the DCAT Default Application Profile (DCAT-DAP), recreated in Dataspecer to be machine-readable.

Part of the DCAT Application Profile Hierarchy

For the first part, we are in the role of Alice, who is the editor of the W3C DCAT specification. Currently, she has DCAT2-DAP - default application profile of DCAT version 2, which profiles all vocabularies reused by DCAT, including the DCAT vocabulary in version 2. The DCAT vocabulary was now changed from version 2 to version 3. Alice wants to see what has changed, and propagate the changes to the DCAT2-DAP, making it DCAT3-DAP. She uses Dataspecer for the task, saving her the time to analyze the changes and propagate them to her specification.

For the second part, we are in the role of Bob, who is the editor of DCAT-AP, the DCAT application profile maintained by the SEMIC initiative of the European Commission. Bob currently has DCAT-AP 2.1.1 (Original, Dataspecer), a profile of DCAT2-DAP, and discovers that Alice at the W3C has just published the updated DCAT3-DAP. Bob wants to see what has changed, and propagate the changes to the DCAT-AP 2.1.1, making it DCAT-AP 3.0.1. He uses Dataspecer for the task, saving him the time to analyze the changes and propagate them to his specification.

Part I - Propagating Changes from Vocabulary to Application Profile

For this scenario, we assume that Alice has the DCAT Default Application Profile version 2 currently published on the web. We import it into Dataspecer, point Dataspecer to the new version of the profiled DCAT vocabulary, we see the changes, apply them, do some more changes in the specification between version 2 and 3 and finish with seeing the updated specification, with the possibility to re-publish it on the Web.

  1. Go to demo instance - you will see existing specifications (dataspecs).
  2. Click on the Import button
    1. We are importing DCAT2-DAP from a URL
    2. URL: https://mff-uk.github.io/specifications/dcat2-dap/
    3. Click on the Import button
    4. After a while, you will see DCAT 2 Default Application Profile as the top dataspec.
  3. (Optional) Explore the imported specification by clicking on the Edit vocabularies and application profiles () button
    1. Conceptual model editor is opened, showing a catalog on the left hand side, and a blank canvas on the right hand side.
    2. One of the vocabularies in the catalog is DCAT 2 Default Application Profile
    3. Note: One current limitation of the tool is that the visual diagrams are not imported when a dataspec is imported. We can, however, autolayout the imported vocabulary/application profile.
    4. To explore the DCAT2-DAP visually, We click on πŸ‘οΈ next to it, which automatically layouts the contents of the application profile. You may also need to re-center the view on the newly added visualization.
    5. Besides the visual representation, we can also explore the (class and property) profiles included in DCAT2-DAP in the catalog, on the Profiles tab.
    6. Note that in this version (version 2) of DCAT, there is no class Dataset Series, and no property resource from Catalog to Cataloged Resource.
    7. On the top, we click on the πŸ’ΎπŸ‘‹_Save and leave_ button.
  4. In Dataspecer packages, we expand the DCAT 2 Default Application Profile
    1. We can see the different parts of the specification - the visual models (the diagrams), the application profile semantic model and the profiled vocabularies (denoted PIM Wrapper).
    2. Among the profiled vocabularies, we find dcat2, and click the Reload data specification () button on its line.
    3. We change the URL to https://www.w3.org/ns/dcat3.ttl - version 3 of the DCAT vocabulary
    4. We click on the Reload and view changes button.
  5. This brings us to the new workflow, main part of this demonstration.
    1. We can see the number of all changes in the new vocabulary, and proposed operations to be done in the current dataspec to propagate the changes relevant to it. Relevant changes are those that affect the profiled parts of the vocabulary.
    2. In the dcat2 section we can see the individual changes detected in the vocabulary, such as new classes, new relationships (properties), changed definitions, specializations, etc. This is just for information.
    3. In the New classes section, we see suggestions to add new classes to the dataspec. In this case, it is the Dataset Series class, introduced in DCAT 3. We may choose whether to add it or not. We choose to add it.
    4. In the New relationships section (for object properties), we see that resource with domain Catalog and range Cataloged Resource can be added. We see the suggestion, because both the domain and the range of the property are already in the current version of the profile, so it is assumed, that we may want to profile the new property as well.
    5. In the New generalizations section, we see that because in the vocabulary, Dataset Series specializes Dataset (Dataset generalizes Dataset Series) it is suggested to bring this relation also to the profile.
    6. In the Modifications section, we can see changes to definitions of properties. Here, we can decide to
      1. Keep inheriting - the current version relied on the vocabulary for the property definition. It changed in the vocabulary, so the change will be automatically reflected in the profile
      2. Keep old value in profile - we would choose this, if we were not satisfied with the change, and wanted to stick to the original value
      3. Resolve manually - put the change on the TODO list to deal with manyally
    7. We can also see changes to the names of properties
    8. After we investigate the proposed changes, we accept them by clicking the Accept update & apply selected button on the top of the page.
    9. Finally, we click on Back to manager
  6. We can rename the spec by clicking the three-dot menu, rename and change the name to DCAT 3 Default Application Profile.
  7. (Optional) Explore the updated specification by clicking on the Edit vocabularies and application profiles () button
    1. In the Profiles tab of the catalog, we can now see the Dataset Series class and the resource property.
    2. We add them to the canvas by clicking toggling the πŸ•ΆοΈ button next to them to πŸ‘οΈ. If we do not see them in canvas, we can find them by clicking the 🎯 button next to them.
    3. At this moment, we could do other changes to the DCAT-DAP on top of those coming from the DCAT vocabulary, which would be the normal course of work.
    4. When done, on the top, we click on the πŸ’ΎπŸ‘‹_Save and leave_ button.
  8. We click on the three-dot menu, show documentation (en) and we see the Respec documentation generated.
    1. We can verify that the Dataset Series class is now in the dataspec
    2. We can verify that the resource property is now in the dataspec, with Catalog as domain.

Part II - Propagating Changes from Application Profile to Application Profile

Now Bob, maintaining DCAT-AP, a profile of DCAT2-DAP in the profiling hierarchy, wants to update DCAT-AP 2.1.1 to DCAT-AP 3.0.1 based on the changes from DCAT2-DAP to DCAT3-DAP, that we partially did in the previous part.

  1. Go to demo instance - you will see existing specifications (dataspecs).
  2. Click on the Import button
    1. We are importing DCAT-AP 2.1.1 from a URL
    2. URL: https://mff-uk.github.io/specifications/dcat-ap2/
    3. Click on the Import button
    4. After a while, you will see DCAT-AP 2.1.1 based on DCAT 2 DAP as the top dataspec.
  3. (Optional) Explore the imported specification by clicking on the Edit vocabularies and application profiles () button
    1. Conceptual model editor is opened, showing a catalog on the left hand side, and a blank canvas on the right hand side.
    2. One of the vocabularies in the catalog is DCAT-AP 2.1.1 based on DCAT 2 DAP
    3. Note: One current limitation of the tool is that the visual diagrams are not imported when a dataspec is imported. We can, however, autolayout the imported vocabulary/application profile.
    4. To explore the DCAT-AP 2.1.1 visually, We click on πŸ‘οΈ next to it, which automatically layouts the contents of the application profile. You may also need to re-center the view on the newly added visualization.
    5. Besides the visual representation, we can also explore the (class and property) profiles included in DCAT-AP 2.1.1 in the catalog, on the Profiles tab.
    6. Note that now, in the Profiles tab, we see both the upstream profiled DCAT 2 Default Application Profile, and the current DCAT-AP 2.1.1 based on DCAT 2 DAP.
    7. Note again that in this version (version 2.1.1) of DCAT-AP, there is no class Dataset Series, and no property resource from Catalog to Cataloged Resource.
    8. On the top, we click on the πŸ’ΎπŸ‘‹_Save and leave_ button.
  4. In Dataspecer packages, we expand the DCAT-AP 2.1.1 based on DCAT 2 DAP
    1. Again, we can see the different parts of the specification - the visual models (the diagrams), the application profile semantic model and the profiled vocabularies and application profiles.
    2. The one profiled application profile is DCAT 2 Default Application Profile.
    3. Now we get the URL of the updated DCAT3-DAP. There are two options.
      1. Use the specification updated in the previous part, hosted directly in the Dataspecer instance. In that case, find the updated DCAT 3 Default Application Profile, click on the three-dot menu and copy the link from the show documentation (en) button.
      2. Use the real DCAT 3 Default Applicaton Profile that we use for our production specifications. The URL is https://mff-uk.github.io/specifications/dcat-dap/.
    4. We click the Reload data specification () button on its line.
    5. We change the URL to the chosen DCAT3-DAP URL.
    6. We click on the Reload and view changes button.
  5. This brings us to the new workflow, main part of this demonstration. This time, we see propagation of changes from one Application profile to the next.
    1. We see the changes in the profiled vocabularies (typically none, except the dcat vocabulary) and we see the changes in the upstream DCAT 2 Default Application Profile.
    2. Under the changes overview, there is the suggested operations to be done in the current DCAT-AP - new classes, relationships and generalizations, deletions and modifications.
    3. After we investigate the proposed changes, we accept them by clicking the Accept update & apply selected button on the top of the page.+
    4. Finally, we click on Back to manager
  6. We can rename the spec by clicking the three-dot menu, rename and change the name to DCAT-AP 3.0.1 based on DCAT 3 DAP.
  7. (Optional) Explore the updated specification by clicking on the Edit vocabularies and application profiles () button
    1. In the Profiles tab of the catalog, we can now see the Dataset Series class and the resource property.
    2. We add them to the canvas by clicking toggling the πŸ•ΆοΈ button next to them to πŸ‘οΈ. If we do not see them in canvas, we can find them by clicking the 🎯 button next to them.
    3. At this moment, we could do other changes to the DCAT-AP 3.0.1 on top of those coming from the DCAT3-DAP, which would be the normal course of work.
    4. When done, on the top, we click on the πŸ’ΎπŸ‘‹_Save and leave_ button.
  8. We click on the three-dot menu, show documentation (en) and we see the Respec documentation generated.
    1. We can verify that the Dataset Series class is now in the dataspec
    2. We can verify that the resource property is now in the dataspec, with Catalog as domain.