以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  java+java3d+protege owl api +jess做的一个面向设计领域的语义建模系统  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=66518)


--  作者:alexwan
--  发布时间:8/28/2008 5:14:00 PM

--  java+java3d+protege owl api +jess做的一个面向设计领域的语义建模系统
花近3个月完成了一个面向设计领域的语义建模系统,主要涉及到java+java3d+protege owl api +jess,其中java3d主要用来进行产品三维模型的显示以及特征建模,protege owl api 主要用来将特征模型导入到本体中,并提供了相应的修改功能,其中还建立了一系列的swrl推理规则,利用jess进行推理。如果大家有兴趣的话,可以email联系,我将与大家分享开发过程中的新的。我的email: wanchj@zist.edu.cn
--  作者:alexwan
--  发布时间:8/28/2008 5:24:00 PM

--  

此主题相关图片如下:
按此在新窗口浏览图片
--  作者:alexwan
--  发布时间:8/28/2008 5:55:00 PM

--  

此主题相关图片如下:
按此在新窗口浏览图片
--  作者:Jevin
--  发布时间:8/29/2008 11:20:00 AM

--  
学习中...
--  作者:ldlleaf
--  发布时间:8/29/2008 11:30:00 AM

--  
不错
--  作者:alexwan
--  发布时间:8/29/2008 7:13:00 PM

--  

此主题相关图片如下:
按此在新窗口浏览图片
--  作者:alexwan
--  发布时间:9/10/2008 10:39:00 PM

