首页 > 解决方案 > 将一个特征从一个注释复制到另一个

问题描述

我有以下场景:

我根据管道中先前执行的模块创建了注释:

NormalizedNamedEntity{REGEXP(NormalizedNamedEntity.concept.identifier,"[A-Z0-9]{7}@XXX") -> CREATE(GLATC, "key" = NormalizedNamedEntity.concept.identifier)};

哪个工作得很好。

药物:GLATC xmi:id="35535" sofa="16776" begin="1684" end="1693" key="N06AA05@XXX"

我继续制作注释。

药物:MMedikation xmi:id="40516" sofa="16776" begin="1684" end="1693" MNAME="35339"

现在我想从 GLATC 注释中获取功能“密钥”作为 MMedikation 注释中的功能“ATC”。这是我到目前为止所尝试的:

MMedikation{CONTAINS(GLATC)} -> {MMedikation{ -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};};
MMedikation{PARTOF(GLATC)} -> {MMedikation{ -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};};

无济于事。
鲁塔“理解”这两个规则没有任何问题。我试图看看第一部分是否有效:

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)};};};

只是产生这个错误:

Ruta3878238602695220973 中的错误,第 192 行,“{”:预期为 RCURLY,但找到了 LCURLY

任何帮助将不胜感激。

谢谢你,克

标签: uimaruta

解决方案


显然,我的思路出现了错误。

我从工作位建立规则

MMedikation{CONTAINS(GLATC) -> SETFEATURE("ATC", temp)}

并为此规则添加了规则:

MMedikation{CONTAINS(GLATC) -> SETFEATURE("ATC", temp)} <- {GLATC{ -> GETFEATURE("key", temp)};};

现在工作。耶。


推荐阅读