2016-08-08 45 views
1

Lässt sagen, es gibt eine Klasse "Food" mit Individuen "Grain" und "Fruit". Wenn ich Grain auswählen mag, kann ich ein food_type Daten Eigentum an EinzelpersonenSWRL: Beschränke eine Regel auf eine bestimmte Person

(class) Food 
    (ind_1) Grain food_type ---> "grain_food" 
    (ind_2) Fruit food_type ---> "fruit_food" 

zuweisen und diesen Code ausführen:

Food(?x)^food_type(?x,"grain_food") -> sqwrl:select(?x) 

aber was, wenn ich diesen Job machen will (Grain individuelle Auswahl) ohne die Notwendigkeit zu food_type Eigentum? Ist es möglich, direkt auf einen bestimmten Menschen zu verweisen?

Antwort

3

Es ist nicht genau klar, was Sie fragen, aber ja, Sie können eine Person in einer SWRL-Regel verwenden. Zum Beispiel, wenn Sie einen individuellen c von Klasse C haben, können Sie tun:

        C (c) & Longrightarrow; sqwrl: select (c)

Solange sqwrl: select nicht unbedingt eine Variable erfordert (d. h. solange sie eine Person direkt akzeptieren kann), sollte dies in Ordnung sein. Wenn es eine Variable erfordert, direkt an eine natürliche Person im Gegensatz (die sich gegen die Absicht gehen würde, glaube ich), ich denke, Sie irgendeine Art von Gleichheitsprädikat verwenden könnte, wie swrbl:equal:

        swrlb: gleich (c,? x) & longrightarrow; sqwrl: select (? x)

+0

'sqwrl: select' ist ein integriertes Prädikat der SWRL-Anfragesprache SQWRL – AKSW

+0

@AKSW Entsprechend aktualisiert. –