--  本体文件导入系统有关代码

          //clear the history
          CurActiveOWLModel=null;
          
           //更新树结构
       DefaultMutableTreeNode root1 = new DefaultMutableTreeNode ("owl:Thing");
       DefaultTreeModel model = new DefaultTreeModel (root1);
          leftOnto.getClassTree().setModel(model);
          leftOnto.getIndiTree().setModel(model);
          leftOnto.getObjectPropertyTree().setModel(model);
          leftOnto.getDatatypePropertyTree().setModel(model);

             int retval = importOWLFileChooser.showOpenDialog(null);
             if (retval == JFileChooser.APPROVE_OPTION) {
              
                 File file = importOWLFileChooser.getSelectedFile();
                 openOntoFile=file.getPath();
                 JenaOWLModel createJenaOWLModelFromURI=null;
     try {
      
      createJenaOWLModelFromURI = ProtegeOWL.createJenaOWLModelFromURI(file.toURI().toString());
     } catch (OntologyLoadException e1) {
      e1.printStackTrace();
     }
        CurActiveOWLModel = createJenaOWLModelFromURI;
        Collection alldiffs=CurActiveOWLModel.getOWLAllDifferents();
        for(Iterator it=alldiffs.iterator();it.hasNext();)
        {
         OWLAllDifferent indiv=(OWLAllDifferent)it.next();
         
         System.out.println(indiv.getName());
         
         //System.out.println(cls.getBrowserText());
         Collection diff=indiv.getDistinctMembers();
         
         for(Iterator it1=diff.iterator();it1.hasNext();)
         {
          OWLIndividual indivi=(OWLIndividual)it1.next();
          System.out.println(indivi.getBrowserText());
         }
        }
        
        J3Dinterface.makeSystemClassesHidden(CurActiveOWLModel);

//     ClassTreeComponent pl= new ClassTreeComponent(null,CurActiveOWLModel);  
//     final JTree clsTree=pl.getTree();
     final JTree clstree= leftOnto.getClassTree();
     final JTree clsTree= new SelectableTree(null,new ParentChildRoot(CurActiveOWLModel.getOWLThingClass()));
     clstree.setModel(clsTree.getModel());
     clstree.setCellRenderer(new ResourceRenderer());
     clstree.setSelectionRow(0);
     clstree.setExpandsSelectedPaths(true);
     clstree.expandRow(1);
     
     MouseListener ml = new MouseAdapter() {
      public void mousePressed(MouseEvent e) {
       int selRow = clstree.getRowForLocation(e.getX(), e.getY());
       TreePath selPath = clstree.getPathForLocation(e.getX(), e.getY());
       if(selRow != -1) {
        if(e.getClickCount() == 2) {
         TreeNode   treenode=(TreeNode)selPath.getLastPathComponent();   
               String nodeName=treenode.toString();
               String str[]=nodeName.split("#");
               System.out.println(str[1].substring(0,str[1].length()-2));
            OWLNamedClass cls=J3Dinterface.CurActiveOWLModel.getOWLNamedClass(str[1].substring(0,str[1].length()-2));
         OntoDisplayClass odc=new OntoDisplayClass(null,cls,J3Dinterface.CurActiveOWLModel);
         odc.setVisible(true);
   //      odc.setAlwaysOnTop(true);
        }
       }
      }
      };
      clstree.addMouseListener(ml);

    // update the individual tab

           RDFSNamedClass root = CurActiveOWLModel.getOWLThingClass();
           ClassTree ct = new ClassTree(null, new ParentChildRoot(root));
           final ClassTree indiTree=leftOnto.getIndiTree();
           indiTree.setModel(ct.getModel());
           indiTree.expandRow(0);
           FrameRenderer renderer = FrameRenderer.createInstance();
           renderer.setDisplayDirectInstanceCount(true);
           indiTree.setCellRenderer(renderer);
           indiTree.setSelectionRow(0);
           
           //object property
           List results = new ArrayList(CurActiveOWLModel.getUserDefinedOWLObjectProperties());
           Iterator i = results.iterator();
           while (i.hasNext()) {
               Slot slot = (Slot) i.next();
               if (slot.getDirectSuperslotCount() > 0) {
                   i.remove();
               }
           }
           results.removeAll(Arrays.asList(CurActiveOWLModel.getSystemAnnotationProperties()));
           
           if (OWLUI.getSortPropertiesTreeOption()) {
            Collections.sort(results, new FrameComparator());
           }
      
     final TooltippedSelectableTree tree = new TooltippedSelectableTree(null, new OWLPropertySubpropertyRoot(CurActiveOWLModel,results,false));
     final TooltippedSelectableTree opTree=leftOnto.getObjectPropertyTree();
     opTree.setModel(tree.getModel());
     opTree.setCellRenderer(new ResourceRenderer());
     opTree.setShowsRootHandles(true);
     opTree.setSelectionRow(0);
     opTree.setLargeModel(true);

      //datatype property tree
           
            List results1 = new ArrayList(CurActiveOWLModel.getUserDefinedOWLDatatypeProperties());
            Iterator i1 = results1.iterator();
            while (i1.hasNext()) {
                Slot slot = (Slot) i1.next();
                if (slot.getDirectSuperslotCount() > 0) {
                    i1.remove();
                }
            }
            results1.removeAll(Arrays.asList(CurActiveOWLModel.getSystemAnnotationProperties()));
            
            if (OWLUI.getSortPropertiesTreeOption()) {
             Collections.sort(results1, new FrameComparator());
            }
       
      final TooltippedSelectableTree tree1 = new TooltippedSelectableTree(null, new OWLPropertySubpropertyRoot(CurActiveOWLModel,results1,false));
      final TooltippedSelectableTree opTree1=leftOnto.getDatatypePropertyTree();
      opTree1.setModel(tree1.getModel());
      opTree1.setCellRenderer(new ResourceRenderer());
      opTree1.setShowsRootHandles(true);
      opTree1.setSelectionRow(0);
      opTree1.setLargeModel(true);

      //now build the rule tree, one layer tree
      SWRLFactory factory = new SWRLFactory(CurActiveOWLModel);
      Collection rules = factory.getImps();
      final JTree ruleTree= leftOnto.getRuleTree();
      
      TreeModel tm=ruleTree.getModel();
      DefaultMutableTreeNode rootrule=(DefaultMutableTreeNode)tm.getRoot();
      
      for(Iterator it=rules.iterator();it.hasNext();)
      {
       SWRLImp  imp=(SWRLImp )it.next();
       
       String temp[]=imp.getName().split("#");
       if(temp.length>1)
       {
        DefaultMutableTreeNode child = new DefaultMutableTreeNode (temp[1]);
        rootrule.add(child);
       }else
       {
        
        DefaultMutableTreeNode child = new DefaultMutableTreeNode (temp[1]);
        child.setUserObject(imp);
        
        rootrule.add(child);
       }
       
      
      }
      ruleTree.setModel(tm);
      ruleTree.setSelectionRow(0);
      ruleTree.expandRow(1);
      ruleTree.setExpandsSelectedPaths(true);
      MouseListener mr = new MouseAdapter() {
       public void mousePressed(MouseEvent e) {
        int selRow = ruleTree.getRowForLocation(e.getX(), e.getY());
        TreePath selPath = ruleTree.getPathForLocation(e.getX(), e.getY());
        if(selRow != -1) {
         if(e.getClickCount() == 2) {
          TreeNode   treenode=(TreeNode)selPath.getLastPathComponent();   
                String nodeName=treenode.toString();
                SWRLFactory factory1 = new SWRLFactory(CurActiveOWLModel);
          Collection rules1 = factory1.getImps();
          SWRLImp rule=null;
          for(Iterator it=rules1.iterator();it.hasNext();)
          {
           SWRLImp  imp=(SWRLImp )it.next();
           
           String temp[]=imp.getName().split("#");
           if(temp.length>1){
            if(temp[1].equalsIgnoreCase(nodeName))
            {
             rule=imp;
             break;
            } 
           }
          
          }
          if(rule!=null)
          {
           RuleBrowse ruleBrowse=new RuleBrowse(null,rule);
           ruleBrowse.setVisible(true);
          }
                
             //OWLNamedClass cls=J3Dinterface.CurActiveOWLModel.getOWLNamedClass(str[1].substring(0,str[1].length()-2));
          //OntoDisplayClass odc=new OntoDisplayClass(null,cls,J3Dinterface.CurActiveOWLModel);
          //odc.setVisible(true);
    //      odc.setAlwaysOnTop(true);
         }
        }
       }
       };
       ruleTree.addMouseListener(mr);

      
      
             }    
   

