博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jena ARQ小试牛刀
阅读量:6915 次
发布时间:2019-06-27

本文共 1739 字,大约阅读时间需要 5 分钟。

本文主要展示下如何使用apache jena对RDF文档进行SPARQL查询

相关知识

RDF

资源描述框架(Resource Description Framework),一种用于描述Web资源的标记语言。使用XML语法和RDF Schema(RDFS)来将元数据描述成为数据模型。

SPARQL

SPARQL(SPARQL Protocol and RDF Query Language),是为RDF开发的一种查询语言和数据获取协议,它是为W3C所开发的RDF数据模型所定义,但是可以用于任何可以用RDF来表示的信息资源。

Apache Jena

Jena是一个Java工具箱用于开发基于RDF与OWL语义(semantic)Web应用程序。它提供了一个RDF API;ARP,一个RDF解析器;SPARQL,W3C RDF查询语言;一个OWL API;和基于规则的RDFS与OWL接口。ARQ是Jena中的SPARQL查询引擎。

实例

maven

org.apache.jena
jena-core
3.7.0
org.apache.jena
jena-arq
3.7.0

RDF文档

Bob Dylan
USA
Columbia
10.90
1985
Bonnie Tyler
UK
CBS Records
9.90
1988

SPARQL查询

@Test    public void testJenaQuery(){        Model model = ModelFactory.createDefaultModel();        model.read(this.getClass().getClassLoader().getResourceAsStream("demo.rdf"), null);        String queryString = "PREFIX cd: 
\n " + "SELECT ?name where { ?item cd:artist ?name }"; Query query = QueryFactory.create(queryString); QueryExecution qe = QueryExecutionFactory.create(query, model); ResultSet results = qe.execSelect(); ResultSetFormatter.out(System.out, results, query); }

输出

------------------| name           |==================| "Bonnie Tyler" || "Bob Dylan"    |------------------

小结

SPARQL是针对RDF的查询语言,类似SQL,但是又不尽相同,略有点学习成本,有待深入研究下。

doc

转载地址:http://bmicl.baihongyu.com/

你可能感兴趣的文章
eclipse javaweb服务开启err
查看>>
QXORM 使用记录 ( 三 )
查看>>
Java多线程知识点整理(synchronized/volatile)
查看>>
域功能级别与林功能级别的功能
查看>>
删除Exchange2010数据库报错“此邮箱数据库与一个或多个活动 MailboxExport 队列关联”...
查看>>
我的友情链接
查看>>
Linux性能实时监测工具 Netdata
查看>>
Awstats服务
查看>>
linux源地址转换(一)
查看>>
ZooKeeper客户端Curator使用一 创建连接
查看>>
图文说明虚拟机的几种网络模式
查看>>
将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)
查看>>
Ubuntu屏幕截图快捷键知多少
查看>>
60佳优秀的 Photoshop 网页制作教程【下篇】
查看>>
JQuery Select多选插件实现
查看>>
1-Ictclas50分词系统ForJava
查看>>
Tomcat部署servlet小应用无法找到相应的servlet类的问题可能原因
查看>>
Coding and Paper Letter(七)
查看>>
51CTO篮球俱乐部精彩集锦(5月9日)
查看>>
java实现正则表达式到NFA的转换
查看>>