私は次のタイプを持っています:
SpecialDocument
uima.tcas.Annotation
から(またはuima.tcas.DocumentAnnotation
、理想的には)specialFeature
型の機能を継承するuima.cas.String
SomeAnnotation
継承uima.tcas.Annotation
私は正常に起動しているルールを持っています:
Document{ -> MARK(SpecialDocument)};
のテキストを含むSpecialDocument
注釈を取得しているため、発火していることがわかります。Document
しかし、それを先に進めようとすると、つまり後続のルールでそれを使用しようとすると、ルールは何もしません。
既存の からを作成したときに発火しないのとまったく同じルールについては、別のものからを作成すると発火します!!!SpecialDocument
Document
SpecialDocument
たとえば、次のようになります。
Document{ -> MARK(SpecialDocument)}; // creates a SpecialDocument
SomeAnnotation -> SpecialDocument; // creates a SpecialDocument
// This sets specialFeature for every SpecialDocument EXCEPT the one created ƒrom Document.
SpecialDocument{ -> SETFEATURE("specialFeature", "whatever")};
// This marks a new annotation of SomeOtherAnnotation, again for every SpecialDocument EXCEPT the one I care about!!!
SpecialDocument{ -> MARK(SomeOtherAnnotation)};
EDITこれは、タイプよりも注釈の長さに関するものであることに気付きました-短いドキュメントを作成すると、期待どおりに機能します。
ここで何が起こっているのですか?これはバグですか、それとも気が狂っていますか?