1. 什么是jena(摘自http://imarine.blog.163.com/blog/static/51380183200812774739130/)Jena由

HP Labs(http://www.hpl.hp.com)开发的Java开发工具包, 用于Semantic Web(语义网)中的应用程序开发;Jana是开源的,在下载的文档中有Jena的完整代码。Jena框架主要包括:

a)       以RDF/XML、三元组形式读写RDF

资源描述框架是(RDF)是描述资源的一项标准(在技术上是W3C的推荐标准),Jena文档中有一部分呢详细介绍了RDF和Jena RDF API,其内容包括对Jena RDF包的介绍、RDF模型的创建、读写、查询等操作,以及RDF容器等的讨论。

b) RDFS,OWL,DAML+OIL等本体的操作

Jena框架包含一个本体子系统(Ontology

Subsystem),它提供的API允许处理基于RDF的本体数据,也就是说,它支持OWL,DAML+OIL和RDFS。本体API与推理子系统结合

可以从特定本体中提取信息,Jena 2还提供文档管理器(OntDocumentManager)以支持对导入本体的文档管理。

c) 利用数据库保存数据

Jena 2允许将数据存储到硬盘中,或者是OWL文件,或者是关系数据库中。本文处理的本体就是OWL文件读入的。

d)查询模型

Jena 2提供了ARQ查询引擎,它实现SPARQL查询语言和RDQL,从而支持对模型的查询。另外,查询引擎与关系数据库相关联,这使得查询存储在关系数据库中的本体时能够达到更高的效率。

e) 基于规则的推理

Jena 2支持基于规则的简单推理,其推理机制支持将推理器(inference reasoners)导入Jena,创建模型时将推理器与模型关联以实现推理。

Protégé是一个开源的本体编辑器(目前的版本是Protégé

3.2),用户可以在GUI环境下创建本体或者知识库。有一种说法是:Jena对应用程序就像Protégé对我们——我们使用Protégé操作本体,

应用程序则是使用Jena来做同样的工作。当然这些应用程序还是得由我们来编写。

2. jena的使用

在百度中输入“jena ppt” 点击第一个连接,可以下到一个关于jena的ppt,内容不错。

2.2 我们使用的是eclipse平台新建一个工程,导入jena/lib里面的jar包。

2.3 使用jena提供的各种API。。(强大的东东)

我下载的jena包2.4包含了一些简单的demo。

2.2 我们使用的是eclipse平台新建一个工程,导入jena/lib里面的jar包。

2.3 使用jena提供的各种API。。(强大的东东)

我下载的jena包2.4包含了一些简单的demo。1.本体模型OntModel

本体模型(OntModel)是对Jena

RDF模型的扩展(继承自RDF模型),提供了处理本体数据的功能。使用Jena处理本体首先就是要建立一个本体模型,之后就能够通过本体模型中所定义的

方法操作模型,比如导入子模型()、获取模型中本体的信息、操作本体属性以及将本体的表示输出到磁盘文件等等。Jena通过model包中的

ModelFactory创建本体模型,ModelFactory是Jena提供用来创建各种模型的类,在类中定义了具体实现模型的成员数据以及创建模型

的二十多种方法。一个最简单的创建本体模型的语句如下:

OntModel ontModel = ModelFactory.createOntologyModel();

该语句不含参数,应用默认设置创建一个本体模型ontModel,也就是说:它使用OWL语言、基于内存,支持RDFS推理。可以通过创建时应用模型类别

(OntModelSpec)参数创建不同的模型,以实现不同语言不同类型不同推理层次的本体操作。例如,下面的语句创建了一个使用DAML语言内存本体

模型。直观地讲,内存模型就是只在程序运行时存在的模型,它没有将数据写回磁盘文件或者数据库表。

OntModel ontModel = ModelFactory.createOntologyModel( OntModelSpec.DAML_MEM );

更多类型设置可以参照OntModelSpec类中的数据成员的说明。

我们所使用的本体是从OWL文件获得的,也就是说,是从磁盘读取的。读取的方法是调用Jena OntoModel提供的Read方法。例如

ontModel.read("file:D:/temp/Creatrue/Creature.owl");

就是读取位于D盘相应目录下的Creature.owl文件以建立本体模型。Read方法也有很多重载,上面调用的方法以文件的绝对路径作为参数。其他的方法声明如下

read( String url );

read( Reader reader, String base );

read( InputStream reader, String base );

read( String url, String lang );

read( Reader reader, String base, String Lang );

read( InputStream reader, String base, String Lang );

2.文档管理器Document manager

本体文档管理器(OntDocumentManager)是用来帮助管理本体文档的类,它包含了导入本体文档创建本体模型、帮助缓存下载网络上的本体等功

能。每个本体模型都有一个相关联的文档管理器。在创建本体模型时,可以创建独立的文档管理器并作为参数传递给模型工厂(ModelFactory)。文档

管理器有非常多的配置选项,基本可以满足应用的需求。首先,每个文档管理器的参数都可以通过Java代码来设置

(注:OntDocumentManager有五种重载的构造函数)。另外,文档管理器也可以在创建的时候从一个RDF格式的策略文件读取相应设定值。

下面的例子创建一个文档管理器并将它与以创建的本体模型关联。

OntModel m = ModelFactory.createOntologyModel();

OntDocumentManager dm = m.getDocumentManager();

3.接口OntClass

这个接口中定义了本体种与概念(也就是类Class)相关的操作,通过OntModel中的

listClasses()

