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

Modules namespace, slash vs hash #56

Closed
anaigmo opened this issue Feb 1, 2023 · 4 comments
Closed

Modules namespace, slash vs hash #56

anaigmo opened this issue Feb 1, 2023 · 4 comments
Labels

Comments

@anaigmo
Copy link
Collaborator

anaigmo commented Feb 1, 2023

Regarding the decision of which namespace should we use for the RML ontologies (core + modules), there are three options, and they also influence the use of hash or slash:

  1. All modules with same namespace: All concepts share the same namespace, they are divided in different files and published independently from different repositories. Hash/slash indifferent.
  2. Different namespace per module: Each module has a different namespace, including all the concepts they define. Also divided in different files, published independently, and indifferent hash/slash. Easier to manage each module, more difficult to remember to which module each term belongs. Example with hash and with slash.
  3. Hybrid: Same namespace for all terms, but each module has a different IRI. The terms have a rdf:isDefinedBy property that points to the module IRI. Harder to publish with hash, it would require publishing with slash. Example.
@bjdmeest
Copy link
Member

bjdmeest commented Feb 1, 2023

I am pro making the user only remember one prefix as much as possible, but also make each modules accessible independently, so option 3 feels most future-proof (modules can be versioned independently and also still used separately in different contexts).
I think slash vs hash still is open, e.g. https://docs.enslaved.org/ontology/ also combine independent modules for each version, using hashes (and I assume that's the same for SHACL extensions: https://www.w3.org/TR/shacl-af/#SPARQLTarget). However, https://www.w3.org/wiki/HashVsSlash favorites slash, so I'm fine to use that as a reason to pick one or the other

@pmaria
Copy link
Collaborator

pmaria commented Feb 1, 2023

Agreed.

Note that with option 3, using a single namespace, IRI dereferencing of the ontology(s) using a hash strategy does not afford the ability to distinguish modules. With hash you could only ever serve a single document per namespace.

@anaigmo
Copy link
Collaborator Author

anaigmo commented Mar 1, 2023

As agreed on the Community Group's meeting, we propose to go for option 3 (hybrid) to maintain the same namespace for all concepts but keeping differenciated the modules; and with slash, since with hash it would not be possible to split the modules in different files.

If you agree please let us know reacting to this message with 👍 ; else with 👎 -- and explain further why not in a comment below :)

@DylanVanAssche
Copy link
Collaborator

We have an agreement around slash vs hash for all ontologies. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants