资源简介
这个资源是用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
- 上一篇:基于JAVA的学生管理系统源代码
- 下一篇:C4.5决策树Java实现
评论
共有 条评论