便可以返回模型中的所有概念组成的迭代器(Iterator),然后调用OntClass的各种方法具体进行具体操作。OntoClass对概念之间的各

种关系都有相应的定义方法,典型的有添加子类、添加约束、创建互斥概念、迭代返回某种类型的概念以及相关的逻辑判断等等。

4.基本本体类型OntResource

所有本体API中用于表示本体的类继承自OntResource,这样就可以在OntResource中放置所有类公用的功能,并可以为一般的方法设置通

用的返回值。Java接口OntResource扩展了Jena的RDF资源接口,所以任何可以接受资源或者RDFNode的方法都可以接受

OntResource,并且也就可以接受任何其他本体值。虽然这个类涵盖了涉及本体的所有类,在例子中并没有使用它。从Jena Java

Doc可以获得它的详细信息。

jena使用 java_【jena】 jena基本使用相关推荐

  1. Jena 简介:通过 Jena Semantic Web Framework 在 Jave 应用程序中使用 RDF 模型

    简介: RDF 越来越被认为是表示和处理半结构化数据的一种极好选择.本文中,Web 开发人员 Philip McCarthy 向您展示了如何使用 Jena Semantic Web Toolkit,以 ...

  2. jena 查询 java_使用SPARQL和Jena查询DBpedia

    浏览了大量的页面后,我找到了答案 . 也许我没有明确地提出这个问题,但无论如何,下面的代码对我有用 . String queryString= "PREFIX p: "+ &quo ...

  3. 面试官:说一下Jena推理

    摘要:本文介绍了Jena的推理子系统,并构建了一个简单的RDF图.基于该RDF图,我们搭建了一个Jena推理引擎,并进行自动化推理. 本文分享自华为云社区<知识推理之基于jena的知识推理(三) ...

  4. Jena_1 Jena 与 Fuseki部署

    参考源:[知识图谱]06推理功能(使用Jena+Fuseki)_飘散风中的博客-CSDN博客_jena 推理 1 java配置 2 下载Jena和Fuseki Apache Jena - Apache ...

  5. 通过 Jena Semantic Web Framework 在 Jave 应用程序中使用 RDF 模型 (转)

    RDF 越来越被认为是表示和处理半结构化数据的一种极好选择.本文中,Web 开发人员 Philip McCarthy 向您展示了如何使用 Jena Semantic Web Toolkit,以便在 J ...

  6. 通过 Jena Semantic Web Framework 在 Jave 应用程序中使用 RDF 模型

    http://www.ibm.com/developerworks/cn/java/j-jena/ RDF 越来越被认为是表示和处理半结构化数据的一种极好选择.本文中,Web 开发人员 Philip ...

  7. Jena API 使用介绍

    本文将对jena 的使用进行简单介绍.部分内容参考了这里 http://jena.apache.org/tutorials/rdf_api.html . 1.  jena 包下载与开发环境配置 首先, ...

  8. 简单配置jena在eclipse的开发环境

    Jena:A free and open source Java framework for building Semantic Web and Linked Data applications. 耶 ...

  9. Jena文档《An Introduction to RDF and the Jena RDF API》的译文

    前言 本文是一篇对W3C的资源描述框架(RDF)和 Jena(一个Java的RDF API)的教程性介绍. 本文是为那些不熟悉RDF的, 以及那些通过建立原形可以达到最好学习效果的, 或是因为其他原因 ...

  10. 知识图谱实践篇(四):Apache jena SPARQL endpoint及推理

    在上一篇我们学习了如何利用D2RQ来开启endpoint服务,但它有两个缺点: 1. 不支持直接将RDF数据通过endpoint发布到网络上. 2. 不支持推理. 这次我们介绍的Apache Jena ...

最新文章

  1. Eclipse下修改工程名
  2. Google MapReduce架构设计
  3. FastThreadLocal
  4. Xilinx视频加速技术专场
  5. C# RGB颜色转换为16进制
  6. QT打印窗口、退出、设置字体及颜色、设置时间、控件实现系统函数、添加资源文件(菜单图片)、工具栏添加图片
  7. oracle配置控制文件快照的位置以及名称为,oracle的备份与恢复
  8. 一种PLC RS485 Modbus RTU无线联网的解决方案
  9. (1)H5实现音乐播放器【正在播放-歌词篇】
  10. 统计挖掘那些事(五)--(理论+案例)如何通俗地理解极大似然估计?
  11. 自然语言处理_人工智能自然语言处理技术拉动产业升级引擎
  12. ASP.NET----GridView控件设置超链接
  13. 单片机特殊知识总结(二)
  14. vue同一项目搭建PC端和移动端
  15. dsp28335杂记1
  16. Zabbix_agent的主动式和被动式
  17. 近30所高校,获教育部点名表扬!
  18. PostgreSQL 14 pageinspect新增gist索引支持
  19. 塔望 - 食品品牌咨询 食品品牌全案策划服务公司
  20. 下载单词英语单词_单词如何塑造体验

热门文章

  1. Longhorn入门级教程!轻松实现持久化存储!
  2. spring boot layui table.render 加载不了cols
  3. 进程和线程的主仆问题
  4. e站app里站hosts_[装修记 天猫家装e站~大庆站]
  5. rabbitMq入门
  6. 移动apn接入点哪个快_提升移动联通电信网速
  7. top 和 window.top, iframe 默认高度
  8. JAVA(图形界面)
  9. 嘻哈帝国第一季/全集Empire迅雷下载
  10. 数澜、宜信、贝壳三种数据中台建设模式探讨 | 数澜科技