以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Semantic Web(语义Web)/描述逻辑/本体 』 (http://bbs.xml.org.cn/list.asp?boardid=2) ---- 关于在sparql中使用参数和中文检索词的问题 (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=68233) |
-- 作者:mailywxl -- 发布时间:10/14/2008 8:57:00 AM -- 关于在sparql中使用参数和中文检索词的问题 在很多时候sparql检索式中需要使用用户输入的参数,这个参数很可能是中文的,需要如何表达呢?下面这个表达式需要检索检索课程编译原理的后继课程 比如 public class Test1{ public static void main(String args[]){ try { OntModel m = ModelFactory.createOntologyModel(); File file = new File("d:\\zhouyu.owl"); FileInputStream in = new FileInputStream(file); m.read(in,null); String queryString="PREFIX zyzy:<http://www.swust.edu.cn/tsg/zhouyu.owl#> "+ "select ?name1 ?course2 "+ "where {?course1 zyzy:name \"编译原理\"; zyzy:aftercourse ?course2.?course2 zyzy:name ?name1}"; Query query = QueryFactory.create(queryString); QueryExecution qe = QueryExecutionFactory.create(query,m); ResultSet results = qe.execSelect(); while(results.next()!=null){ QuerySolution solu1=results.nextSolution(); Literal temp00=solu1.getLiteral("name1"); System.out.println(temp00.toString()); } }catch(Exception e){e.printStackTrace();} } } |
-- 作者:iamwym -- 发布时间:10/14/2008 1:07:00 PM -- 我建议中文本体在class name仍然使用英文,在label或者decription使用中文,我怀疑在sparql中使用中文很可能存在麻烦的编码问题 |
-- 作者:mailywxl -- 发布时间:10/14/2008 2:25:00 PM -- 对,我是按照这样的方式选择使用中英文的,但是用户输入的检索词是中文(不可能要求其输英文),然后检索词传递到业务逻辑中进行检索,始终要进入匹配环节. |
-- 作者:mailywxl -- 发布时间:10/17/2008 11:18:00 AM -- 好了,经过我的研究,现在一切问题都解决了,SPARAL已经可以像SQL一样随意的传递参数了,具体代码如下:关键是在querystring和变量赋值的时候做了点手脚 package zhouyu;
import java.io.*; import com.hp.hpl.jena.reasoner.*; import com.hp.hpl.jena.query.*; import com.hp.hpl.jena.reasoner.rulesys.*; import com.hp.hpl.jena.ontology.*; import com.hp.hpl.jena.rdf.model.*; public class Test1{ |
-- 作者:mailywxl -- 发布时间:10/17/2008 11:23:00 AM -- 如果还不满足,可以考虑用下面的代码: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package zhouyu;
import java.io.*; import com.hp.hpl.jena.reasoner.*; import com.hp.hpl.jena.query.*; import com.hp.hpl.jena.reasoner.rulesys.*; import com.hp.hpl.jena.ontology.*; import com.hp.hpl.jena.rdf.model.*; public class Test1{ |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.500ms |