导航:首页 > 文件教程 > 使用jena解析本体文件

使用jena解析本体文件

发布时间:2023-01-05 20:16:20

⑴ 请问用jena包解析我自己用protege构建的本体,为什么提示URL错误呢这个URL不是protege自己分配的吗

自己分配的不一定都能用,尝试一下其他的吧,或许是版本升级

⑵ 已知Jena的类,如何通过迭代得到该类的具体实例

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)以支持对导入本体的文档管理。

⑶ 试验说明

下面以具体试验来说明,由算法生成的大连湾区域土地利用应用本体实例,如图5.42 所示,描述了大连湾地区土地利用方面的信息,包含空间数据和非空间数据的语义信息,图 5.42 是对应土地利用本体的树状结构图。本体构建过程参照 《国家资源环境遥感宏观调查土地资源分类系统》和中国科学院地理科学与资源研究所数据中心土地利用本体分类体系。

当用户提出查找在大连湾东北方向,并位于大连湾50 km 内包含湖泊的所有林地地理实体时,此查询语句较为复杂包括方位关系(大连湾东北方向)、距离关系(大连湾 50km 内)、拓扑关系(林地包含湖泊)和语义关系(林地是有林地、灌木林、疏林地和宜林地的父类)。传统的方法很难实现这种复杂的查询请求,通过创建 DALIAN Region 应用本体就可以很好的解决这种复杂的查询请求。本试验是基于 Jena 和 ArcServer 开发的,首先在服务器端调用编写的本体查询函数(用 Jena 解析),利用应用本体实例中的空间语义关系进行推理。如图 5.42 和图 5.43,“有林地”、“灌木林”、“疏林地”和 “宜林地”是林地的子类,宜林地和草山草坡是同义关系,灌木林和疏林地是林间草地的父类。利用Jena 工具很容易就可以把对林地的查询自动的推理到 “有林地”、“灌木林”、“疏林地”、“宜林地”、“草山草坡”和林间草地中去; 对空间关系的查询,应用本体中已经描述了拓扑关系(Contain)、方位关系(EastNorth)和距离关系(11.7,36.5)只需要用 Xpath、Xquery 查询语言进行查询转换即可。然后将查询到的 DALIAN Region 土地利用应用本体的结果,组织成 SQL 语句传递给 ArcServer 的 GetFeatureClass 类,由 ArcServer 返回查询结果,在客户端显示。客户端显示的查询结果如彩图 5.1 所示,其中黄色高亮显示的为查询结果。

图 5.43 土地利用应用本体实例(局部)

空间信息的查询与检索是空间信息共享的前提条件。但由于用户认知和概念世界中的概念与系统模型中的概念之间存在语义异质性,用户检索出来的数据往往并不是他们真正想要的。通过建立等价关系、继承关系、逆反关系以及拓扑、方位和距离等空间关系的地理本体并将之用于检索请求可以解决这种语义异质性,从而实现更高级别的检索。在检索处理过程中,以空间数据的属性关系图 ARG 作为描述地理实体空间关系的基础,基于应用本体实例生成算法 AOGA 和语义推理工具 Jena 实现异构消解和语义扩展,极大地提高了检索准确率。以下是本解决方案的优点和将来的工作。

(1)提出了描述空间关系的 ARG 模型,利用 ARG 可以方便地查询任意两个地理实体的空间关系,改进以往空间关系查询时 SQL 扩展的不便性;

(2)建立了非空间数据之间的语义关系,可以更全面的检索出所需数据;

(3)提出了应用本体实例生成方法,可以较为方便的生成所需应用本体实例;作为将来的工作,将集中在以下两点。

(4)建立 ARG 模型时,需花费大量的时间,且容易出错,下一步将研究更自动化的方法建立所需的 ARG。

(5)本体建立层次还较低,只是建立到大类,后续工作,需要在建立地理本体时,建立到具体地理实例一级,要具体到地理实体的名称。

⑷ 使用jena写入本体文件到mysql需要设计数据库表吗

代码如下:
import Java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;import com.hp.hpl.jena.db.DBConnection;
import com.hp.hpl.jena.db.IDBConnection;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.ModelMaker;

⑸ 如何将Jena中创建的本体,类存到owl文件中

请使用protege4+的版本,设计好本体模型后,保存时可以选择需要的格式(比如OWL)

⑹ 怎么在已有的项目中,用jena的API解析owl文件内容

