以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  dig接口不支持中文??  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=24467)


--  作者:assise
--  发布时间:11/20/2005 3:36:00 PM

--  dig接口不支持中文??
我使用Dig接口与Racer在eclipse上进行推理:
在本体里,我用中文表示class和property时推理正确;但是用中文表示individual时,就报错,好像是dig的错误,请问那位高手知道怎么回事,可以如何修改才能支持中文呢?

错误如下:
[Fatal Error] :8:357: Invalid byte 1 of 1-byte UTF-8 sequence.
org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.
 at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
 at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
 at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:76)
 at com.hp.hpl.jena.reasoner.dig.DIGConnection.getDigResponse(DIGConnection.java:335)
 at com.hp.hpl.jena.reasoner.dig.DIGConnection.sendDigVerb(DIGConnection.java:134)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.collectNamedTerms(DIGAdapter.java:1372)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.getKnownIndividuals(DIGAdapter.java:1321)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.isIndividual(DIGAdapter.java:573)
 at com.hp.hpl.jena.reasoner.dig.DIGQueryRoleFillersTranslator.checkSubject(DIGQueryRoleFillersTranslator.java:109)
 at com.hp.hpl.jena.reasoner.dig.DIGQueryTranslator.checkTriple(DIGQueryTranslator.java:184)
 at com.hp.hpl.jena.reasoner.dig.DIGQueryTranslator.trigger(DIGQueryTranslator.java:167)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.getQueryTranslator(DIGAdapter.java:466)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.find(DIGAdapter.java:397)
 at com.hp.hpl.jena.reasoner.dig.DIGInfGraph.findWithContinuation(DIGInfGraph.java:130)
 at com.hp.hpl.jena.reasoner.BaseInfGraph.graphBaseFind(BaseInfGraph.java:333)
 at com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:241)
 at com.hp.hpl.jena.rdf.model.impl.ModelCom.listStatements(ModelCom.java:364)
 at com.hp.hpl.jena.rdf.model.impl.ModelCom.listStatements(ModelCom.java:369)
 at com.hp.hpl.jena.rdf.model.impl.ResourceImpl.listProperties(ResourceImpl.java:148)
 at reasoner.main(reasoner.java:101)
com.hp.hpl.jena.reasoner.dig.DIGWrappedException: DIG wrapped exception: Invalid byte 1 of 1-byte UTF-8 sequence.
 at com.hp.hpl.jena.reasoner.dig.DIGConnection.getDigResponse(DIGConnection.java:339)
 at com.hp.hpl.jena.reasoner.dig.DIGConnection.sendDigVerb(DIGConnection.java:134)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.collectNamedTerms(DIGAdapter.java:1372)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.getKnownIndividuals(DIGAdapter.java:1321)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.isIndividual(DIGAdapter.java:573)
 at com.hp.hpl.jena.reasoner.dig.DIGQueryRoleFillersTranslator.checkSubject(DIGQueryRoleFillersTranslator.java:109)
 at com.hp.hpl.jena.reasoner.dig.DIGQueryTranslator.checkTriple(DIGQueryTranslator.java:184)
 at com.hp.hpl.jena.reasoner.dig.DIGQueryTranslator.trigger(DIGQueryTranslator.java:167)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.getQueryTranslator(DIGAdapter.java:466)
 at com.hp.hpl.jena.reasoner.dig.DIGAdapter.find(DIGAdapter.java:397)
 at com.hp.hpl.jena.reasoner.dig.DIGInfGraph.findWithContinuation(DIGInfGraph.java:130)
 at com.hp.hpl.jena.reasoner.BaseInfGraph.graphBaseFind(BaseInfGraph.java:333)
 at com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:241)
 at com.hp.hpl.jena.rdf.model.impl.ModelCom.listStatements(ModelCom.java:364)
 at com.hp.hpl.jena.rdf.model.impl.ModelCom.listStatements(ModelCom.java:369)
 at com.hp.hpl.jena.rdf.model.impl.ResourceImpl.listProperties(ResourceImpl.java:148)
 at reasoner.main(reasoner.java:101)
Exception in thread "main"


--  作者:iamwym
--  发布时间:11/20/2005 5:53:00 PM

--  
dig和rdf之类的标准就是只是支持Unicode而已。。。
--  作者:assise
--  发布时间:11/20/2005 6:46:00 PM

--  
那我如果想用推理的话,本体就必须用英文?
这样在实际使用中太麻烦了啊
--  作者:jpz6311whu
--  发布时间:11/20/2005 6:53:00 PM