最终生成的就是我的系统主界面左边的tab页内容


--  作者:alexwan
--  发布时间:9/10/2008 10:43:00 PM

--  本体内容的自定义查询界面

此主题相关图片如下:
按此在新窗口浏览图片
--  作者:alexwan
--  发布时间:9/10/2008 10:48:00 PM

--  预定义查询

此主题相关图片如下:
按此在新窗口浏览图片
--  作者:alexwan
--  发布时间:9/10/2008 11:02:00 PM

--  
上面的代码很乱,说实在的,对java的学习,也就两三个月时间,是边学习边完成了该系统,好在以前一直是用c的,所以上手还算快。

程序中的注释基本上很少,看起来可能比较费劲。我也没有多少时间花在该系统上,因为所开发的系统主要用于科研,不是实用的商业系统,所以,对其规范性也没在意。

贴这段代码的初衷是让那些利用protege owl api的新手们对开发接口有个认识,另外,这段程序也演示了在protege之外的应用程序中如何引用owl所提供的已有界面,例如在我的程序里,我引用了Protege owl 的类、属性、实例的树型显示。所以,劝告大家在利用owl api开发你自己的应用程序时,能引用Protege owl  窗体的尽量引用,因为它是开发源码,你可以做少许的工作,就可以完成你花很多天才完成功能。


--  作者:viaphone
--  发布时间:9/11/2008 9:02:00 AM

--  
牛啊
--  作者:rella
--  发布时间:9/11/2008 10:09:00 AM

--  
学习一下,也在用一些工具,不知道LZ对其他的有没有研究?

http://bbs.xml.org.cn/dispbbs.asp?boardID=2&ID=66772


--  作者:alexwan
--  发布时间:9/11/2008 4:59:00 PM

--  在外部程序中如何引用protege owl 类树、属性树、实例树
类树:
ClassTreeComponent pl= new ClassTreeComponent(null,J3Dinterface.CurActiveOWLModel);  
final JTree clsTree=pl.getTree();
实例树:
File file = new File("。。。");
JenaOWLModel createJenaOWLModelFromURI = ProtegeOWL.createJenaOWLModelFromURI(file.toURI().toString());
final OWLModel owlModel = createJenaOWLModelFromURI;
J3Dinterface.makeSystemClassesHidden(owlModel);
final ClassTree classTree;

