⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainjena.java

📁 显示领域本体中的类与类的子类和父类
💻 JAVA
字号:
// Imports
///////////////
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 创建使用OWL语言的内存模型
		int n=0;
		OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
		ontModel.read("file:D:\wine.owl"); // (要操作本体的所在位置)读取当前路径下的文件,加载模型
		
		// 迭代显示模型中的类,在迭代过程中完成各种操作

		for (Iterator i = ontModel.listClasses(); i.hasNext();) {

		OntClass c = (OntClass) i.next(); // 返回类型强制转换

		if (!c.isAnon()) { // 如果不是匿名类,则打印类的名字
			n=n+1;
		System.out.print("Class"+n);

		// 获取类的URI并输出,在输出时对URI做了简化(将命名空间前缀省略)

		System.out.println(c.getModel().getGraph().

		getPrefixMapping().shortForm(c.getURI()));

		                           

		// 处理Animal类

		/*if (c.getLocalName().equals("Animal")) { // 如果当前类是Animal

		       System.out.println(" URI@" + c.getURI()); // 输出它的完整URI                 // 取得它的的等价类并打印

		       System.out.print(" Animal's EquivalentClass is "+

		c.getEquivalentClass());

		       // 输出等价类的注释

		System.out.println(" [comments:" +

		c.getEquivalentClass().getComment("EN")+"]");

		}// 处理Animal结束
		*/
		      

		// 迭代显示当前类的直接父类

	/*	for (Iterator it = c.listSuperClasses(true); it.hasNext();)

		{

		       OntClass sp = (OntClass) it.next();

		       String str = c.getModel().getGraph()

		                            .getPrefixMapping().shortForm(c.getURI()) // 获取URI

		                            + "'s superClass is " ;

		       String strSP = sp.getURI();

		       try{ // 另一种简化处理URI的方法

		              str = str + ":" + strSP.substring(strSP.indexOf('#')+1);

		              System.out.println(" Class" +str);

		       }catch( Exception e ){}

		} // 结束_显示当前类的父类
*/

		// 迭代显示当前类的直接子类

/*		for (Iterator it = c.listSubClasses(true); it.hasNext();){

		System.out.print(" Class");

		OntClass sb = (OntClass) it.next();

		System.out.println(c.getModel().getGraph().getPrefixMapping()

		                                          .shortForm(c.getURI())+ "'s suberClass is "

		                                          + sb.getModel().getGraph().getPrefixMapping()

		                                          .shortForm(sb.getURI()));

		}// 结束_显示当前类的子类
*/
		// 迭代显示与当前类相关的所有属性

/*		for(Iterator ipp = c.listDeclaredProperties(); ipp.hasNext();){

		       OntProperty p = (OntProperty)ipp.next();

		       System.out.println(" associated property: " + p.getLocalName());

		       }// 结束_显示当前类相关的所有属性结束
*/
		}// anonymity ends

		else // 是匿名类

		{}

		}// for ends

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -