品尝SPARQL系列之一 SPARQL over HTTP/SOAP -- Joseki引擎的配置和示例程序
通过互联网了解到,HP的Joseki在其CVS版本中已经有了SPARQL over SOAP的初步实现,据jena的maillist上说,是旧的wsdl版本,不知道在.net平台上该使用哪个版本调用,另外,还有一些关于RDF图的反序列化任务,总之可能会比较繁琐。不过,先不管它,第一步是先在Joseki上测试现有的soap实现。
昨天忙乎了一天,其配置过程如下:
环境:Windows server 2003,
编程环境:Eclips 3.1, TortoiseCVS
时间:2006-10-12
测试SPARQL over HTTP
1, 使用TortoiseCVS,Checkout..出最新版本的Joseki
CVSROOT :pserver:anonymous@joseki.cvs.sourceforge.net:/cvsroot/joseki
Module: Joseki3
2, 使用Eclips , Import进Joseki项目,有\classes目录生成;
3, 为了方便支持命令行执行, 设置环境变量和编写脚本以设置正确的java classpath
JOSEKIROOT
%Path%=%Path%; %JOSEKIROOT%/lib; %JOSEKIROOT%/bin
编写脚本,使得Classpath中包括所有/lib和/lib2中的jar文件,以及/classes目录。
4,在eclipse中或者在命令行java joseki.rdfserver,然后在浏览器中打开
http://localhost:2020/,执行几种查询,得到正确结果,测试完毕。
5, 在程序中编写SPARQL over HTTP请求程序,得到正确结果,测试完毕:
打开HttpURLConnection,使用GET方法请求返回值。
url = new URL(urlStr);
url_con= (HttpURLConnection)url.openConnection();
url_con.setDoOutput(true);
url_con.setRequestMethod("GET");
测试 SPARQL over SOAP
1, 有几个地方需要修改一下
A. Src-dev/dev/RunClient.java中的
QueryExecution qexec = new QueryEngineSOAP(endpointSOAP,queryStr ) ;
从CVS版本中这两个参数填反了,折腾了很久才发现是这么个bug
B. 在Joseki的配置文件joseki-config.ttl中增加一段对sparql-query的服务配置:
[]
rdf:type joseki:Service ;
rdfs:label "SPARQL/SOAP testing" ;
joseki:serviceRef "sparql-query" ;
joseki:dataset _:books ;
joseki:processor joseki:ProcessorSPARQL_FixedDS ;
.
2, 编写axispath, axisclient, 和axisserver脚本,(放在soap目录中)
3, 设置正确的java classpath
4, 启动axisserver:
Java org.apache.axis.transport.http.SimpleAxisServer –p 2525
或者利用/src-dev/dev/中的AxisServer程序:
Java dev.AxisServer
启动joseki server:
Java joseki.rdfserver或者java dev.RunServer
启动 axis client,查看axis上的配置,部署相应的服务,最后用于关闭axis server
Java org.apache.axis.client.AdminClient –p 2525 deploy.wsdd
-p 2525 quit
4, java dev.RunClient,查看输出结果是否正确
posted on 2006-10-13 10:22 Jacquette.wang 阅读(2443) 评论(1) 编辑 收藏 举报