将一个特征从一个注释复制到另一个
Copy one Feature from one Annotation to another
我有以下场景:
我已经根据之前在管道中执行的模块创建了注释:
NormalizedNamedEntity{REGEXP(NormalizedNamedEntity.concept.identifier,"[A-Z0-9]{7}@XXX") -> CREATE(GLATC, "key" = NormalizedNamedEntity.concept.identifier)};
哪个工作得很好。
Medication:GLATC xmi:id="35535" sofa="16776" begin="1684" end="1693"
key="N06AA05@XXX"
我继续制作注释。
Medication:MMedikation xmi:id="40516" sofa="16776" begin="1684"
end="1693" MNAME="35339"
现在我想从 GLATC 注释中获取特征 "key" 作为 MMedikation 注释中的特征 "ATC"。
这是我到目前为止尝试过的:
MMedikation{CONTAINS(GLATC)} -> {MMedikation{ -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};};
MMedikation{PARTOF(GLATC)} -> {MMedikation{ -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};};
无果。
Ruta 没有任何问题 'understanding' 这两个规则。
我试过看看第一部分是否有效:
MMedikation{CONTAINS(GLATC) -> MARK(MNAME)};
只要 MMedikation 包含 GLATC,就会正确标记 MNAME 注释。
我已经看到此规则仅在第一个“->”之前没有括号时才有效,但将此应用于上面的较长规则:
MMedikation{CONTAINS(GLATC) -> MMedikation{-> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};
或
MMedikation{CONTAINS(GLATC) -> MMedikation{-> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};};
只是产生这个错误:
Error in Ruta3878238602695220973, line 192, "{": expected RCURLY, but
found LCURLY
如有任何帮助,我们将不胜感激。
谢谢,
K
看来我的思路有误
我从工作位建立规则
MMedikation{CONTAINS(GLATC) -> SETFEATURE("ATC", temp)}
并将规则添加到此规则:
MMedikation{CONTAINS(GLATC) -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};
现在有效。
耶。
对正确答案的补充。
规则
MMedikation{CONTAINS(GLATC) -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};
可以写成
m:MMedikation{-> m.ATC = g.key} <- {g:GLATC;};
我有以下场景:
我已经根据之前在管道中执行的模块创建了注释:
NormalizedNamedEntity{REGEXP(NormalizedNamedEntity.concept.identifier,"[A-Z0-9]{7}@XXX") -> CREATE(GLATC, "key" = NormalizedNamedEntity.concept.identifier)};
哪个工作得很好。
Medication:GLATC xmi:id="35535" sofa="16776" begin="1684" end="1693" key="N06AA05@XXX"
我继续制作注释。
Medication:MMedikation xmi:id="40516" sofa="16776" begin="1684" end="1693" MNAME="35339"
现在我想从 GLATC 注释中获取特征 "key" 作为 MMedikation 注释中的特征 "ATC"。 这是我到目前为止尝试过的:
MMedikation{CONTAINS(GLATC)} -> {MMedikation{ -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};};
MMedikation{PARTOF(GLATC)} -> {MMedikation{ -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};};
无果。
Ruta 没有任何问题 'understanding' 这两个规则。
我试过看看第一部分是否有效:
MMedikation{CONTAINS(GLATC) -> MARK(MNAME)};
只要 MMedikation 包含 GLATC,就会正确标记 MNAME 注释。 我已经看到此规则仅在第一个“->”之前没有括号时才有效,但将此应用于上面的较长规则:
MMedikation{CONTAINS(GLATC) -> MMedikation{-> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};
或
MMedikation{CONTAINS(GLATC) -> MMedikation{-> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};};
只是产生这个错误:
Error in Ruta3878238602695220973, line 192, "{": expected RCURLY, but found LCURLY
如有任何帮助,我们将不胜感激。
谢谢, K
看来我的思路有误
我从工作位建立规则
MMedikation{CONTAINS(GLATC) -> SETFEATURE("ATC", temp)}
并将规则添加到此规则:
MMedikation{CONTAINS(GLATC) -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};
现在有效。 耶。
对正确答案的补充。
规则
MMedikation{CONTAINS(GLATC) -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};
可以写成
m:MMedikation{-> m.ATC = g.key} <- {g:GLATC;};