--  
我没有用过Racer,本没什么发言权。
如果Racer支持Unicode,那么肯定支持中文,因为Unicode支持中文,而且你也说了“中文表示class和property时推理正确”。
如果individual和class不是在同一个文件,可以检查一下individual所在文件的编码格式。
--  作者:iamwym
--  发布时间:11/20/2005 7:18:00 PM

--  
Invalid byte 1 of 1-byte UTF-8 sequence.
这里的问题就是楼主使用的串中存在并不是UTF 8的字符串,UTF 8支持所有中文或者是全角?
总之楼主可以尝试英文,如果能通过,那就是中文的问题。
另外,我觉得既然做科研,就用英语吧……中文化还是让业界去考虑的好。
--  作者:kiki_bb
--  发布时间:11/20/2005 7:20:00 PM

--  
我有同样的问题,individual和class是在同一个文件,也是这样的,只要实例里面有中文就出错了
--  作者:assise
--  发布时间:11/20/2005 7:32:00 PM

--  
以下是引用jpz6311whu在2005-11-20 18:53:00的发言:
我没有用过Racer,本没什么发言权。
如果Racer支持Unicode,那么肯定支持中文,因为Unicode支持中文,而且你也说了“中文表示class和property时推理正确”。
如果individual和class不是在同一个文件,可以检查一下individual所在文件的编码格式。

individual和class 是在同一个owl文件里的,编码格式并没有什么不同。

我有看过Dig接口的文档,与推理机进行相互时Dig使用的是XML语言,我曾经用过一点XML,有种编码格式是不支持中文的,所以我在猜是不是Dig接口的问题,即在推理机返回推理结果时调用Dig的tell方法,而返回结果也是XML格式的,所以不支持中文。

不知我这样想的对不对,如果对的话有没有办法使之支持中文?


--  作者:assise
--  发布时间:11/20/2005 7:36:00 PM

--  
以下是引用iamwym在2005-11-20 19:18:00的发言:
Invalid byte 1 of 1-byte UTF-8 sequence.
这里的问题就是楼主使用的串中存在并不是UTF 8的字符串,UTF 8支持所有中文或者是全角?
总之楼主可以尝试英文,如果能通过,那就是中文的问题。
另外,我觉得既然做科研,就用英语吧……中文化还是让业界去考虑的好。

用英文的话完全正确的
可是老师需要的是中文本体,这样方便以后的处理,因为在以后的开发中要使用中文进行查询获取结果的,如果individual不是中文,那用户如何获取知识呢;或者需要一个转换方法,将结果的英文转换成中文?


--  作者:jpz6311whu
--  发布时间:11/20/2005 7:38:00 PM

--  
斑竹说的很对:
“Invalid byte 1 of 1-byte UTF-8 sequence.
这里的问题就是楼主使用的串中存在并不是UTF 8的字符串,UTF 8支持所有中文或者是全角?
总之楼主可以尝试英文,如果能通过,那就是中文的问题。”
仔细检查一下中文吧,最好能发现是xml的哪一句出错了。
--  作者:iamwym
--  发布时间:11/20/2005 11:19:00 PM

--  
因为大家在科研工作中遇到的一些专业词汇很可能比较复杂,比如说一些生物和化学名词,是不是有这样一个字,并不属于UTF8,但是属于UTF16或者32呢,而XML,RDF支持的都是UTF 8,所以产生了这个问题。

我认为这个问题有可能又会成为一个中文应用的一个瓶颈……外部翻译的话,也不是没有可能,但是只能适用于名词的翻译吧,类似于google language tools这样一个引擎。会很复杂,而且不实用。总之这个问题无法被西方世界重视的,要靠自己了。


--  作者:assise
--  发布时间:11/21/2005 9:02:00 AM

--  
如果楼上说的是对的话,那岂不是很惨!?

我并没有用到什么专业词汇,我现在只是用很简单的例子去测试,比如我创建的本体是关于家庭的,A-haschild-B,B-haschild-C,同时定义haschild SameAS hasdescendant,并且可以传递的transitive,我需要推理出A的后代是B和C,当我把属性haschild改成“孩子”或“后代”时,用Dig接口没有错误,但是我把B命名为中文"小刚",这样就会有上面的错误。


--  作者:ssbs2004
--  发布时间:11/25/2008 5:28:00 PM

--  
如果在实际中怎么可能不用到中文呢,你英文再好,你主要也是国内应用嘛。
我也遇到这样的问题,正郁闷中。
--  作者:2010JLJ
--  发布时间:9/14/2011 9:18:00 AM

--  求代码
楼主能否把你用dig接口连接racer的代码发下给我参考参考呢,初学,基本什么都不会,谢谢喽
--  作者:2010JLJ
--  发布时间:9/14/2011 9:22:00 AM

--  
偶的邮箱(忘附了):jiliujing@126.com,3Q
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
70.313ms