以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  protege OWL API 中输出superclass 和subclass  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=73418)


--  作者:changwl
--  发布时间:3/23/2009 4:17:00 PM

--  protege OWL API 中输出superclass 和subclass
在protege中建了一个animal的本体,想用protege OWL API 输出该本体的类层次结构,也就是说用其怎么输出各个类的子类和父类呢?谢谢了!
--  作者:yolanda8487
--  发布时间:4/14/2009 5:23:00 PM

--  
 public void classHierarchy() {
  Collection roots = owlmodel.getRootClses();
  
  for( Iterator it = roots.iterator(); it.hasNext(); ) {
   RDFSClass parent = (RDFSClass)it.next();
   ClassTree( parent, -1 );
  }
  
 }
 
 private void ClassTree( RDFSClass cls, int parent ) {
  
  classes.add( parent + "#" + cls.getName() );
  parent = counter;
  counter++;
        for (Iterator it = cls.getSubclasses(false).iterator(); it.hasNext();) {
        
            RDFSClass subclass = (RDFSClass) it.next();
            if( !subclass.isAnonymous() && subclass.getName().indexOf( ":" ) == -1 ) {
             ClassTree( subclass, parent );
            }
            
        }
    }
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms