jane中本体解析的方法

上传人:re****.1 文档编号:464261646 上传时间:2024-02-06 格式:DOCX 页数:5 大小:15.82KB
返回 下载 相关 举报
jane中本体解析的方法_第1页
第1页 / 共5页
jane中本体解析的方法_第2页
第2页 / 共5页
jane中本体解析的方法_第3页
第3页 / 共5页
jane中本体解析的方法_第4页
第4页 / 共5页
jane中本体解析的方法_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《jane中本体解析的方法》由会员分享,可在线阅读,更多相关《jane中本体解析的方法(5页珍藏版)》请在金锄头文库上搜索。

1、在 Myeclipse 中实现 Jena可以在 Jena 的主页(http:/ Jena 的最新版本,目前是 Je na2.4版本。Jena是Java API,所以需要Java运行环境。本文使用的是jdkl.5.0_04和Eclipse3.2。1) 将下载的Jena-2.4.zip解压到任意路径,解压之后生成Jena2.4文件夹,将Jena2.4lib下的jar文 件全部加入CLASSPATH,这样就可以在任意的Java编辑器中调用Jena API 了。在解压目录下有一个test. bat 文件,用于配置的测试。在控制台运行此程序,如果你的配置正确,测试将顺利完成。2) 如果使用Eclipse

2、,则可以通过修改工程的Java创建路径的方法导入Jena jar文件。在Eclipse下创 建Java工程(eg: OWL_SQL.java),右健单击工程名字,选择“属性/Properties,在打开的对话框中 选择“ Java创建路径/Java Build Path”,在右边标签中选择“库/Libraries,之后选择“添加外部文 件/Add Extenal JARs”,找到Jena2.4lib目录下的所有jar文件并将其添加到工程。这样就可以运行J ean 文档中的例子了。3) 在 Eclipse 中用同样的方法导入 mysql-connector-java-5.0.8-bin.jar

3、到工程 OWL_SQL.java 中。 import java.io.*;import java.sql.SQLException;import com.hp.hpl.jena.db.*;import com.hp.hpl.jena.rdf.model.*;public class OWL_SQL1public static final String strDriver =com.mysql.jdbc.Driver; / path of driver class public static final String strURL =jdbc:mysql:/localhost:3306/avan

4、; / URL of databa sepublic static final String strUser =root; / database user idpublic static final String strPassWord =root; / database passwordpublic static final String strDB=MySQL; / database typepublic static void main(String args)try/ 创建一个数据库连接IDBConnection conn = new DBConnection ( strURL, st

5、rUser, strPassWord, strDB ); / 加载数据库驱动类,需要处理异常tryClass.forName(strDriver);catch(ClassNotFoundException e) System.out.println(ClassNotFoundException, Driver is not available.);/ 使用数据库连接参数创建一个模型制造器ModelMaker maker = ModelFactory.createModelRDBMaker(conn);/ 创建一个默认模型,命名为 MyOntologyModel defModel = maker

6、.createModel(TNB);/ 准备需要存入数据库的本体文件,建立输入文件流 FileInputStream inputStreamfile = null;try File file = new File(D:Program FilesProtege_3.1TNB.owl); inputStreamfile = new FileInputStream(file); catch (FileNotFoundException e) e.printStackTrace();System.out.println(Ontology File is not available.);InputStr

7、eamReader in = null;try in = new InputStreamReader(inputStreamfile, UTF-8); catch (UnsupportedEncodingException e) e.printStackTrace();/ 读取文件defModel.read(in,null);/ 关闭输入流读取器try in.close(); catch (IOException e) e.printStackTrace();/ 执行数据转换,将本体数据存入数据库defMmit();/ 关闭数据库连接try conn.close(); catch (SQLEx

8、ception e) e.printStackTrace();catch(RDFRDBException e) System.out.println(Exceptions occur.);二,Jena Ontology APIJena2.4 的 Ontology API 包含在 ontology 包(com.hp.hpl.jena.ontology)中,可以在目录Jena-2.4 srccomhphpljenaontology下查看所有程序的代码,Jena本体部分的说明网页是Jena-2.4docon tologyindex.html,本部分内容以及程序的编写主要参考这两个文档。在语义网上有很

