本体(ontology)学习之我见——Jena规则编写——中文显示与owl:inverseOf推理结果不全

     本体建立以后,接下来就是考虑怎样去使用本体。之前已经说过,我的主要用途就是找出本体实例中的冲突(inconsistent)以及推导出新的关系,而这两者都要用到规则。笔者主要运用运用Jena提供的基于自定义规则的推理机来实现以上两点,当然你也可以使用Jena+pellet或是通过Jena的dig接口(是这样吧?意会)。

      因为添加到本体中的实例数据是中文,所以尝试新建localname为中文的资源,事实证明可以。然而在基于自己编的规则推理中文名称时,如:已知 张三 isFatherOf 李四 推出 李四 hasFather 张三,结果不成功,而英文名称就可以。查了一下Java api发现InputStreamReader(InputStream in, String charsetName)还有个字符集参数,加入“UTF-8"就可以了,代码:

FileInputStream file = new FileInputStream(owl_path);//owl_path当然是owl文件路径
InputStreamReader   in = new InputStreamReader(file, "UTF-8");//解决中文问题
 Model  model = ModelFactory.createDefaultModel();
 model.read(in, null);

      编写推理规则时,觉得对于逆属性(owl:inverse),知道其中一对就可以推出另一对,

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值