让我们说有一个课程" Food"包含个人" Grain"和#34;水果" 。
如果我想选择Grain我可以为个人分配food_type
数据属性
(class) Food
(ind_1) Grain food_type ---> "grain_food"
(ind_2) Fruit food_type ---> "fruit_food"
并运行此代码:
Food(?x) ^ food_type(?x,"grain_food") -> sqwrl:select(?x)
但如果我想做这项工作(选择Grain
个人)而不需要food_type
属性怎么办?是否可以直接指向特定的个人名称?
答案 0 :(得分:3)
您所询问的内容并不完全清楚,但是,您可以在SWRL规则中使用个人。例如,如果你有一个 c 的个人 c ,你可以这样做:
C(c)⟶sqwrl:选择(c)
只要 sqwrl:select 不一定需要变量(即,只要它可以直接接受个人),这应该没问题。如果它需要一个变量,而不是一个直接的个体(我认为这会违背意图),我想你可以使用某种等式谓词,比如swrbl:equal:
swrlb:equal(c,?x)⟶sqwrl:select(?x)