UIMA Ruta检查子注释的特征
是否有可能制定规则以匹配另一个注释的子级注释中的FEATURE值?UIMA Ruta检查子注释的特征
实施例:
注释人 注释医生 特征类型:XYZ
类似Person.Doctor {FEATURE( “类型”, “XYZ”)}
而且是有可能创建一个与PARTOF注释中的FEATURE相匹配的规则?
| ----------- A1 ------------ |
| ----- A2 ----- | | --- A3 ---- |
制定一条规则,其中
A3 {FEATURE( “X”, “1”)}也是A3 {PARTOF(A1)}
谢谢!
假设有一个类型Doctor
与其父类型,称为Person
其定义uima.cas.String
类型的功能kind
,可以简单的写:
Doctor.kind=="xyz";
Doctor{Doctor.kind=="xyz"};
d:Doctor{d.kind=="xyz"};
Doctor<-{Person.kind=="xyz";};
的label expressiond:
和inlined rule as condition的一些简短的说明(<-{}
)。标签表达式在规则的范围内引入了本地注释变量。在上面的示例中,d:Doctor
与类型Doctor
的注释匹配,并将其分配给名为d
的新变量。然后可以在规则的其他部分使用这些变量来引用这个特定的注释。在第二条规则中,不使用标签表达式,并且使用类型(Doctor.kind
)引用注释。这里,注释在匹配规则的情况下被重新解决,如果有几个类型为Doctor
的注释具有相同的偏移量,则可能导致不同的注释。 作为条件的内联规则作为复杂条件工作。规则元素Doctor
仅在规则Person.kind=="xyz";
能够在匹配的Doctor
注释的上下文/偏移/范围内匹配时才匹配。
关于问题的第二部分: 您无法直接访问在PARTOF条件中使用的注释,因为实际上没有使用任何注释。您需要在注释上进行匹配才能访问其功能。它取决于哪个注释包含哪个注释,以及应该为特征值检查哪个注释。下面是一些例子:
a:A3{PARTOF(A1),a.x==1};
A1.x=="1"{CONTAINS(A3)};
A1<-{a:A3{a.x=="1"};};
免责声明:我
非常感谢! –
Doctor
(https://slack-files.com/T2KSD2BS9-F64LWDFNU-63546b1582) 在这个例子中,我们需要一个规则来匹配Card类型的注释,该类型的CardType类型的子类具有key_CardType类型价值信用。 对此感到抱歉。 –
你是什么意思UIMA鲁塔开发商'是另一个Annotation'的孩子?它是覆盖的还是它的一个子类型?你能稍微扩展你的例子的描述吗? –
您不应该使用'type'作为特征的名称。 –
“这是覆盖或其子类型”两个! 问题的第一部分是如何检查子类型的特征。 问题的第二部分,用于检查注释是否覆盖具有特定功能的其他注释。 预先感谢您! –