Bug #4538
closedproblems with KARs that contain tags from default ontologies
0%
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)
Updated by Derik Barseghian almost 15 years ago
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?
Updated by ben leinfelder almost 15 years ago
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
Updated by Sean Riddle almost 15 years ago
(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.
Updated by Derik Barseghian almost 15 years ago
Things had changed and the concept_label was no longer in the tags in the workflowRun. Sean added the concept_label back in r22469.
Updated by Sean Riddle almost 15 years ago
Seems like this got fixed a while back. Closing unless there are any objections.