RDFSNamedClass root = owlModel.getOWLThingClass();
classTree = new ClassTree(null, new ParentChildRoot(root));
classTree.setLargeModel(true);
  FrameRenderer renderer = FrameRenderer.createInstance();
  renderer.setDisplayDirectInstanceCount(true);
classTree.setCellRenderer(renderer);
classTree.setSelectionRow(0);
classTree.setCellRenderer(new InferredInstancesCountRenderer());
String classHiearchyLabel = LocalizedText.getText(ResourceKey.CLASS_BROWSER_HIERARCHY_LABEL);
jPanelIndividual = new LabeledComponent(null, ComponentFactory.createScrollPane(classTree));
jPanelIndividual.setBorder(ComponentUtilities.getAlignBorder()); 

对象属性树:
File file = new File("。。。l");
JenaOWLModel createJenaOWLModelFromURI = ProtegeOWL.createJenaOWLModelFromURI(file.toURI().toString());
final OWLModel owlModel2 = createJenaOWLModelFromURI;
List results = new ArrayList(owlModel2.getUserDefinedOWLObjectProperties());
Iterator i = results.iterator();
  while (i.hasNext()) {
         Slot slot = (Slot) i.next();
         if (slot.getDirectSuperslotCount() > 0) {
                  i.remove();
              }
   }
results.removeAll(Arrays.asList(owlModel2.getSystemAnnotationProperties()));
        if (OWLUI.getSortPropertiesTreeOption()) {
           Collections.sort(results, new FrameComparator());
 }
     
 objectPropertyTree = new TooltippedSelectableTree(null, new OWLPropertySubpropertyRoot(owlModel2,results,false));
 objectPropertyTree.setCellRenderer(new ResourceRenderer());
 objectPropertyTree.setShowsRootHandles(true);
 objectPropertyTree.setSelectionRow(0);
 objectPropertyTree.setLargeModel(true);
 jPanelObjectProperty.setLayout(new BorderLayout());
jPanelObjectProperty.add(objectPropertyTree,BorderLayout.CENTER);      
数据属性树:
File file = new File("。。。");
JenaOWLModel createJenaOWLModelFromURI = ProtegeOWL.createJenaOWLModelFromURI(file.toURI().toString());
final OWLModel owlModel1 = createJenaOWLModelFromURI;
List results = new ArrayList(owlModel1.getUserDefinedOWLDatatypeProperties());
  Iterator i = results.iterator();
while (i.hasNext()) {
              Slot slot = (Slot) i.next();
              if (slot.getDirectSuperslotCount() > 0) {
                  i.remove();
              }
  }
results.removeAll(Arrays.asList(owlModel1.getSystemAnnotationProperties()));
if (OWLUI.getSortPropertiesTreeOption()) {
           Collections.sort(results, new FrameComparator());
}
     
datatypePropertyTree = new TooltippedSelectableTree(null, new OWLPropertySubpropertyRoot(owlModel1,results,false));
datatypePropertyTree.setCellRenderer(new ResourceRenderer());
datatypePropertyTree.setShowsRootHandles(true);
datatypePropertyTree.setSelectionRow(0);
datatypePropertyTree.setLargeModel(true);
jPanelDataProperty.setLayout(new BorderLayout());
jPanelDataProperty.add(datatypePropertyTree,BorderLayout.CENTER);


--  作者:fanyi
--  发布时间:9/11/2008 8:04:00 PM

--  
请问这位高手,对jena和sparql有研究吗?
--  作者:alexwan
--  发布时间:9/11/2008 8:41:00 PM

--  
高手我不敢称,我在这个论坛上发贴,也是和大家一起学习探讨。我不研究本体,只是涉及了一点本体在设计领域的应用而已,所以,jena和sparql没有涉猎。但jena和protege owl api很大一部分是雷同的,另外,我查询所用的是sqwrl。所以我想,既然它是一种工具,用起来应该不难,但用精的话要花功夫
--  作者:zibo
--  发布时间:9/18/2008 5:03:00 PM

--  
学习中!
--  作者:juneforever
--  发布时间:9/19/2008 4:10:00 PM

--  [灌水][讨论]
牛!
--  作者:alexwan
--  发布时间:9/20/2008 9:36:00 PM

