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

Concept URIs without hash-character #49

Closed
KlausIllmayer opened this issue Nov 9, 2022 · 3 comments
Closed

Concept URIs without hash-character #49

KlausIllmayer opened this issue Nov 9, 2022 · 3 comments
Assignees

Comments

@KlausIllmayer
Copy link
Member

Currently, the automatic created concept URIs without a legacy-id are built up using a #-character as separator: {base-uri}#concept{id}. This leads to problems with webserver redirect rules, as # is used for an anchor and therefore redirect rules are ignoring the # and all stuff behind it. Besides, it could also lead to problems, if on the resolving side anchors are used, because it will not allow it anymore (something like {base-uri}#concept{id}#{anchor-id} will break and not jump to the anchor).

It seems to be better to change the behviour of creating the automatic concept URIs and don't use the # anymore. Instead I propose to replace it with / and I also think that is is better readable if it also separates the concept. The schema would then look like {base-uri}/concept/{id}.

If changing to this new schema we need to be aware, that ConceptSchemes using the old schema shouldn't change to the new schema. One solution would be to use for such old vocabularies the legacy-id-field and add there the uri based on the old schema. This means that before switching to the new schema, all concepts that do not have a legacy-id-field should get a legacy-id with the old schema. Does this sound feasible or is there another option possible (maybe the date of creation defines the schema in use or maybe a configuration field to chose if it should use the old/new schema?).

@KlausIllmayer
Copy link
Member Author

Connected with #2

@csae8092
Copy link
Member

I'd prefer a hard solution -> replace '#' with '/'
I'd make this a configuration parameter "CONCEPT_SEPARATORS" with default '/' on application level
after all, if someone is not happy with it, its a simple search&replace to change it back

@KlausIllmayer
Copy link
Member Author

so you mean {base-uri}/concept{id}? yes, i'm fine with it

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

No branches or pull requests

2 participants