eclipse中使用Jena解析本体文件

(1)在Jena的主页(http://jena.sourceforge.net/downloads.html)下载Jena的最新版本。将下载的Jena-2.6.4.zip解压到任意路径,解压之后生成Jena2.6.4文件夹。
(2)使用Eclipse新建Java工程,右健单击工程名字,选择“Build Path”->“Configure Build Path”,在打开的对话框中选择“Java创建路径/Java Build Path”,在右边标签中选择“库/Libraries”,之后选择“添加外部文件/Add Extenal JARs”,找到Jena2.6.4\lib目录下的所有jar文件并将其添加到工程。这样就可以使用Jena API。

(3)使用protégé创建一个本体,本体来源文章:基于关系数据库的OWL本体存储及查询方法。本体如下图所示:

(4)详细编码

package com.ont.demo;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Iterator;
import java.util.Vector;

import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.db.DBConnection;
import com.hp.hpl.jena.db.IDBConnection;
import com.hp.hpl.jena.ontology.*;

public class OntAnalysisMysql  {
	
    public static final String strDriver = "com.mysql.jdbc.Driver"; //path of driver class  
    public static final String strURL = "jdbc:mysql://localhost/ontodb3"; // URL of database  
    public static final String strUser = "root"; //database user id  
    public static final String strPassWord = "sql123"; //database password  
    public static final String strDB =  "MySQL"; //database type  
	
	/* 函数功能说明
	 * 
	 * 创建本体模型,然后读取.owl文件,加载模型
	 * 
	 * */
	public OntModel createOnt(String owlpath) {
		
	   // 创建一个数据库连接  
        IDBConnection conn = new DBConnection ( strURL, strUser, strPassWord, strDB ); 
       // 加载数据库驱动类,需要处理异常  
        try{  
      		Class.forName(strDriver);
        }catch(ClassNotFoundException e) {  
             e.printStackTrace();  
        }  
        
		//使用数据库连接参数创建一个模型制造器
        ModelMaker maker = ModelFactory.createModelRDBMaker(conn);
		//创建一个默认模型
        Model base = maker.createDefaultModel();
        OntModel ontmodel = ModelFactory.createOntologyModel(getModelSpec(maker), base);
        
        try {
			ontmodel.read(new FileInputStream(owlpath), ""); // 读取文件,加载模型
		} catch (FileNotFoundException e) {
			System.out.println("读取失败" + e.getMessage());
		}
		return  ontmodel;
	}
	
	public static OntModelSpec getModelSpec(ModelMaker maker) {
	    
		 OntModelSpec spec = new OntModelSpec(OntModelSpec.OWL_MEM);
	     spec.setImportModelMaker(maker);
	     
	     return spec;
	}

		/*函数功能说明
		 * 
		 * 获取owl文件中所有的class,内容包括:
		 * 类URI,类名,类描述类型,类描述值
		 * 
		 */
		public void getAllClasses(String owlpath) {
			OntModel ontModel = this.createOnt(owlpath);
			String str;
			// 列出所有的class
		    
			for (Iterator allclass = 
  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 39
    评论
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值