RDF-3X的使用

从gitHub上下载rdf-3x(基于ubuntu操作)

git clone https://github.com/YeXiaoRain/rdf3x-0.3.8.git
进入根目录后,调出命令行:执行make操作,对程序进行编译
加载数据,编译成功后bin文件夹下会生成可执行文件。首先对数据进行加载

./rdf3xload lubm lubm.nt
其中第一个为调用的操作命令,第二个参数是生成数据库名字,第三个为原始数据文件(路径+文件名)。

对数据进行查询,使用标准的spaRql语句

使用以下命令调出查询接口仍然在输入行输入语句,第二个参数为刚才构建的数据库

./rdf3xquery lubm

命令行出现">"标识后输入查询语句
注意查询语句的书写

  • 查询变量之间用空格分开,不使用逗号
  • 花括号开始和结尾要空格
  • 每一条语句结束紧跟.
  • 每一条语句空格即可
    LUBM查询2书写示例:
    即一行写完。
SELECT ?X ?Y ?Z WHERE { ?X <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#GraduateStudent>. ?Y <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#University>. ?Z <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#Department>. ?X <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#memberOf> ?Z. ?Z <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#subOrganizationOf> ?Y. ?X <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#undergraduateDegreeFrom> ?Y }

获得RDF查询时间

这个问题困扰了我好久,我们知道在linux终端下可以使用time()函数可以获得程序的执行时间。但是按照上面那种先载入数据库,再分别查询。则无法使用time()函数。
终端使用命令rdf3xquery dataDB query.sparql即可查询即

time(./rdf3xquery lubm100 query1.sparql)

我真的服了这个,连个说明文档都没有,让我搞了好久。
time输出的三个参数:

  • Real 是时钟时间-程序从开始至结束的总时间。他包括期间其他进程所占用的时间片和进程被阻塞的时间(如IO等待的时间)
  • User 被测试程序在用户模式下所花的CPU时间。他是进程执行的正真的CPU时间。其他进程调度的时间片以及阻塞(如IO)的时间不包含在内。
  • Sys 是进程在内核中所花费的CPU时间。他表示进程在内核调用中所花的CPU时间,而程序的库调用仍然运行在用户空间下。
    所以测试时间为Real的时间。

最后我发了邮件问了作者

他的建议是:


Having said that you can use the evalsparql program instead of
rdf3xquery. (It is not build by default, but you can make it with "make
bin/evalsparql"). It outputs more information, including the execution
time. Which might be easier and more precise than trying to measure this in the shell
  1. make bin/evalsparql
  2. bin/evalsparql dbName query.sparql
    这个输出只有查询时间而没有查询个数,其中输出时间包括I/O时间,即输出到屏幕或者文件.
    有一些查询系统的输出时间是不包含I/O的,如gStore。
    若想只计算匹配时间,而不包括I/O时间,则使用命令,加上–silent即可
bin/evalsparql   dbName query.sparql --silent

参考:[1]:
[1]https://github.com/YeXiaoRain/rdf3x-0.3.8

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值