分布式RDf查询的项目一步步进展。昨天折腾了一天RDF3x。
rdf3x是一个单机的rdf查询引擎https://code.google.com/p/rdf3x/,由德国mpii开发,可以在三元组上建立6个不同的索引,支持基本的sparql语法,使得rdf的查询非常快(当然是单机能够承受的数据量下)。
但是我的程序中需要用java连接rdf3x,尝试用一个进程来执行rdf3xquery、获取输入流,效果不理想。试了一下rdf3x自带的jdbc,比较好用,但是它会把查询的结果全部读到内存中,查询结果一大就会OutOfMemory。
于是自己动手修改了代码,修改的是Statement和ResultSet这两个类。
代码比较多就不在这贴了,很简单,就是不让程序把结果全部读到内存、而是逐条的顺序读(其实大多数我们也只需要顺序读),这样不仅不会内存不足,速度也提高了很多。
可以自己动手改,或者在这里下载:
http://download.csdn.net/detail/bhq2010/5218944
我下载积分不多了,所以设了10分,如果没有分的话,可以邮件和我联系bianhaoqiong@163.com