我建立3個班的本體值:門生使用SWRL:等於比較數據類型屬性的
- 消息
- 火腿
- 垃圾郵件
2 dataproperties,域名:消息和範圍xsd:string:
- hasInterest 個
- hasCategory
2 SWRL規則: 消息(X?),hasInterest,hasCategory,SWRL:等於 - (X,A?)(X,B?)(A,B?) >火腿(X?)
消息,hasInterest,hasCategory,SWRL(X +)(X,A?)(X,b?):(?A b)notEqual - >垃圾郵件(?x)的
我想將class Message的實例分類爲Spam或Ham類;如果hasCategory值(信息類)等於hasInterest值(用戶利益)則消息是火腿其他垃圾
此工作正常如果我有1個消息類別和1個興趣 例如: M1 hasInterests體育 M1 hasCategory體育
那麼,如果我有iterests或類別的前一個列表: 每條信息都有超過1個利益{體育,電影} 每條信息都有超過1類{電影,政治}
我想要說如果兩個列表相交則消息是h我是如此swrl:平等不起作用我怎麼能定義它來比較所有的個人
我所做的是重複hasInterests和hasCategory取決於個人值我的意思是手動定義列表和它的工作,是否有另一個自動方式使用字符串列表以及如何在swrl中比較它們?