以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  protege三大本体可视化插件的中文显示问题解决思路  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=91607)


--  作者:skyflyshy
--  发布时间:7/5/2011 11:54:00 PM

--  protege三大本体可视化插件的中文显示问题解决思路
在2010年发表的《中文本体构建及可视化研究》论文中给出了在TGVizTab\OntovizOWLViz中的中文本题的显示问题的解决思路:中文问题源于UTF-8编码,而Protege支持UTF-8,则问题转化为其中文本体可视化问题的实质在于Java对
I/O流的编码处理,这个问题对解决中文显示问题有共性。但是没有找到具体修改编码代码的地方,希望大家能够一起讨论啊,也求高手解答。附上该论文。

--  作者:zhenzixiong
--  发布时间:7/27/2011 7:11:00 PM

--  
谢谢分享!
--  作者:landseer217
--  发布时间:7/28/2011 10:09:00 AM

--  
我找到了修改代码的地方,但修改过后编译不通过(貌似缺少一些代码中导入的java包,对Java不大熟),附上相关步骤,一起学习~
http://www.wretch.cc/blog/ahjet/24447258
--  作者:skyflyshy
--  发布时间:7/30/2011 11:16:00 PM

--  
以下是引用landseer217在2011-7-28 10:09:00的发言:
我找到了修改代码的地方,但修改过后编译不通过(貌似缺少一些代码中导入的java包,对Java不大熟),附上相关步骤,一起学习~
http://www.wretch.cc/blog/ahjet/24447258

您那个链接打不开呀? 我QQ:563316682,可以细聊哈!谢谢啦。或者您在帖子中给个更详细的截图之类的也行。^_^


--  作者:landseer217
--  发布时间:8/1/2011 4:39:00 PM

--  
晕,之前还能打开的,现在真打不开了...
他是以ontoviz插件为例的,大概步骤就是说:
先利用SVN把ontoviz-tab/trunk这下面的源代码下下来,然后修改OntovizTab.java中的代码,将
FileInputStream input = new FileInputStream(dotFile);
Parser graphParser = new Parser(input, System.err);
这两行替换为
InputStreamReader input = new InputStreamReader(new FileInputStream(dotFile), "UTF-8");
Parser graphParser = new Parser(input);
貌似还要确保ExportDot.java中void export(String fileName) 方法里的代码是与下面一致的,不一致的话改为下方的代码
pw = new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8");
然后保存,编译后重新打成Jar包,替换protege插件子目录的文件
--  作者:skyflyshy
--  发布时间:8/2/2011 4:18:00 PM

--  
以下是引用landseer217在2011-8-1 16:39:00的发言:
晕,之前还能打开的,现在真打不开了...
他是以ontoviz插件为例的,大概步骤就是说:
先利用SVN把ontoviz-tab/trunk这下面的源代码下下来,然后修改OntovizTab.java中的代码,将
FileInputStream input = new FileInputStream(dotFile);
Parser graphParser = new Parser(input, System.err);
这两行替换为
  InputStreamReader input = new InputStreamReader(new FileInputStream(dotFile), "UTF-8");
  Parser graphParser = new Parser(input);
貌似还要确保ExportDot.java中void export(String fileName) 方法里的代码是与下面一致的,不一致的话改为下方的代码
  pw = new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8");
然后保存,编译后重新打成Jar包,替换protege插件子目录的文件

您好!我按照您的方法svn Ontoviz源码后,分别按照您的介绍对OntovizTab.java中的字节流和字符流那部分代码进行了修改,其中Export.java默认的是pw = new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8");
然后,在MyEclipse中使用ant对该项目进行了重新编译(ant编译方法:http://mazhiyang88.blog.163.com/blog/static/297339320110104843857/),编译顺利通过,如下图所示。您提到的java包的问题是因为该项目调用了protégé中的protégé.jar包,只需要在环境变量中添加PROTÉGÉ_HOME环境变量即可,然后build.xml文件会自动寻找到该protégé.jar包。

使用protégé建立中文测试本体后,运行Ontoviz仍会报错(英文本体的话能顺利通过),错误信息如下所示。其中此前的“不能识别中文字符的错误”已经消除,提示OntivizTab.java的447行有问题:即graphParser.parse();此处有问题,该处正是在前面修改字符编码的位置。我觉得是对的呀? 还望给点意见啊??谢谢啦!

详细说明和对应的图请参见附件的文档!^_^


--  作者:landseer217
--  发布时间:8/3/2011 3:15:00 PM

--  
晕,为什么我编译替换过后,protege里找不到这个插件了......
--  作者:landseer217
--  发布时间:8/3/2011 3:41:00 PM

--  
估计是没编译好,重新编译了下,插件有了,但图显示不出来了,额,问题多多呀......呵呵~~
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
70.313ms