--  本体与几何元素的关联
在系统中,选中其中的本体实例(如连接端口),则在虚拟场景中自动调入该端口所属于的零件三维模型,并且将该连接端口所包含的几何面在虚拟场景的产品模型上以红色显著显示。如下图所示:
此主题相关图片如下:
按此在新窗口浏览图片
--  作者:feng93017
--  发布时间:10/6/2008 12:32:00 PM

--  
不错,让我也更有信心了!!!
--  作者:wulin5050
--  发布时间:10/15/2008 10:08:00 AM

--  
学习中啊
--  作者:alexwan
--  发布时间:10/18/2008 8:41:00 AM

--  最近对系统进行了版本的新版
主要是对本体做了修改,添加了相应的处理规则,增强了推理功能,另外,对界面也做了相应的更新。
此主题相关图片如下:
按此在新窗口浏览图片
--  作者:alexwan
--  发布时间:10/18/2008 8:47:00 AM

--  
加强了推理功能
此主题相关图片如下:
按此在新窗口浏览图片
--  作者:alexwan
--  发布时间:10/18/2008 8:48:00 AM

--  

此主题相关图片如下:
按此在新窗口浏览图片
--  作者:alexwan
--  发布时间:10/18/2008 8:54:00 AM

--  
另外,感觉在进行推理时,通过swrl规则应用jess进行推理,结果冗余很大,主要是我现在在protege中所建立的owl是owl-lite和owl-dl,而不是owl-full类型的,因此,很多集合约束操作在swrl无法实现,只能对初步的推理结果进行进一步的分析提取,方能得到你需要的结果。当然,如果把owl完全手工转化jess格式的描述,应用jess的处理功能,可以实现推理的准确性,因为在jess中可以调用你自己的java函数。目前,这种方法我没有试过,现在还是依赖protege owl api 种的bridge接口来实现推理
--  作者:smithwood
--  发布时间:10/20/2008 10:13:00 AM

--  
能否发一份给我,谢谢!wuzhiqiang518@tom.com
--  作者:sunbin428420
--  发布时间:10/20/2008 11:05:00 AM

--  
挺好的!我要一份!谢谢了!我的邮箱是:sunbin428420@163.com
--  作者:rosawu
--  发布时间:10/24/2008 5:09:00 AM

--  
楼主很牛
学习。。。
--  作者:zhuliice
--  发布时间:10/30/2008 9:12:00 AM

--  
I am interested in the reasoning part in your project. How does it differ from the query tab in protege? Can you give more details about this?
If possible, can you send me sth to zhuliice@gmail.com
Thanks!
--  作者:ganggao
--  发布时间:10/30/2008 2:49:00 PM

--  
牛人!
--  作者:xpchild
--  发布时间:10/31/2008 2:06:00 PM

--  
楼主能不能给我发一份,万分感激,呵呵,
我的邮箱   
xpchild@163.com

多谢多谢!


--  作者:jxf111348
--  发布时间:11/1/2008 2:21:00 PM

--  
楼主,能不能 给我 也发一份啊!万分感谢 !!jiaxuefeng0@gmail.com!再次感谢!
--  作者:kguoyao
--  发布时间:11/2/2008 10:17:00 AM

--  
楼主,也发我一份吧。
shabbyyao@gmail.com
--  作者:semimi
--  发布时间:11/3/2008 1:04:00 AM

--  
我也要
dy0015202@tom.com
--  作者:lyxyss
--  发布时间:11/3/2008 3:48:00 PM

--  
lz我在研究本体在产品配置方面的应用,能否发给我一份,不胜感激!!!!!
liyan0126@gmail.com
--  作者:ouyangcp
--  发布时间:12/3/2008 1:06:00 AM

--  
楼主,能否发一份源码给我呢?十分感谢!
ouyangcp@126.com
--  作者:sdc_1225
--  发布时间:12/4/2008 10:39:00 AM

--  
我也想要啊,谢啦
dachuan82@gmail.com
--  作者:leiaoxiong
--  发布时间:12/4/2008 2:29:00 PM

--  
我也正在学习,楼主发一份给我,谢谢啦!
leiaoxiong@163.com
--  作者:yishan
--  发布时间:12/5/2008 5:52:00 PM

