資源簡介
這個資源是用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實現
評論
共有 條評論