我在 OWL 本体中做一些 SWRL 规则,如下所示:
..., hasHazardCode(?a, H350) -> DangerousProduct(?a)
..., hasHazardCode(?a, H350i) -> DangerousProduct(?a)
..., hasHazardCode(?a, H400) -> DangerousProduct(?a)
..., hasHazardCode(?a, H401) -> DangerousProduct(?a)
......
H350
, H350i
,H400
和H401
是一些有名字的个体。正如我们所见,这些 SWRL 规则的模式是相似的。所以我认为也许我们可以只用一条规则替换这些规则,如下所示:
..., hasHazardCode(?a, {H350, H350i, H400, H401}) -> DangerousProduct(?a)
我在 Protege 的“规则”选项卡中尝试了这种语法,但没有奏效。SWRL 是否支持这样的单个枚举语句?