protege icon indicating copy to clipboard operation
protege copied to clipboard

Protege is randomly changing the typing of literals (no typing -> xsd:string)

Open dosumis opened this issue 5 years ago • 10 comments

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

e.g.

image

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).

dosumis avatar Feb 01 '21 09:02 dosumis

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

matentzn avatar Jul 19 '21 15:07 matentzn

I'm trying to replicate with OWLAPI 4.3.1 or newer. So far, version 4.5.4 replicates the problem.

ignazio1977 avatar Jul 20 '21 22:07 ignazio1977

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.

ignazio1977 avatar Jul 20 '21 22:07 ignazio1977

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.

ignazio1977 avatar Jul 20 '21 23:07 ignazio1977

This is strange, we are on 4.5.9.2019-02-01T07:24:44Z) an that seems affected!

matentzn avatar Jul 21 '21 09:07 matentzn

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.

ignazio1977 avatar Jul 21 '21 10:07 ignazio1977

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?

matentzn avatar Jul 21 '21 12:07 matentzn

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.

ignazio1977 avatar Jul 22 '21 21:07 ignazio1977

@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.

ignazio1977 avatar Jul 22 '21 21:07 ignazio1977

Awesome, thanks a ton @ignazio1977

We are making some experiments now and let you know how it goes!

matentzn avatar Jul 23 '21 08:07 matentzn