簡體   English   中英

UIMA注釋功能是否有通用類型?

[英]Is there a generic type for UIMA annotation features?

是否存在類似於Java中的Object的泛型類型,可以將不同類型的值設置為它?

<typeDescription>
    <name>com.example.Annotation</name>
    <description></description>
    <supertypeName>uima.tcas.Annotation</supertypeName>
    <features>
        <featureDescription>
            <name>exampleFeature</name>
            <description>An example feature</description>
            <rangeTypeName>uima.cas.Generic</rangeTypeName>
        </featureDescription>
    </features>
</typeDescription>

我嘗試將以下內容放入<rangeTypeName>

  • java.lang.ObjectObject這不起作用,嘗試使用JCasGen生成代碼時收到以下消息:

    JCasGen警告: **實例化CAS類型系統時發生資源初始​​化錯誤。 繼續,但是可能生成不正確。 由“未定義類型”對象”引起,在類型“ com.example.Annotation”上聲明的功能“ exampleFeature”中引用。

  • uima.cas.TOP這會生成代碼,但是當我嘗試通過將intString傳遞給setExampleField()方法來調用它時會給出錯誤,因為它無法將它們轉換為TOP類型。

uima.cas.TOP是UIMA的對象 等效類型。 但這與您期望的略有不同。 UIMA有兩個概念:1) FeatureStructure ,2) 基本類型 (int,boolean等和String!)。 如果將要素的范圍設置為TOP,則它可以接受任何種類的要素結構(即,任何繼承自TOP的要素),但不接受任何原始類型-此處不進行自動裝箱。 如果將范圍設置為原始類型,則它將僅接受該類型。

解決方法是定義自定義類型,例如FSInt,FSString,FSBoolean,它們繼承自TOP並且具有相應類型(int,String,boolean)的“值”功能。 然后,您可以在該FS中設置值,並將其分配給具有TOP范圍的功能。

注意:我目前是Apache UIMA項目的提交者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM