-
Notifications
You must be signed in to change notification settings - Fork 9
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
update owlapi to v4.5.24 #21
Comments
It's 4.5.25 now:
|
I upgraded the owlapi-distribution dependency to 4.5.25 in my local dev environment, used mvn package to generate a new JAR, and ran the unit test suites for several projects. Things look largely fine with the tests in this repository, as well as the ontologies_linked_data project. However, there's a unit test in the ontologies_api project (TestClassesController#test_notation_lookup) that's failing and it's less obvious what's going wrong. This is the API call the unit test issues:
... which results in a 200 OK status when using owlapi-distribution 4.5.18. With version 4.5.25, the same call results in a 404 status code:
More specifically, this code in classes_helper.rb:
... will successfully fetch the requested class from the triplestore with owlapi-distribution 4.5.18, but not 4.5.25. |
Further investigation revealed what I think is the underlying cause for the
See issues owlcs/owlapi#1063 and owlcs/owlapi#640 in the OWL API issue tracker for detailed explanations/discussion. When we ingest new ontologies from end users, we load them, add some annotation axioms, then serialize the ontologies to RDF/XML format. The output files we generate look different between versions, i.e.:
Revisiting the code mentioned in my comment from yesterday:
This lookup fails because it requires the presence of the xsd:string datatype. Ignazio added code to the OWL API that allows a user of the API to force the presence of xsd:string on literals. See this comment: owlcs/owlapi#1063 (comment). One possible solution to test would be to modify this project to use the new format parameter:
Another possible solution would be to remove the xsd:string datatype parameter from the notation_to_class_uri method in the ontologies_api project. It's not immediately clear to me if that would have any other adverse effects. |
I tested a modification to the code in the notation_to_class_uri method in my local dev environment where I removed the datatype parameter for creation of a new RDF::Literal object:
I ran the full unit test suite for ontologies_api, and this change doesn't break any other unit tests. I think this might be the better solution because it would allow us to have smaller output files when we serialize ontologies to RDF/XML. |
Protege v5.6.0 and ROBOT are using OWLAPI 4.5.24
The text was updated successfully, but these errors were encountered: