文档章节

Jena增删改查java API

Vincent-Duan
 Vincent-Duan
发布于 06/20 17:48
字数 255
阅读 16
收藏 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
博文 303
码字总数 99988
作品 0
海淀
Apache Jena 3.7.0 发布,web 语义化框架

Apache Jena 3.7.0 发布了,Apache Jena 是用于构建 web 语义化和关联数据应用程序的 Java 框架。 更新内容: 允许使用JavaScript编写SPARQL自定义函数 Transactions 改进 现在支持完全事务性...

周其
04/15
0
0
简单构建基于RDF和SPARQL的KBQA(知识图谱问答系统)

本文主要通过python实例讲解基于RDF和SPARQL的KBQA系统的构建。该项目可在python2和python3上运行通过。 注:KBQA即是我们通常所说的基于知识图谱的问答系统。这里简单构建的EasyKBQA,数据来...

浪礁
08/23
0
0
jena fuseki RDF应用

使用apache-jena生成数据库 启动fuseki服务器 访问localhost:3030可以访问数据库 使用DBpedia应用LODmilla,修改两处: /LODmilla-frontend-master/js/lod/services.json:47 修改ip地址 /LOD...

Vincent-Duan
2016/10/23
0
0
基于本体的语义信息模型的验证方法

一、先简单说说整个的一个需求吧 广义的配电管理系统(DMS)涵盖配电网生产、运行和服务全过程,是整个电力企业信息集成系统的一个有机组成部分。DMS 包含着大量应用系统,由于现在配网一体化...

feitianshen
2015/08/10
0
0
数据库参考,键值(Key-value)数据库,列式存储,文档型数据库,图型数据库

http://www.searchdatabase.com.cn/showcontent69833.htm 【TechTarget中国原创】DB-Engines网站专门提供数据库管理系统流行度的排名信息,这个排名主要根据5个因素来进行:Google以及Bing搜...

月下独酌100
2014/03/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部