我建立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中比较它们?