以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 Semantic Web(语义Web)/描述逻辑/本体 』 (http://bbs.xml.org.cn/list.asp?boardid=2) ---- [已解决]Protégé OWL中定义complimentOf (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=63004) |
-- 作者:justice360 -- 发布时间:5/23/2008 4:51:00 PM -- [已解决]Protégé OWL中定义complimentOf 我正在建一个医药本体,我想把Medicine分为HomemadeMedicine和ImportedMedicine两类 我现在是这样做的,两者均为Medicine的子类,我给前者设置了充要条件producedIn(ObjectProperty) has China(Individual),通过DIG接口使用pellet推理,可以infer出正确的结果,即所有producedIn属性值为China的Medicine都被infer为了HomemadeMedicine。但我在定义ImporterdMedicine时却遇到了问题:我给它定义的充要条件为not HomemadeMedicine,推理时报错,说是把某些Individual同时归入了某个类与其补集。而这些Individual甚至不是Medicine的实例。我去掉了所有class Disjoint,这时不会报错,但是推理以后得出了很多奇怪的类等价关系,也说不清楚,而且ImportedMedicine中也没有任何Inferred实例。于是我手写了OWL代码让ImportedMedicine的equivalentClass为Medicine和complimentOf HomemadeMedicine的交集,发现这等同于把原来的必要条件Medicine拖入充要条件。这时推理不报错,但是ImportedMedicine仍然没有任何Inferred实例。请教各位,不知道怎样利用补集进行推理。 [此贴子已经被作者于2008-5-27 16:16:04编辑过]
|
-- 作者:justice360 -- 发布时间:5/27/2008 4:13:00 PM -- 在maillist上得到了解答,果然我的理解还是不深呀。就我遇到的问题而言,后面reasoner没有推出任何实例属于ImportedMedicine是因为OWL的开放世界假设。我定义了not producedIn China的Medicine为ImportedMedicine,但是事实上我并没有显式地表述过某一种药只有一个产地,而且所有的Country实例都应该不同。于是基于OWA一个producedIn Germany的药也有可能是producedIn China的,于是即使是produceIn Germany,也不能推出它属于not producedIn China,也就是ImportedMedicine。 解决的方法是把producedIn定义为FunctionalProperty,再让所有的国家实例都互不相同。 希望能给一些初学者一些帮助,也对OWL有更深入的理解。 |
-- 作者:yangzeyuan -- 发布时间:7/13/2008 12:58:00 PM -- 顶 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
31.250ms |