--  
我也正在研究jane和protege,上手不难用好确实不容易,哎
搂主能不能也给我一份,我想看一下具体设置,也是java新手,边看书边折腾……
ysgeek@yahoo.com
--  作者:alexwan
--  发布时间:12/7/2008 2:11:00 PM

--  在java3d环境下的特征识别
特征识别前:

此主题相关图片如下:
按此在新窗口浏览图片

--  作者:alexwan
--  发布时间:12/7/2008 2:12:00 PM

--  java3d下特征识别
特征识别后:

此主题相关图片如下:
按此在新窗口浏览图片
--  作者:alexwan
--  发布时间:12/7/2008 2:40:00 PM

--  装配过程

此主题相关图片如下:
按此在新窗口浏览图片

此主题相关图片如下:
按此在新窗口浏览图片

此主题相关图片如下:
按此在新窗口浏览图片
--  作者:zist8888
--  发布时间:1/3/2009 4:12:00 PM

--  
楼主你好,我也在学习这个方面,希望也能给我发一份,谢谢,zhqj1983@163.com
--  作者:vita1982
--  发布时间:1/5/2009 9:21:00 AM

--  
楼主你好,我也在做类似的研究 能不能给我发一份,谢谢你了。simonwang123835@yahoo.com.cn
--  作者:jxf111348
--  发布时间:1/5/2009 5:04:00 PM

--  
楼主你好,我也在做类似的研究 能不能给我发一份,谢谢你了。jiaxuefeng0@gmail.com
--  作者:scut2006
--  发布时间:1/6/2009 9:43:00 AM

--  
楼主你好,我刚好开始学习这方面的知识, 能不能给我发一份,谢谢你了!!!
scutgogo-game@yahoo.com.cn
--  作者:Monica.wxy
--  发布时间:1/6/2009 9:56:00 AM

--  
牛!新手上路,还望指教!我也想要一份学习一下!
我的邮箱:Monica.wxy@hotmail.com
--  作者:funson
--  发布时间:1/6/2009 1:17:00 PM

--  
要是能发给我一份就好了!hsfunson@163.com
--  作者:would
--  发布时间:1/7/2009 11:18:00 AM

--  
楼主能发一份给我吗?万分感激sepc@163.com
--  作者:would
--  发布时间:1/7/2009 11:22:00 AM

--  
谢谢分享!
--  作者:parlace
--  发布时间:1/13/2009 10:03:00 AM

--  
正在学习这方面的内容,希望楼主能发一份给我学习,parlace@163.com,十分感谢!
--  作者:zly0819
--  发布时间:1/14/2009 3:52:00 PM

--  
我也在做本体,麻烦楼主发我一份,万分感激!zly0819@126.com
--  作者:fanwander
--  发布时间:2/5/2009 10:39:00 AM

--  
http://hexun.com/iting365
本体相关博客,欢迎大家进来讨论~
--  作者:vita1982
--  发布时间:2/5/2009 5:24:00 PM

--  
我也正在学习,楼主能发一份给我吗,谢谢啦!
simonwang123835@yahoo.com.cn

--  作者:我爱皮皮
--  发布时间:2/10/2009 11:09:00 AM

--  
请问楼主,能具体说说怎么在protege之外引用现有的owl组件吗?谢谢!
--  作者:gzc0408
--  发布时间:2/18/2009 2:13:00 PM

--  
强!麻烦楼主给我也传一份,学习下
gzc_pla1429@yahoo.com.cn
--  作者:huanqinbin
--  发布时间:2/24/2009 10:36:00 PM

--  
同学,你好,现在研究本体,不知道怎么去做,麻烦你给发一份,谢谢,huanqinbin@163.com
--  作者:handson647
--  发布时间:2/27/2009 6:39:00 PM

--  
哪位有这个源码啊?给俺发一下,急用,谢谢!
handson647@gmail.com
qq:603079745
--  作者:ROCGAO
--  发布时间:3/2/2009 9:10:00 PM

--  
楼主,我也要一份,学习下rocgao@126.com
--  作者:zhxiaomiao
--  发布时间:3/3/2009 4:06:00 PM

--  
关注楼主帖子好久了,楼主做的太好了 好久不来这了 估计楼主已经毕业了 哎 少了一个高人啊
--  作者:alexwan
--  发布时间:3/30/2009 5:55:00 PM

