jena 查询 java_Jena搭建SPARQL查询RDF数据

1 Jena搭建SPARQL查询RDF数据

1.1 Jena概要

· SPARQL是W3C的RDF数据工作组设计的一种查询语言和协议,用于RDF数据的查询。经过类似于JDK安装时候的配置,可以在命令行运行SPARQL查询,也可以在安装了Jena API之后,在Java程序用使用SPARQL查询。

1.2 Jena环境搭建

· 可以从http://jena.sourceforge.net免费获得Jena的最新版本,或者直接从本站下载:jena-2.6.4.zip。

· 将下载好的jena解压到摸个目录,如C:\soft\develop\jena

· 添加环境变量,鼠标右键单击【我的电脑】-【属性】-【高级】-【环境变量】

■ 添加JDK系统变量PATH -> 值C:\Program Files (x86)\Java\jdk1.7.0_21\bin

■ 添加Jena系统变量PATH -> 值C:\soft\develop\jena\bat

■ 添加Jena根目录JENAROOT ->C:\soft\develop\jena

· 如何上面没执行错误的话,在命令行执行sparql会返回

No query string or query file

如果执行sparql –h(或者sparql –help)就会返回命令sparql的帮助信息。

1.3 执行一个简单的查询

· SPARQL查询语句的执行格式是:

sparql --data= --query=

file是要查询的数据源,RDF文件或者RDF图文件;

query是查询语句文件,以.rq为文件后缀。

· 数据源,一个RDF文件r1.rdf,文档描述一些简单的人名信息,下面是类似三元组形式的数据表示。

xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#">

Matt Jones

Jones

Matthew

Becky Smith

Smith

Rebecca

John Smith

Smith

Jones

Sarah Jones

Jones

Sarah

· 查询语句q1.rq

SELECT ?x

WHERE { ?x    "John Smith" }

· 使用上面的查询语句查询r1.rdf文件中的数据的命令行语句就是

sparql --data=r1.rdf --query=q1.rq

返回结果是:

---------------------------------

| x                             |

=================================

|  |

---------------------------------

· 在执行上面的查询时,要保证数据文件和查询文件在当前目录下,否则命令中应该包括完整路径,即:

sparql --data=c:\sparql\r1.rdf --query=c:\sparql\q1.rq

2 对查询语句和查询结果的理解

· 查询语句包括查询信息的名称以及名称应该符合的条件。条件子句以三元组形式出现,按照的顺序排列。查询条件也成为一个模式(Pattern)。查询的结果实际就是条件三元组与数据文件(或RDF图)中RDF三元组匹配的结果。

· 语句中的 ? 加一个字母表示该字母是一个变量,比如 ?x,在SELECT后面的变量会显示在查询结果中,作为列名称出现。

· 实际上,做到这一步之后,所有的事情只是修改模式,给模式添加一些条件了,非常简单。

2.1 命名空间的简写替代

· 如果查询所有具有名字的实例以及该实例的名字,那么查询语句如下

SELECT ?x ?fname

WHERE {?x    ?fname}

· 注意,“?x ?fname”之间是空格,不是逗号。如果有多个模式三元组,那么三元组之间用点号“.”隔开

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值