• 大小: 3KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Java
  • 标签: 本体  

资源简介

这个资源是用java编写的解析出本体,输出结果为你所建立本体里各个类的关系。

资源截图

代码片段和文件信息

import java.util.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.ontology.*;

public class jena 
{
public static void main(String[] args)
{
//创建本体模型
OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
    ontModel.read(“file:E:\\protege\\Animal.owl“);
    //读取文件,加载模型
    //迭代显示模型中的类
    for(Iterator i = ontModel.listClasses();i.hasNext();)
    {
     OntClass c = (OntClass)i.next();
     if(!c.isAnon())
     {
     //如果不是匿名类
     if(c.hasSubClass())
     { System.out.print(“父类“);
     //获取类的URI并输出,在输出时对URI做了简化(将命名空间前缀省略)
     System.out.println(c.getModel().getGraph().getPrefixMapping().shortForm(c.getURI()));
     }
     else
     { System.out.print(“子类“);
     System.out.println(c.getModel().getGraph().getPrefixMapping().shortForm(c.getURI()));
     }//处理Animal类
     if(c.getLocalName().equals(“Animal“))
     {
     //如果当前类是Animal
     System.out.println(“URI@“+c.getURI());
     //输出它的完整URI
     //取得特定类的等价类
     }
     //迭代显示当前类的父类
     for(Iterator it = c.listSubClasses();it.hasNext();)
     {
     OntClass sp = (OntClass)it.next();
     String str = c.getModel().getGraph().getPrefixMapping().shortForm(c.getURI()) + “的子类是“;
     String strSP = sp.getURI();
     try
     {
     //另一种简化处理URL的方法
     str = str + strSP.substring(strSP.indexOf(‘#‘)+1);
     System.out.println(str);
     }
     catch(E

评论

共有 条评论

相关资源