以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Semantic Web(语义Web)/描述逻辑/本体 』 (http://bbs.xml.org.cn/list.asp?boardid=2) ---- jena加载含中文的本体文件乱码问题的一个解决办法 (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=33181) |
-- 作者:jiexincao -- 发布时间:5/27/2006 9:46:00 PM -- jena加载含中文的本体文件乱码问题的一个解决办法 以前一直有人问jena读入本体的乱码问题,似乎版上还没有明确的写出解决方法。下面是我解决这个问题的代码片断: FileInputStream file = new FileInputStream("test.owl"); 究其原因应该是文件中的编码为unicode,java默认的编码是gb2312(当然是指我们的简体中文版操作系统),所以读入文件的时候指定编码就可以了。 另外一种解决方法是在protege的菜单code中选择show RDF/OWL source code,然后把这些code贴到一个文件(test.owl)中,然后使用一般的方法就可以读了,示例代码如下: BufferedReader in=new BufferedReader(new FileReader("test.owl")); 不过这个方法有点“丑陋”——汉字在文件中全部变成其对应的unicode编码,只能通过程序读了。所以建议直接使用上面一种。 如果有其他什么解决方法,建议大家也贴上来。
|
-- 作者:badguy_tj -- 发布时间:5/28/2006 9:48:00 AM -- 顶 |
-- 作者:happy++ -- 发布时间:5/28/2006 12:03:00 PM -- 支持 |
-- 作者:wyf_aaa -- 发布时间:5/28/2006 3:00:00 PM -- 不错! |
-- 作者:Green_blue -- 发布时间:6/15/2006 8:58:00 PM -- 我用了你的第一个方法怎么不啊, 还是有错误, 操作系统是windows Server 2003,开发环境是Eclipse,是什么原因? |
-- 作者:Green_blue -- 发布时间:6/15/2006 9:01:00 PM -- 出现的错误: WARN [main] (RDFDefaultErrorHandler.java:36) - file:///F:/yyx/%E7%A8%8B%E5%BA%8F/mddm_rdfstore_db/(line 7 column 43): {W124} Non-ascii characters in a namespace URI may not be completely portable: <http://example.org/schemas/tongxin/schemas/???#>. Resulting RDF URI references are legal. WARN [main] (RDFDefaultErrorHandler.java:36) - file:///F:/yyx/%E7%A8%8B%E5%BA%8F/mddm_rdfstore_db/(line 7 column 43): {W124} Non-ascii characters in a namespace URI may not be completely portable: <http://example.org/schemas/tongxin/schemas/???#>. Resulting RDF URI references are legal. ERROR [main] (RDFDefaultErrorHandler.java:40) - file:///F:/yyx/%E7%A8%8B%E5%BA%8F/mddm_rdfstore_db/(line 9 column 40): {E201} rdf:resource not allowed as attribute here. ERROR [main] (RDFDefaultErrorHandler.java:40) - file:///F:/yyx/%E7%A8%8B%E5%BA%8F/mddm_rdfstore_db/(line 15 column 42): {E201} rdf:resource not allowed as attribute here. ERROR [main] (RDFDefaultErrorHandler.java:40) - file:///F:/yyx/%E7%A8%8B%E5%BA%8F/mddm_rdfstore_db/(line 21 column 46): {E201} rdf:resource not allowed as attribute here. ERROR [main] (RDFDefaultErrorHandler.java:40) - file:///F:/yyx/%E7%A8%8B%E5%BA%8F/mddm_rdfstore_db/(line 27 column 44): {E201} rdf:resource not allowed as attribute here. ERROR [main] (RDFDefaultErrorHandler.java:44) - file:///F:/yyx/%E7%A8%8B%E5%BA%8F/mddm_rdfstore_db/(line 30 column 95): An invalid XML character (Unicode: 0xde64) was found in the element content of the document. Exception: com.hp.hpl.jena.shared.JenaException: rethrew: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xde64) was found in the element content of the document. org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xde64) was found in the element content of the document. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.parse(RDFXMLParser.java:106) at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:197) at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:184) at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:222) at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:187) at com.mddm_rdfstore_db.store.RDFStore1.parser(RDFStore1.java:103) at com.mddm_rdfstore_db.store.RDFStore1.main(RDFStore1.java:489) com.hp.hpl.jena.shared.JenaException: rethrew: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xde64) was found in the element content of the document. at com.hp.hpl.jena.rdf.model.impl.RDFDefaultErrorHandler.fatalError(RDFDefaultErrorHandler.java:45) at com.hp.hpl.jena.rdf.arp.impl.ARPSaxErrorHandler.fatalError(ARPSaxErrorHandler.java:35) at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.warning(XMLHandler.java:212) at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.fatalError(XMLHandler.java:239) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.parse(RDFXMLParser.java:106) at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:197) at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:184) at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:222) at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:187) at com.mddm_rdfstore_db.store.RDFStore1.parser(RDFStore1.java:103) at com.mddm_rdfstore_db.store.RDFStore1.main(RDFStore1.java:489) Caused by: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xde64) was found in the element content of the document. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) ... 17 more |
-- 作者:homkee -- 发布时间:6/15/2006 10:24:00 PM --
|
-- 作者:jiexincao -- 发布时间:6/15/2006 10:52:00 PM -- to 5楼,你说的问题我也不是很清楚,要不你把你的owl文件贴上来,我来试试能不能找到出问题的地方 |
-- 作者:Green_blue -- 发布时间:6/18/2006 9:46:00 AM -- 我解析的是RDF文件: <?xml version="1.0"?> <rdf:Description rdf:resource="#自动化"> <rdf:Description rdf:resource="#办公自动化"> <rdf:Description rdf:resource="#情报处理自动化"> <rdf:Description rdf:resource="#图书馆自动化"> <rdf:Description rdf:resource="#业务管理自动化"> 能不能把你解析成功的OWL文件或者RDF文件给我传几个,我也试试, 我用的操作系统是windows server 2003,Eclipse3.1环境下开发,与这些有关系吗? |
-- 作者:jiexincao -- 发布时间:6/18/2006 10:43:00 PM -- 我把你的文件内容拷到文本文件中,保存之后编码问题解决了。 但仍然有提示信息: |
-- 作者:Green_blue -- 发布时间:6/19/2006 7:39:00 AM -- 只要解决编码问题就好办了,因为太长了,只是截了一部分,所以可能会出现警告错误,谢谢楼主了,你用的是你上面的那段代码吗?我是保存成 .rdf格式,保存成文本本件就可以吗? |
-- 作者:Green_blue -- 发布时间:6/21/2006 9:09:00 AM -- 楼主能不能给我发几个中文本体?yyxsj_2008@yahoo.com |
-- 作者:jiexincao -- 发布时间:6/21/2006 12:11:00 PM -- 就是那段代码。 我这里唯一的一个中文的本体里有一些数据不便公开,所以…… |
-- 作者:Green_blue -- 发布时间:6/22/2006 7:15:00 PM -- 哦,谢谢楼主了 |
-- 作者:fuyudong -- 发布时间:7/2/2006 4:48:00 PM -- 还没出过这个问题,呵呵! |
-- 作者:trustyou -- 发布时间:8/9/2006 11:43:00 AM -- 我想问问楼主,我想在Jena中写进中文,让它生成。rdf文档,但是输出的是乱码,请问怎么解决?代码如下: static Model model = ModelFactory.createDefaultModel(); static Resource 自主感知 = model.createResource(baseURI+"/自主感知#"). addProperty(DC.description,model.createResource().addProperty(Q,c)). addProperty(creator,"张三"). addProperty(createdata,"2006-02-20"); model.write(System.out,"RDF/XML-ABBREV"); 写出的中文字符是乱码,请帮帮我,谢谢。 |
-- 作者:w.g.xjtu -- 发布时间:8/22/2009 5:23:00 PM -- 求:Jena使用中文材料 请问楼主有Jena的中文使用手册或之类的材料可以分享一下吗? |
-- 作者:admin -- 发布时间:8/22/2009 10:05:00 PM --
这个没有 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
93.750ms |