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

Ontology Version IRI not absolute: Repair #3

Open
matentzn opened this issue Mar 31, 2017 · 12 comments
Open

Ontology Version IRI not absolute: Repair #3

matentzn opened this issue Mar 31, 2017 · 12 comments

Comments

@matentzn
Copy link
Contributor

matentzn commented Mar 31, 2017

Almost all ontologies violate the fact that Version IRIs need to be absolute. Fixing it however causes another problem with the default repair strategy in the OWL API (which replaces the entire Ontology ID): If more than one ontologies in the imports closure have that problem, all will get the same ID. Which is again a (even more serious) violation.

@ignazio1977

@matentzn
Copy link
Contributor Author

I think I would vote for a random UUID or something for the fix, or else some other that ensures that each ontology in the closure fixed that way is unique.

@matentzn
Copy link
Contributor Author

matentzn commented Mar 31, 2017

Suggestion:
list(new SetOntologyID(ontology, new OWLOntologyID(Optional.of(IRI.create("urn:ontology#"+UUID.randomUUID())),
Optional.of(IRI.create("urn:ontology#"+UUID.randomUUID())))));

@matentzn
Copy link
Contributor Author

@ignazio1977 This illustrates the problem: BioportalRpubs. You can see that most ontologies fail only on small accounts, and this non-absolute-version violation is by far the most extreme.

@alanruttenberg
Copy link

This smells of magic repairs. See #2 (comment)

Assuming that this error is caught, I think there should be more than one offer for repair. For example, the OBO ontologies have a policy on ontologyIRI and versionIRI and if a repair was to be made, then it should follow that policy. Certainly a UUID as fix would be inappropriate for an OBO ontology.

@alanruttenberg
Copy link

BTW, the link OntologyVersionIRINotAbsolute on BioportalRpubs gives me a blank page.

FIrst suggestion for that page: If giving notice of a non-absolute Ontology/VersionIRI, display also what the current value is.

@matentzn
Copy link
Contributor Author

matentzn commented Apr 3, 2017

You are right in that it is a magic repair. We probably need to distinguish the purpose of the repair. I am naturally interested only in violations relevant to reasoning, but if your goal is profile adherence ontology maintenance, you are of course right. I would inject UUIDs only to make the violation go away, in order to produce a serialised ontology that adheres the OWL 2 DL so that all reasoners have a fair chance to deal with it the same way. Tools should, as you say, point out the violation, and suggest to fix it by actually adding the Ontology Version IRI in the way the developers see fit.

@matentzn
Copy link
Contributor Author

matentzn commented Apr 3, 2017

@ignazio1977 Given the extreme prevalence of this error, is it possible this is actually CAUSED by the OWL XML serialisation? It is hard to image that 300+ out of 400 ontologies have version IRIs.. I guess we all agree that non-absolute IRIs are a violation are a violation, and should be reported. Is there any hope of designing a mechanism that gives a a default repair as a kind of "quick fix", and a slightly more elaborate one that is configurable by the user?

@matentzn
Copy link
Contributor Author

matentzn commented Apr 3, 2017

@alanruttenberg The link actually works... Its rpubs that is broken, and in order to click on it you need to open it in a new tab.. :P I will for the next iteration give examples of that error..

@ignazio1977
Copy link

is it possible this is actually CAUSED by the OWL XML serialisation?

I guess it's possible, haven't tried saving an ontology with an absolute version IRI to see if it comes out wrong.

@matentzn
Copy link
Contributor Author

matentzn commented Apr 3, 2017

Sit tight. I will do some more analyses and come back to you.

@matentzn
Copy link
Contributor Author

matentzn commented Apr 4, 2017

We should put this to rest. This was an issue that resulted from creating a new ontology from an old one, and does not seem an otherwise occurring problem. I will open a new issue.

@matentzn matentzn closed this as completed Apr 4, 2017
@matentzn
Copy link
Contributor Author

matentzn commented Apr 4, 2017

maybe shouldnt be closed yet as issue remains..

@matentzn matentzn reopened this Apr 4, 2017
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

3 participants