SEMICeu / style-guide

SEMIC style guide to create reusable vocabularies and application profiles
https://semiceu.github.io/style-guide/
Creative Commons Attribution 4.0 International
9 stars 2 forks source link

Namespace organisation #93

Open sixdiamants opened 9 months ago

sixdiamants commented 9 months ago

Rule CMC-R3 states that

All UML element names should be fit for URI generation with clear namespace organisation.

I've seen two approaches in SEMIC:

  1. The styleguide suggests tagging elements with URI information. E.g. data property addressArea has tag uri with value http://w3.org/ns/locn#AddressArea.
  2. Model2owl uses no tags but needs an external configuration file namespaces.xml that maps prefixes to URI's.

This model2owl approach seems to contradict some design premises

  1. the UML model is a single source of truth where I would expect to find everything needed to transform the UML into RDF.
  2. encoding prefixes into package names implies that packages are namespaces. Does this match the idea that packages merely organise concepts but don't carry meaning ?
  3. a notation such as DCAT::dcat::Catalog is confusing: which is a package and which is namespace ?

I suggest that the rule become binding, e.g.

Replace

All UML Element names should be fit for URI generation with clear namespace organisation.

by

All UML Element names must be fit for URI generation with clear namespace organisation.

With additional hints for developers such as

Alternative model2owl-style (which has drawbacks described above):