Protege is randomly changing the typing of literals (no typing -> xsd:string)
Protege is randomly changing the typing of literals (no typing -> xsd:string). This only affects the typing of values on axiom annotations.
e.g.

Also see this pull request:
https://github.com/obophenotype/cell-ontology/pull/897/files
All edits were by a single user working with Protege 5.5. None of the affected terms have been edited. This doesn't happen with every edit, but it is relatively frequent and occasionally results in changes so huge that diffs become unreadable.
I haven't come across this when using other OWL-API based tools to manipulate and save OWL files (e.g. ROBOT).
So of the same version of master, we have
- https://github.com/obophenotype/cell-ontology/pull/1178
- https://github.com/obophenotype/cell-ontology/pull/1177
- https://github.com/obophenotype/cell-ontology/pull/1176
- https://github.com/obophenotype/cell-ontology/pull/1179
All of these were done with identical versions of Protege (5.5.0).
See here for various configs: https://github.com/obophenotype/cell-ontology/issues/1175
I'm trying to replicate with OWLAPI 4.3.1 or newer. So far, version 4.5.4 replicates the problem.
4.5.4, 4.5.6, 4.5.8, but not 4.5.5 nor 4.5.7 nor 4.5.9. Weird, odds are good, evens are not.
versions affected: 4.5.4 4.5.6 4.5.8 4.5.10 4.5.11 4.5.12 4.5.13 4.5.14 4.5.15 4.5.16 4.5.17 4.5.18
4.5.19 is not affected.
This is strange, we are on 4.5.9.2019-02-01T07:24:44Z) an that seems affected!
I've used the jar files in the releases project, which are built from maven artifacts, so the code should be the same. @matentzn when you say we you're referring to ROBOT, right? Is it possible to print out the classpath for an execution of the tool, i.e., the value of the java.class.path variable in force? I'm trying to exclude the possibility of version clashes versus non deterministic behavior of the parsers, which would be harder to investigate.
We are referring to Protege, see last comments here:
https://github.com/obophenotype/cell-ontology/issues/1175#issuecomment-884148981
I basically had everyone print out the owlapi version to compare..
I doubt anyone has any other owlai versions installed - not of these people anyways.. Is there anything I can have them print out, on the command line, that could help?
I've tried 4.5.9 in my test framework again and this time the failure was replicated. I must have not updated the dependencies correctly the first time.
@matentzn So I've done the following:
- checked out the latest Protege
- set OWLAPI version to 4.5.9
- opened and saved the CL ontology
- defect replicated
Then I changed the OWLAPI version back to 4.5.19 (this is what Protege has been using since last January, not sure if it made its way in any release)
- opened and saved the CL ontology
- defect not replicated
That sounds promising - I'm not sure how practicable is for your team to switch to a build of Protege 5.6.0-beta1, however it seems to me that downloading owlapi-osgidistribution-4.5.19.jar from MAven Central and dropping it in the bundles folder of the current distribution, renamed to owlapi-osgidistribution.jar, should be enough to fix your issue.
Awesome, thanks a ton @ignazio1977
We are making some experiments now and let you know how it goes!