--  
应广大同仁的要求,把框架源程序传上来。




[此贴子已经被作者于2009-3-31 7:29:57编辑过]

--  作者:maomaogougou
--  发布时间:4/29/2009 10:19:00 PM

--  
看到您的大作,非常感兴趣。希望能进一步交流。“五一”过后我们就让交毕业论文呢?今天才发现咱们做的比较类似,希望能参考一下,谢谢!

--  作者:nfxu
--  发布时间:4/30/2009 12:30:00 PM

--  
我运行了LZ的代码,但界面同LZ的贴图完全不一样,当然还是用protege的API做的,但简单多了,没有什么实际用途。

抱歉,我上不了截图。


--  作者:zhenzixiong
--  发布时间:5/5/2009 4:27:00 PM

--  
高手,是否能发送给我一份啊?我正在做有关本体应用的部分,用了一小段时间的protege。对你用的3D很感兴趣。谢谢!!
--  作者:zhenzixiong
--  发布时间:5/6/2009 3:01:00 PM

--  
不好意思,忘了这个了 jingxiong125@gmail.com
--  作者:zhenzixiong
--  发布时间:5/6/2009 3:24:00 PM

--  
再次不好意思,框架代码已经成功下载!谢谢!
--  作者:arfa
--  发布时间:5/8/2009 10:34:00 AM

--  
楼主,我现在在做这方面的课题,要是可能的话,给我发一份,谢谢!
--  作者:tellmewhy143
--  发布时间:5/31/2009 10:57:00 PM

--  
楼主,也请给我发一份,谢谢啦 邮箱:hzd344963391@163.com
--  作者:laoying
--  发布时间:6/1/2009 12:13:00 PM

--  
楼主,看你的3D界面挺漂亮的!能否给我一份源码?谢谢!
hewei_xiaoxuan@tom.com
--  作者:springbird
--  发布时间:6/1/2009 7:05:00 PM

--  
楼主你好,看你做的挺漂亮的,我也做本体建模方面的研究,可不可以发一份给我,谢谢!
springbird2006@126.com
--  作者:formask
--  发布时间:6/14/2009 9:12:00 PM

--  
楼主,我也要一份,学习下formasker@yahoo.com.cn
--  作者:seulout
--  发布时间:6/18/2009 9:28:00 PM

--  
能否麻烦楼主发一份给我学习瞻仰一下,万分感谢
yaoyi@seu.edu.cn
--  作者:gameking157
--  发布时间:7/5/2009 1:28:00 PM

--  
楼主,我要求一份 gameking157@sohu.com
--  作者:陈红
--  发布时间:7/9/2009 9:40:00 AM

--  
高手,太牛了,能否发我一份,借鉴借鉴!谢谢!
xiaobaiaiqiaohong@126.com
--  作者:陈红
--  发布时间:7/9/2009 9:48:00 AM

--  
版主

    我现在在做本体规则推理这块,找了很多资料,你的效果图很不错,能否将你的代码发我一份。
    万分感激!
--  作者:dingdong78
--  发布时间:8/10/2009 6:10:00 PM

--  
能否发我一份,借鉴借鉴!谢谢!
497132@sohu.com
--  作者:dmhc55
--  发布时间:8/11/2009 10:41:00 AM

--  
楼主能不能发一份给我啊,最近也在作相关的研究,万分感谢啊。。。
--  作者:superflyer
--  发布时间:10/16/2009 9:43:00 PM

--  
高手,太牛了,能否发我一份,借鉴借鉴!谢谢!
superflyer2004@163.com
--  作者:xucong0701
--  发布时间:10/18/2009 7:06:00 PM

--  
正在研究学习语义本体方面的课题,LZ的系统很有参考意义,不知道能否发我一份
xuco0701@yahoo.com.cn,谢谢了!!
--  作者:Humphrey
--  发布时间:10/19/2009 8:32:00 AM

--  
楼主讲得比较详细,真是不可多得的好帖啊。
对API的使用一直是困扰我的问题,向alexwan同志学习,希望能够早日学会解决方法。
--  作者:hbxfzzq_hm
--  发布时间:11/18/2009 4:03:00 PM

