OAEI 本体测试集解析

在Eclipse中实现Jena对于Class,DatatypeProperty,ObjectProperty的解析。

可以在Jena的主页(http://jena.sourceforge.net/downloads.html)下载Jena的最新版本,

1)将下载的Jena-2.4.zip解压到任意路径,解压之后生成Jena2.4文件夹,将Jena2.4\lib下的jar文件全部加入CLASSPATH,这样就可以在任意的Java编辑器中调用Jena API了。

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

3)在Eclipse中用同样的方法导入mysql-connector-java-5.0.8-bin.jar到工程OWL_SQL.java中。

package com.tylg.test1;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

import org.apache.jena.ontology.DatatypeProperty;
import org.apache.jena.ontology.Individual;
import org.apache.jena.ontology.ObjectProperty;
import org.apache.jena.ontology.OntClass;
import org.apache.jena.ontology.OntModel;
import org.apache.jena.ontology.OntModelSpec;
import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.util.iterator.ExtendedIterator;

public class Test {

	public static void main(String[] args) {
		OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
		try {
			ontModel.read(new FileInputStream("D:\\eclipse\\testing\\101\\onto.rdf"), "");
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		}

		ExtendedIterator exIter = ontModel.listClasses();
		System.out.print("这些类名全称(class)是:");
		int i1 = 0;
		while (exIter.hasNext()) {
			OntClass oc = (OntClass) exIter.next();
			if ((oc.getURI() != null) && (oc.getURI().toString().startsWith("http://oaei"))) {
				i1++;		
				String s1 = oc.getURI() + "";
				String s2 = s1.substring(0, s1.indexOf("#"));
				String s3 = s1.substring(s2.length() + 1, s1.length());
				System.out.println(s3);
			}
		}
		System.out.println("class的个数为" + i1 + "个");
		System.out.println("---------------------------------------------------");
		ExtendedIterator exIter1 = ontModel.listDatatypeProperties();
		int i2 = 0;
		System.out.print("这些DatatypeProperty是:");       
		while (exIter1.hasNext()) {
			DatatypeProperty oc = (DatatypeProperty) exIter1.next();
			if (oc.getURI() != null && (oc.getURI().toString().startsWith("http://oaei"))) {//字符串截取判断
				i2++;				
				String s1 = oc.getURI() + "";
				String s2 = s1.substring(0, s1.indexOf("#"));
				String s3 = s1.substring(s2.length() + 1, s1.length());
				System.out.println(s3);
			}
		}
		System.out.println("DatatypeProperty的个数为" + i2 + "个");
		System.out.println("---------------------------------------------------");
		ExtendedIterator exIter2 = ontModel.listObjectProperties();
		int i3 = 0;
		System.out.print("这些ObjectProperty是:");
		while (exIter2.hasNext()) {
			ObjectProperty oc = (ObjectProperty) exIter2.next();
			if (oc.getURI() != null && (oc.getURI().toString().startsWith("http://oaei"))) {
				i3++;			
				String s1 = oc.getURI() + "";
				String s2 = s1.substring(0, s1.indexOf("#"));
				String s3 = s1.substring(s2.length() + 1, s1.length());
				System.out.println(s3);
			}
		}
		System.out.println("ObjectProperty的个数为" + i3 + "个");
	}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值