ontodev / robot

ROBOT is an OBO Tool
http://robot.obolibrary.org
BSD 3-Clause "New" or "Revised" License
260 stars 74 forks source link

convert from obo to owl -- data version info is missing #1067

Closed zhilianghu closed 1 year ago

zhilianghu commented 1 year ago

I have been using robot-1.6.0 to do OBO to OWL conversions:

robot-1.6.0/bin/robot convert --input OBOFILE --output OWLFILE

that works fine but only lately we notice the data version info in OBO file (data-version: 88.888) is missing from the OWL. Is there a fix?

I also tried to install robot-1.9.0 hoping to solve the problem but get into install problems that are not straight forward for me to solve:

mvn clean package

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.6.1:descriptor (default-descriptor) on project robot-maven-plugin: Error extracting plugin descriptor: 'No mojo definitions were found for plugin: org.obolibrary.robot:robot-maven-plugin.'

jamesaoverton commented 1 year ago

You mention multiple potential issues here. Before sorting that out, please use the latest ROBOT 1.9.0. I would recommend downloading robot.jar from the latest release https://github.com/ontodev/robot/releases, as suggested in our documentation http://robot.obolibrary.org/.

zhilianghu commented 1 year ago

Thank you for the suggestion, which I also did download jar directly, and when run it complains:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/geneontology/obographs/owlapi/OboGraphJsonDocumentFormat has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

jamesaoverton commented 1 year ago

That error indicates that you are using Java 8. ROBOT requires Java 11, as the install documentation explains.

zhilianghu commented 1 year ago

Thank you! ... I am no java person so always get confused with java errors (in this case I never interpret it to "version 11" :-) Now I get the robot 1.9.0 to work on my CentOS but the OBO to OWL conversion still not to bring the data-version to OWL. Is the "oboInOwl" meta line where the OBO version should go? ... I even don't find a owl data version line in the OWL.

matentzn commented 1 year ago

Can you share an example and what you would expect to see in the OWL file?

zhilianghu commented 1 year ago

It's our collaborator at AgroPortal (http://agroportal.lirmm.fr/) alerted us missing data versions in the owl we provide (that they ran into owl version control issues in their environment). He was expecting to see a "owl:versionInfo property" line in owl, and the owl section he pin points to is like in https://www.animalgenome.org/hu/share/owlsample.png I will invite him to discuss the issue here.

matentzn commented 1 year ago

@zhilianghu your shared screenshot points to a very old version of OBO format - the current format is 1.4, not 1.2. According to this: http://owlcollab.github.io/oboformat/doc/obo-syntax.html#5 data-version is not translated into OWL!

zhilianghu commented 1 year ago

Is there any meta line in OWL that states data versions?

matentzn commented 1 year ago

Yes, the versionIRI should display it!

zhilianghu commented 1 year ago

Thank you!