1.配置JDK环境变量(win10)
打开控制面板——系统与安全——系统——高级系统设置
①新建一个名为“JAVA_HOME”的环境变量,变量值为Java的安装路径。如E:\JDK-8u152
②Path路径中添加如下信息:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
③新建一个名为“classpath”的环境变量,变量值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
配置完成后检查是否已经配置好,可以进入cmd中检查Java是否安装正确,检查的命令为 java -version,如图所示:
2.配置jena环境变量
①设置JENA_HOME,即将JENA_HOME的变量值设安装路径,如E:\apache-jena-3.6.0
②设置PATH,路径中添加 E:\apache-jena-3.6.0\bat。这样保证无论当前工作目录是什么,你都可以在命令行直接执行sparql.bat命令。
③classpath的路径添加:E:\apache-jena-3.6.0\lib
配置完成后检查是否已经配置好,进入cmd敲sqarql,记得一定要重启一个命令框,不要在上面检测jdk的那个命令框敲~(我这里就泪目了~~~)出现如下图所示表示成功:
3.SPARQL
Sparql Tutorial
我在jena的目录下新建了一个文件夹叫tutorial,下载官方的.rq文件和.rdf文件放在这个文件夹里,然后用cd切换到这个文件夹,执行语句如下
查询的rdf是这样的
<rdf:RDF
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns:vCard='http://www.w3.org/2001/vcard-rdf/3.0#'
>
<rdf:Description rdf:about="http://somewhere/JohnSmith/">
<vCard:FN>John Smith</vCard:FN>
<vCard:N rdf:parseType="Resource">
<vCard:Family>Smith</vCard:Family>
<vCard:Given>John</vCard:Given>
</vCard:N>
</rdf:Description>
<rdf:Description rdf:about="http://somewhere/RebeccaSmith/">
<vCard:FN>Becky Smith</vCard:FN>
<vCard:N rdf:parseType="Resource">
<vCard:Family>Smith</vCard:Family>
<vCard:Given>Rebecca</vCard:Given>
</vCard:N>
</rdf:Description>
<rdf:Description rdf:about="http://somewhere/SarahJones/">
<vCard:FN>Sarah Jones</vCard:FN>
<vCard:N rdf:parseType="Resource">
<vCard:Family>Jones</vCard:Family>
<vCard:Given>Sarah</vCard:Given>
</vCard:N>
</rdf:Description>
<rdf:Description rdf:about="http://somewhere/MattJones/">
<vCard:FN>Matt Jones</vCard:FN>
<vCard:N
vCard:Family="Jones"
vCard:Given="Matthew"/>
</rdf:Description>
</rdf:RDF>
当我用这样的一个文件查询时
PREFIX vcard: <http://www.w3.org/2001/vcard-rdf/3.0#>
SELECT ?g
WHERE
{ ?y vcard:Given ?g .
FILTER regex(?g, "r", "i") }
返回的结果是
其中regex()中的第三个i表示对大小写不敏感。若是要对大小写敏感,则去掉这个限制即可,即 FILTER regex(?g, “r”)。