On 12/13/06, Thilo Goetz <[EMAIL PROTECTED]> wrote:
I couldn't agree more (except for the default bag indexes). It makes no sense at all that global indexes must be accessed via a particular view.
I can't tell what exactly you're agreeing to. Are you thinking that anything indexed in a view would also be by definition indexed in the "global" view? Do we need different index definitions for the global view (so we don't have a global index over annotations sorted by begin, end but containing annotations from multiple Sofas)?
In that case, a view could be seen as just a set of indexes, with possibly just two methods: getIndexes() (and variations) and addToIndexes(FS). The base CAS would be a view on everything. A view might be what we now call index repository. In fact, if we just rename the index repository to "view", we're done ;-). Just a little implementation to make more than one index repository possible.
We haven't addressed Sofas yet. The base CAS does not have a single subject of anlaysis, so methods like getDocumentText() and its relatives are a problem. These methods should belong to a view. (According to the spec, not all views necessarily have a Sofa, but it is a common use case supported by the particular kind of view called an Anchored View.)
So no CAS cas = inCas.getView()?
Certainly, I never liked that idea but are we back to essentially requiring: CasView viewOfMySofa = inCas.getView() ? Since inCas.getDocumentText() would not work, and inCas cannot be used to iterate over or index annotations belonging to a particular Sofa. -Adam