将ShowRecord.owl文件存储到MySQL数据库中,数据库叫Jena,在Eclipse中创建工程OperaOntology,代码如下:importJava.io.*;importjava.sql.SQLException;importcom.hp.hpl.jena.db.*;importcom.hp.hpl.jena.ontology.OntClass;importcom.hp.hpl.jena.rdf.model.*;publicclassOperaOntology{="com.mysql.jdbc.Driver";publicstaticfinalStringstrURL="jdbc:mysql://localhost:3306/jena";//localhost的后面要直接写冒号,再写3306;="root";="root";publicstaticfinalStringstrDB="MySQL";publicstaticvoidmain(String[]args){try{DBConnectionconnection=newDBConnection(strURL,strUser,strPassword,strDB);System.out.println(connection);//创建连接时,第四个参数需要指定所用的数据库类型;也就是说strDB的值应该是“MySQL”try{Class.forName("com.mysql.jdbc.Driver");System.out.println("驱动程序已经安装。");}catch(ClassNotFoundExceptione){System.out.println("ClassNotFoundException,Driverisnotavailable");}System.out.println("数据库连接成功。");//从此处开始读入一个OWL文件并且存储到数据库中;ModelMakermaker=ModelFactory.createModelRDBMaker(connection);//使用数据库连接参数创建一个模型制造器ModeldefModel=maker.createModel("ShowRecord");//创建一个默认模型,命名为CostumeModel,因为我要存入的OWL文件名是CostumeFileInputStreamread=null;try{Filefile=newFile("e:/ontologies/ShowRecord.owl");read=newFileInputStream(file);}catch(FileNotFoundExceptione){e.printStackTrace();System.out.println("未找到要存储的本体文件,请检查文件地址及名称");}System.out.println("已将本体文件转换为字节流文件。");InputStreamReaderin=null;try{in=newInputStreamReader((FileInputStream)read,"UTF-8");}catch(UnsupportedEncodingExceptione){e.printStackTrace();System.out.println("不支持上述字符集。");}System.out.println("已将字节流文件转换为UTF-8编码。");defModel.read(in,null);try{in.close();}catch(IOExceptione){e.printStackTrace();System.out.println("无法关闭字节流文件。");}System.out.println("已将字节流文件关闭。");defModel.commit();System.out.println("数据转换执行完毕,已将本体文件存入数据库。");try{connection.close();}catch(SQLExceptione){e.printStackTrace();System.out.println("文件无法关闭。");}}catch(RDFRDBExceptione){e.printStackTrace();System.out.println("出现异常");}System.out.println("已将本体文件持久化到数据库中");}}以上步骤成功完成以后,我登录到MySQL的界面查询工具查看Jena数据库的表,点击“Catalogs“

⑺ 使用jena解析了一个rdf,怎样在jsp中讲结果显示出来

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
function dianji(obj)
{
var t = document.getElementById("value");

t.value = obj.value;
}
</script>
</HEAD>

<BODY>
<form>
<input type="text" id="value"/>
<input type="button" value="submit" onclick="dianji(this);"/>
</form>
</BODY>
</HTML>

⑻ 请问Jena如何生成OWL本体吗

jena还不支持生成owl文件,可以使用owl api。

⑼ 关于protege构建中文本体的问题,请问如何在protege软件中选择中文解析器

解析protege要在java环境中利用jena等本体解析工具对owl文件进行解析。protege只是支持本体的构建和推理。有关jena的东西你可以上网搜索,或到其官方网站

阅读全文

与使用jena解析本体文件相关的资料

热点内容
word删除尾注分隔符 浏览:773
公告质疑需要哪些文件 浏览:608
数据库模型是干什么的 浏览:404
win10的驱动怎么安装驱动 浏览:320
word文件水印怎么取消 浏览:443
rhel6的镜像文件在哪里下载 浏览:571
成功正能量微信头像 浏览:848
wps表格如何恢复数据 浏览:264
linuxc静态库创建 浏览:838
u盘有微信文件但微信恢复不了 浏览:585
苹果的网站数据是什么 浏览:22
ps滚字教程 浏览:237
win7网络邻居如何保存ftp 浏览:186
安卓客户端代理服务器 浏览:572
编程用苹果 浏览:659
51虚拟机的文件管理在哪里 浏览:13
win10系统有没有便签 浏览:722
java引用传递和值传递 浏览:109
oracle下载安装教程 浏览:854
php筛选数据库 浏览:830

友情链接