文档章节

Jena增删改查java API

Vincent-Duan
 Vincent-Duan
发布于 06/20 17:48
字数 255
阅读 22
收藏 0

插入、更新数据

public static void insert(){
        String query = "PREFIX book: <http://www.book.com/jinyong/> \n" +
                "                INSERT DATA \n" +
                "                {  \n" +
                "                <http://www.book.com/book#001> book:书名 \"天龙八部\".\n" +
                "                <http://www.book.com/book#001> book:人物 \"乔峰\".\n" +
                "                }";
        UpdateRequest updates = UpdateFactory.create(query);
        UpdateProcessor updateProcessor = UpdateExecutionFactory.createRemote(updates, "http://localhost:3030/test/update");
        updateProcessor.execute();
    }

更新数据操作是先删除原先的三元组,在添加新的三元组

public static void update(){
        String query = "PREFIX book: <http://www.book.com/jinyong/> \n" +
                "DELETE  \n" +
                "{  \n" +
                "  <http://www.book.com/book#001> book:人物 \"乔峰\"\n" +
                "}\n" +
                "insert\n" +
                "{\n" +
                "  <http://www.book.com/book#001> book:人物 \"萧峰\"\n" +
                "}\n" +
                "where\n" +
                "{\n" +
                "\t<http://www.book.com/book#001> book:人物 \"乔峰\"\n" +
                "}";
        UpdateRequest updates = UpdateFactory.create(query);
        UpdateProcessor updateProcessor = UpdateExecutionFactory.createRemote(updates, "http://localhost:3030/test/update");
        updateProcessor.execute();
    }

查询

public List<String> queryEndPoint(){
        String queryStr ="\n" +
                "SELECT ?subject ?predicate ?object\n" +
                "WHERE {\n" +
                "  ?subject ?predicate ?object\n" +
                "}\n" +
                "LIMIT 25";
        String serviceEndPoint="http://localhost:3030/test";
        Query query = QueryFactory.create(queryStr);
        List<String> result=new ArrayList<>();
        try ( QueryExecution qexec = QueryExecutionFactory.sparqlService(serviceEndPoint, query) ) {
            ResultSet rs = qexec.execSelect();

            for ( ; rs.hasNext() ; )
            {
                QuerySolution soln = rs.nextSolution() ;
                RDFNode object = soln.get("object");
                RDFNode subject = soln.get("subject");
                RDFNode predicate = soln.get("predicate");

                System.out.println(object.toString()+","+subject.toString() + ","+predicate.toString());
            qexec.close();
            }
        } catch (Exception e) {
            System.out.println("aaaaaaaaaaaaa");
            e.printStackTrace();
        }
        return result;
    }

 

© 著作权归作者所有

共有 人打赏支持
Vincent-Duan

Vincent-Duan

粉丝 9
博文 307
码字总数 100710
作品 0
海淀
私信 提问
Apache Jena 2.12.0 发布

Apache Jena 2.12.0 发布,同时也发布了 Apache Jena Fuseki 1.1.0 版本。此版本要求 Java 7,现已提供下载,也提供在了 Maven 库。此版本的更多更新内容请看这里。 Jena是一个Java工具箱用于...

oschina
2014/08/08
1K
1
Apache Jena 2.13.0 发布,包括 Elephas/Fuseki2

Apache Jena 2.13.0 发布,此版本是个重要的版本,包括一些新特性: * Elephas,一个在 Apache Hadoop 处理 RDF 的框架 * Fuseki2,服务器使用和管理的安全和全新 UI * 一个 OSGi 绑定 == E...

oschina
2015/03/19
1K
0
Apache Jena 3.1.1 发布,web 语义化框架

Apache Jena 3.1.1 发布了,Apache Jena 是用于构建 web 语义化和关联数据应用程序的 Java 框架。 更新内容: 改进 JSON-LD 输出 完成 F&O XPath3 函数 ComplexPhraseQueryParser 其他词汇(...

王练
2016/11/14
2.3K
4
Apache Jena 3.0.0 发布,要求 Java 8

Apache Jena 3.0.0 发布,此版本是个重要版本,并不是 Jena 2.13.0 的替代品,包括一些改进。 主要改进 * 包重命名 "com.hp.hpl.jena" >> "org.apache.jena",词汇表不受影响 * RDF 1.1 语义...

oschina
2015/08/01
4.9K
11
Apache Jena 3.3.0 发布,web 语义化框架

Apache Jena 3.3.0 发布了,Apache Jena 是用于构建 web 语义化和关联数据应用程序的 Java 框架。 这个版本主要围绕 jena-text 进行了更新: jena-text:升级到 Lucene v6.4.1。注意:数据需...

王练
2017/05/22
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

【Flutter教程】从零构建电商应用(一)

在这个系列中,我们将学习如何使用google的移动开发框架flutter创建一个电商应用。本文是flutter框架系列教程的第一部分,将学习如何安装Flutter开发环境并创建第一个Flutter应用,并学习Flu...

笔阁
22分钟前
5
0
什么是以太坊DAO?(三)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 投票支付合约的所有费用和行动需要时间,并要求用户始终保持活跃,知情和专注。另一...

geek12345
23分钟前
2
0
一个本科学生对Linux的认知

一个本科学生对Linux的认知 我是一名大三的普通一本大学的软件工程的一名学生,学校开设了一些关于系统开发的课程,纸上得来终觉浅,学校的课程课时较短,想要在56个课时之内学会一些公司需要...

linuxCool
今天
3
0
CentOS 安装Tomcat

Tomcat 介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 Java 程序写的网站用tomcat+jdk来运...

野雪球
今天
1
0
OSChina 周四乱弹 —— 每天都迟到是种什么样的体验

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席机器人 :《Too Good At Goodbyes (Acoustic) - Sam Smith - 单曲》 《Too Good At Goodbyes (Acoustic) - Sam Smith - 单曲》 ...

小小编辑
今天
876
13

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部