--  
我也正在学习,楼主发一份给我,谢谢啦!
hbxfzzq_hm@yahoo.cn
--  作者:kimen929
--  发布时间:12/11/2009 1:20:00 AM

--  
能否也给我发一份?感激不尽
我的邮箱:kimen929@hotmail.com
--  作者:chenww
--  发布时间:1/19/2010 12:39:00 PM

--  
楼主有没有protege OWL  API 和protege  API学习的一些资料 最好是中文的,英文的也可以发过来看一下 谢谢了 我的邮箱是ctyyyyyy@163.com
--  作者:gloomytian
--  发布时间:2/26/2010 5:35:00 PM

--  
datianyun@163.com

谢谢楼主了


--  作者:ivoy
--  发布时间:3/4/2010 11:28:00 AM

--  
谢谢楼主呀,人很好
--  作者:shaolinshu_xjtu
--  发布时间:4/7/2010 12:56:00 PM

--  
楼主呀,你留得那个邮件我发信没发出去,可以参考下你的这个项目吗,给我发一份吧,谢谢了。我的邮箱是liubin2004@stu.xjtu.edu.cn
--  作者:willnow
--  发布时间:4/17/2010 4:21:00 PM

--  
willnow_c@126.com   谢谢楼主;
另外想请教一个问题:怎么使用描述逻辑或OWL描述“生了一儿子和一女儿并且儿子比女儿高的所有母亲”?这个问题困绕了我一天了。
--  作者:peter-yin
--  发布时间:4/21/2010 4:07:00 PM

--  
希望楼主的这些对我有用!!
现在毫无头绪呀
--  作者:peter-yin
--  发布时间:4/21/2010 4:18:00 PM

--  
谢谢,麻烦楼主也给我,我研究研究!
157033381@qq.com
--  作者:ivoy
--  发布时间:4/22/2010 5:28:00 PM

--  
楼主呀,能不能发一份给我呀?
我的邮箱linbixia2007@163.com谢谢呀
--  作者:ziyeyue1223
--  发布时间:4/24/2010 9:00:00 PM

--  
能不能发我一份呀,谢谢楼主了。
--  作者:ziyeyue1223
--  发布时间:4/24/2010 9:01:00 PM

--  
jiaoli1223@126.com能不能发给我一份,谢谢楼主了!
--  作者:yahua8023
--  发布时间:5/5/2010 3:23:00 PM

--  
楼主很厉害,我最近在研究基于protege做二次开发,要用到protege OWL API,不知道楼主有没有这方面的资料,发一份给我。非常感谢!
--  作者:service365
--  发布时间:5/7/2010 1:07:00 PM

--  
以下是引用alexwan在2008-12-7 14:12:00的发言:
特征识别后:

此主题相关图片如下:
按此在新窗口浏览图片


展示效果不错,楼主的零件绘制是调用AutoCAD的显示模块?
--  作者:service365
--  发布时间:5/7/2010 1:22:00 PM

--  
以下是引用alexwan在2009-3-30 17:55:00的发言:
应广大同仁的要求,把框架源程序传上来。




[此贴子已经被作者于2009-3-31 7:29:57编辑过]



这个程序可以跑起来吗,呵呵
--  作者:bzilada
--  发布时间:5/8/2010 6:51:00 PM

--  
楼主,看了你的这些,我太佩服你了,我最近正在做关于本体的推理研究,一直困扰着我,很是痛苦,可不可以把你的源码给我一份呢。我QQ821246110,邮箱821246110@qq.com

--  作者:yahua8023
--  发布时间:5/12/2010 2:59:00 PM

--  
楼主很厉害,我最近在研究基于protege做二次开发,要用到protege OWL API,不知道楼主有没有这方面的资料,发一份给我。非常感谢!我的邮箱是wangyahuaxxy8023@163.com
--  作者:q4951408
--  发布时间:7/3/2010 9:56:00 PM

--  
楼主真猛男也!
--  作者:shizi1987128
--  发布时间:7/20/2010 2:00:00 AM

--  
请帮帮忙,最近在研究jena解析本体,用protege建模,不好上手,还请借您的源码看看
麻烦发一份至shizi1987128@163.com
万分感谢
--  作者:廖娟娟
--  发布时间:5/27/2015 5:22:00 PM

--  
up
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
562.500ms