Open johardi opened 8 years ago
Yes, we'd like to be able to do a search along the lines that you describe in there: get all the definitions where the def-source = 'NCI'. I think it's a natural for a nested search.
So the issue of deeply nested annotations, like i mentioned in https://github.com/protegeproject/csv-export-plugin/issues/1, seems to be an edge case at the moment, and since Protege doesn't support them in the UI, i'm not certain that we need to support them in searches as people wouldn't be creating them.
I agree, we should support annotations on other things, like restrictions on a class, or disjointness axioms. I think more people would annotate e.g. disjointness than annotations on annotations (i.e. resulting in an annotation on an annotation of an annotation value).
Always possible that i have misunderstood, we can have a call or skype to clarify.
Sounds good. Just to clarify, Protege does not currently support the editing in the UI of more than 1 level-deep annotations on annotations, but it will display them fine if they are used in the ontology. I've seen other ontologies using 2-levels deep annotations, and Protege could display them properly.
That's interesting. Do you have any URLs handy? I wouldn't mind taking a look at these 2-level annotations.
I am attaching a sample ontology with nested annotations here for documentation purposes.
We need some more clarification. Maybe @fragosog can also jump in.
Consider the following example adapted from the NCIt (same one used for the csv-export):
Would you want to be able to specify a search:
(similar to the nested search)
In OWL, it is possible to have arbitrarily nested annotations, so, to solve the indexing and search in a generic way, we would need to support queries like:
?entity.definition.def-source.annotProp1.annotProp2.annotProp3
To implement a proper nested search for annotations-on-annotations, we need to extend the API and the UI quite considerably.
One (hacky) partial solution would be to index the property value together with the annotations, i.e., create a text representation of the value + annotations. This partial solution would probably give results that are not as precise as a proper nested search would be, but it may be enough. However, this partial solution is far from ideal.
Ideally, we should be able to index and search the annotations on any axiom type (not just annotation assertions).