Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

application profile tooling #68

Open
bertvannuffelen opened this issue Apr 8, 2022 · 1 comment
Open

application profile tooling #68

bertvannuffelen opened this issue Apr 8, 2022 · 1 comment
Assignees

Comments

@bertvannuffelen
Copy link

Hi DCTAP community,

I would like to reach out to you as I have interest in approaches to address the challenge of defining a coherency between vocabularies and application profiles.

I am contributing to an open source toolchain that aids editors to create and maintain vocabularies and application profiles with as fundament the semantic web.
To illustrate here the application profile for DCAT in the Flemish region in Belgium: https://data.vlaanderen.be/doc/applicatieprofiel/DCAT-AP-VL/kandidaatstandaard/2022-02-03.

As you will see when hovering over the terms you find the references back to the DCAT(-AP) parent application profiles.

This toolchain also provides assistence to generate html representation, RDF representation (for vocabularies), SHACL and json-ld context for application profiles. And the ability to have the specification (and generated artifacts) in multiple language translated.

What is similar is to dctap is a tabular representation that is generated for application profiles. The language behind the the application profile is a annotated UML document where the annotation tags roughly correspond to the dctap language (consider it a superset of dctap).

I read some discussions on in the issue list like #67 and actually in this setting that discussion does not appear in this form, but more in the question what is the difference between an application profile and a vocabulary.
The generated artifacts are "technical representations" suited for an audience.

kr,

Bert

@kcoyle
Copy link
Collaborator

kcoyle commented Apr 8, 2022

Hi, Bert. Thanks so much for your comment. It would be very interesting to convert your DCAT-AP tables to TAP. I'd be happy to chat with you about that. I'm particularly interested in your use of SKOS codelists (if I'm reading your tables correctly) in a column, and the Verwacht (expected) Types that you've defined. It looks like some are not on our list, so we should consider them.

We're hoping to work more on tooling as our next tasks, and would be very interested to see your work. So far we have two "in progress" and hints of others in very early stages. In progress:

  1. DCTAP-python (by @tombaker) which translates from DCTAP to either text, JSON, or YAML. It also does some very basic checking of the TAP - see the documentation for details. And has capabilities for configuration (see below)
  2. Code to translate from TAP to SHACL and to demonstrate validation, by @philbarker

Configuration: dctap-python allows you to add columns or cell values that are not in the base TAP. It also has a mechanism to create "aliases" for the column headers, which would allow them to be translated into your column headings. The idea is for TAP to be very configurable.

Next,

the question what is the difference between an application profile and a vocabulary

Yes! This is something we are working on now in our discussions to create consistent terminology to use in our documents. We are clarifying terminology at 4 levels:

  1. things being described
  2. the metadata
  3. vocabularies and models
  4. application profiles

What we're looking at is describing the basic difference between 3 and 4 is between definition (3) and usage (4). We haven't yet gotten that into our documentation, but I think that we will in the near term. I think I understand when you say:

The generated artifacts are "technical representations" suited for an audience.

that we should also be defining or at least describing the designated audience. That's definitely something to think about, and I'll try to fit it into our current work.

p.s. You are welcome to join us on our working group calls. Every 2 weeks, one hour. Or maybe we can set up a meeting for you to give us your ideas and feedback, based on your work.

@kcoyle kcoyle self-assigned this Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants