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

Support / for IRI fragment #490

Closed
NCIEVS opened this issue Nov 18, 2020 · 6 comments
Closed

Support / for IRI fragment #490

NCIEVS opened this issue Nov 18, 2020 · 6 comments
Milestone

Comments

@NCIEVS
Copy link
Collaborator

NCIEVS commented Nov 18, 2020

This probably works already, just needs to be tested. The switch to / to delimit the IRI "fragment" (legacy nomenclature) from the # is to make it easier to do things like redirection and concept reports from web servers.

@NCIEVS NCIEVS added this to the TBD milestone Nov 18, 2020
@NCIEVS
Copy link
Collaborator Author

NCIEVS commented Feb 3, 2021

As I understand it, it turns out this doesn't work very well at the moment because the namespace returned when using # is not the same as when using / and the fragment that you get back is empty. So this behavior would need to be fixed to make things consistent between # and /.

@bdionne
Copy link
Collaborator

bdionne commented Feb 4, 2021

correct, The IRI object in the OWLAPI returns an empty string when the IRI ends with a "/". The getShortForm method does the right thing, it looks if the remainer is empty and strips of the fragment from the full IRI.

The panel for the refactor-rename action has similar issues, though it uses both the IRI and a java.net.URL

@NCIEVS
Copy link
Collaborator Author

NCIEVS commented Mar 8, 2021

Currently, if the separator is /, the class shows up as uneditable in the Description and General subtabs of nci-edit tab.
However, it is editable in the complex properties panel, can add new complex properties from the tree, can create new classes (which include the rdfs:label and the preferred_name simple properties), and it is searchable and navigable.

I've put a zip in the data directory. It has the 45K trimmed version of the ncit where the hash has been changed to slash. The zip also includes the portion of the server config file that would describe a project with this "slashed" vocab.

@bdionne bdionne modified the milestones: TBD, 4.2.0 Apr 18, 2022
@bdionne bdionne changed the title Switch to / for IRI fragment Support / for IRI fragment Oct 27, 2022
@bdionne
Copy link
Collaborator

bdionne commented Nov 3, 2022

Protégé makes the assumption that the fragment of the IRI begins from the last /, and NCI uses # in its IRIs in Thesaurus.

What complicates this is that in the Thesaurus owl file the top namespace declaration doesn't agree with the namespace specified in the about attribute of the ontology declaration.

EditTab compensated for all this by adding the # to the string returned from the call to retrieve the namespace of the ontology, so that it matches the IRI of the class.

It's not entirely clear what the spec says about namespaces, but it would seem a good solution, given how protégé works would be to fix the owl file and remove the check for the # in EditTab, unless the protégé exporter produce the owl file this way. In the latter we should fix protégé

@singhik
Copy link
Collaborator

singhik commented Dec 8, 2022

@bdionne @fragosog : Hi, Have performed Concept Creation ,Addition of Complex Pty,Addition of Simple Pty,Edition & Deletion of Properties, Search of Concepts, Validating IRI on Entities Tab to show / instead of # for created concepts.
Please advice if there are other validations that need to be performed on the Thesaurus for this ticket ?

@singhik
Copy link
Collaborator

singhik commented Jan 25, 2023

This is verified in 4.2.0-dev2 build and hence closed

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