While trying to address the issue that resulted in re-opening

https://issues.apache.org/jira/browse/UIMA-1840

I've discovered several corner cases where the impl may not be doing the right 
thing.

Here's one: 

ResultSpec has typeXXX:featYYY

type system has subtype of typeXXX, call it typeXXXsub

In this case, it seems to me that containsFeature(typeXXXsub:featYYY) should 
return true, but I think it will return false in our current impl.

========

Another case: 

ResultSpec has typeXXX, allFeatures

In this case, it seem also that containsFeature(typeXXXsub:featYYY) could 
return true, but I can also see an argument where it would not.  

Argument for returning true: the designation of allFeatures for typeXXX is 
thought to mean all features for this type, and all features for any subtypes, 
including those features introduced only in the subtypes.

Argument for returning false: the designation of allFeatures for typeXXX is 
thought to mean all features just of this type. If subtypes introduce 
additional features, those are not covered by this specification.

This may be a nit, which no one is (currently) using, but I'd like to have a 
clear definition for it and make the impl conform.

Any thoughts?

-Marshall



Reply via email to