Bug #4538
closed
problems with KARs that contain tags from default ontologies
Added by Derik Barseghian about 15 years ago.
Updated almost 15 years ago.
Description
If you Save KAR a workflow that you've tagged with a tag that comes from an existing ontology (e.g. one of the default choices in the tagging dropdown menu), you get the following error. The KAR seems to come out fine, and contains the tag.
A similar error occurs when you export a run from the WRM, and in this case these tags don't get serialized.
org.semanticweb.owl.model.OWLRuntimeException: Not an OWLClass. This method should only be called if the isAnonymous method returns false!
at uk.ac.manchester.cs.owl.OWLAnonymousDescriptionImpl.asOWLClass(OWLAnonymousDescriptionImpl.java:57)
at org.kepler.sms.NamedOntClass.getNamedSuperClasses(NamedOntClass.java:335)
at org.kepler.objectmanager.cache.CacheSearch.insertSemTypes(CacheSearch.java:354)
at org.kepler.objectmanager.cache.CacheSearch.add(CacheSearch.java:323)
at org.kepler.objectmanager.cache.CacheSearch.add(CacheSearch.java:254)
at org.kepler.objectmanager.library.LibraryManager.addKAR(LibraryManager.java:825)
The problem in comment #1 was fixed some time ago.
Things seem to be working fine, but I notice the way the tags are serialized in a workflow vs the workflowRun are different.
E.g.
inside WorkflowRun:
<property name="semanticType" class="org.kepler.sms.SemanticType" value="urn:lsid:lsid.ecoinformatics.org:onto:8:1#AboveGroundBiomassMeasurement">
inside workflow:
<property name="semanticType" class="org.kepler.sms.SemanticType" value="urn:lsid:lsid.ecoinformatics.org:onto:8:1#AboveGroundBiomassMeasurement#AboveGroundBiomassMe...">
Which one is right?
this looks wrong:
<property name="semanticType" class="org.kepler.sms.SemanticType"
value="urn:lsid:lsid.ecoinformatics.org:onto:8:1#AboveGroundBiomassMeasurement#AboveGroundBiomassMe...">
It appears that the class is being double appended to the URI of the ontology (before the first #).
There should only be one # - used to delimit the ontology from the class name
(In reply to comment #2)
this looks wrong:
<property name="semanticType" class="org.kepler.sms.SemanticType"
value="urn:lsid:lsid.ecoinformatics.org:onto:8:1#AboveGroundBiomassMeasurement#AboveGroundBiomassMe...">
It appears that the class is being double appended to the URI of the ontology
(before the first #).
There should only be one # - used to delimit the ontology from the class name
That's a result of the way we're handling 'orphaned' concepts. Even if the ontology vanished completely, we still wanted to be able to search on its label, rather than just on the anchor/concept ID. Even though the concept ID is usually the same or closely related to the label, there is no guarantee that this will be true in all cases. I had tags added through the tagging interface have the following value:
ontology_uri#concept_id#concept_label
As long as no one tries to take the string representation of the semantic type and treat it directly as a URI, it should be fine. But please post replies to here if errors of that nature are found.
Things had changed and the concept_label was no longer in the tags in the workflowRun. Sean added the concept_label back in r22469.
Seems like this got fixed a while back. Closing unless there are any objections.
Original Bugzilla ID was 4538
Also available in: Atom
PDF