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\]的内容,要在Neo4j 4.2版本中导入RDF数据,你需要执行以下步骤: 1. 下载并复制neosemantics的jar包到Neo4j的plugins目录下。确保所下载的jar包与你使用的Neo4j版本相匹配。你可以在https://github.com/neo4j-labs/neosemantics 找到neosemantics的jar包。 2. 修改Neo4j的配置文件。对于Neo4j 4.x版本,你需要按照官方文档的指导进行配置。具体的配置步骤可以在Neo4j官方文档中找到。 3. 参考官方文档和引用\[3\]中的内容,使用Neo4j Desktop导入RDF数据。首先,安装Neosemantics (n10s)插件。然后,打开Neo4j Browser,创建约束和初始化图形配置。最后,可以预览和导入数据。 请注意,具体的操作步骤可能会因为Neo4j版本的不同而有所差异,建议你参考官方文档和相关资料进行操作。 #### 引用[.reference_title] - *1* *2* [neosemantics (n10s):Neo4j RDF & Semantics toolkit【将ttl/owl/RDF文件导入neo4j】【neo4j3.X版本与neo4j4.X有区别】](https://blog.csdn.net/u013250861/article/details/124478780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Neo4j Desktop 导入RDF](https://blog.csdn.net/southerndog/article/details/124775970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值