9、多表示本体信息的本体语言,其中表达能力最强的是 OWL, OWL 按复杂程度分为 OWL Full、 OWL DL 和 OWL Lite 三个版本。其他的本体语言还有 RDFS、DAML+OIL。 Jena Ontology API 为语义网应用 程序开发者提供了一组独立于具体语言的一致编程接口。Jena提供的接口本质上都是Java程序,也就是.java文件经过javac之后生成的.class文件。显然,cla ss 文件并不能提示本体创建使用的语言。为了区别于其他的表示方法,每种本体语言都有一个自己的框架(profile),它列出了这种语言使用的类(概念)和属性的构建方式和URI。因此,在D

10、AML框架里,对 象属性()的URI是daml:ObjectProperty,而在OWL框架里却是owl:ObjectProperty。RDFS并没有定义 对象属性,所以在RDFS框架里,对象属性的URI是null。在Jena中,这种框架通过参数的设置在创建时与本体模型(Ontology Model)绑定在一起。本体模型继承 自Jena中的Model类。Model允许访问RDF数据集合中的陈述(Statements) , OntModel对此进行了扩展, 以便支持本体中的各种数据对象:类(classes)、属性(properties)、实例(个体individuals)。 本部分简单介绍要用到

11、的几个java类或者接口。1本体模型 OntModel本体模型(OntModel)是对Jena RDF模型的扩展(继承自RDF模型),提供了处理本体数据的功能。使用 Jena处理本体首先就是要建立一个本体模型,之后就能够通过本体模型中所定义的方法操作模型,比如导 入子模型()、获取模型中本体的信息、操作本体属性以及将本体的表示输出到磁盘文件等等。Jena通过 model包中的ModelFactory创建本体模型,ModelFactory是Jena提供用来创建各种模型的类,在类中定 义了具体实现模型的成员数据以及创建模型的二十多种方法。一个最简单的创建本体模型的语句如下: OntModel on

12、tModel = ModelFactory.createOntologyModel();该语句不含参数,应用默认设置创建一个本体模型ontModel,也就是说:它使用OWL语言、基于内存,支 持RDFS推理。可以通过创建时应用模型类别(OntModelSpec)参数创建不同的模型,以实现不同语言不同 类型不同推理层次的本体操作。例如,下面的语句创建了一个使用DAML语言内存本体模型。直观地讲,内 存模型就是只在程序运行时存在的模型,它没有将数据写回磁盘文件或者数据库表。OntModel ontModel = ModelFactory.createOntologyModel( OntModelS

13、pec.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 );

14、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)是用来帮助管理本体文档的类,它包含了导入本体文档创建本体 模型、帮助缓存下载网络上的本体等功能。每个本体模型都有一个相关联的文档管理器。在创建本体模型 时

15、,可以创建独立的文档管理器并作为参数传递给模型工厂(ModelFactory)。文档管理器有非常多的配 置选项,基本可以满足应用的需求。首先,每个文档管理器的参数都可以通过Java代码来设置(注:Ont DocumentManager有五种重载的构造函数)。另外,文档管理器也可以在创建的时候从一个RDF格式的策 略文件读取相应设定值。下面的例子创建一个文档管理器并将它与以创建的本体模型关联。OntModel m = ModelFactory.createOntologyModel();OntDocumentManager dm = m.getDocumentManager();3接口 OntClass这个接口中定义了本体中与概念(也就是类Class)相关的操作,通过OntModel中的listClasses()便可 以返回模型中的所有概念组成的迭代器(Iterator),然后调用OntClass的各种方法具体进行具体操作。 OntoClass 对概念之间的各种关系都有相应的定义方法,典型的有添加子类、添加约束、创建互斥概念、 迭代返回某种类型的概念以及相关的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号