以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  在protege安装目录的plugins里,找不到edu.stanford.smi.protegex.owl.model 包  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=64531)


--  作者:flyinqq
--  发布时间:7/10/2008 6:58:00 PM

--  在protege安装目录的plugins里,找不到edu.stanford.smi.protegex.owl.model 包
求助~~
我的protege的安装目录下的plugins里面
有edu.stanford.smi.protegex.owl 包
但怎么也没有edu.stanford.smi.protegex.owl.model啊
所以编译时import edu.stanford.smi.protegex.owl.model.OWLModel就有问题了。
虽然我已经将plugins里的所有文件夹都拷到我的project目录的plugins里面了。
各位edu.stanford.smi.protegex.owl.model这个有吗?在哪??
我用的protege 3.4 beta

我用的JCreator
我已经把plugins\edu.stanford.smi.protegex.owl里面的所有jar文件都添加到classpath里去了

我的程序就是protege owl api guide里的一个示例
资料出处:http://protege.stanford.edu/plugins/owl/api/guide.html
程序代码:
package com.demo.application;

import edu.stanford.smi.protegex.owl.model.OWLModel;
import edu.stanford.smi.protegex.owl.model.OWLNamedClass;
import edu.stanford.smi.protegex.owl.ProtegeOWL;

public class OWLAPIDemoApplication {

    public static void main(String[] args) {
        OWLModel owlModel = ProtegeOWL.createJenaOWLModel();
        owlModel.getNamespaceManager().setDefaultNamespace("http://hello.com#");
        OWLNamedClass worldClass = owlModel.createOWLNamedClass("World");
        System.out.println("Class URI: " + worldClass.getURI());
    }
}

错误信息是这样的
--------------------Configuration: OWLAPIDemoApplication - JDK version 1.6.0_07 <Default> - <Default>--------------------
D:\Program Files\Protege_3.4_beta\OWLAPIDemoApplication\src\OWLAPIDemoApplication.java:18: 无法访问 edu.stanford.smi.protege.model.DefaultKnowledgeBase
未找到 edu.stanford.smi.protege.model.DefaultKnowledgeBase 的类文件
        OWLModel owlModel = ProtegeOWL.createJenaOWLModel();
                                                         ^
D:\Program Files\Protege_3.4_beta\OWLAPIDemoApplication\src\OWLAPIDemoApplication.java:19: 无法访问 edu.stanford.smi.protege.model.KnowledgeBase
未找到 edu.stanford.smi.protege.model.KnowledgeBase 的类文件
        owlModel.getNamespaceManager().setDefaultNamespace("http://hello.com#");
                ^
D:\Program Files\Protege_3.4_beta\OWLAPIDemoApplication\src\OWLAPIDemoApplication.java:21: 无法访问 edu.stanford.smi.protege.model.Instance
未找到 edu.stanford.smi.protege.model.Instance 的类文件
        System.out.println("Class URI: " + worldClass.getURI());
                                                     ^
3 错误

Process completed.

我查了一下
http://protege.stanford.edu/download/prerelease_javadoc_owl/index.html

的确是有Package edu.stanford.smi.protegex.owl.model 这个包的
可能我protege安装目录下plugins里面没有。。。


--  作者:flyinqq
--  发布时间:7/10/2008 7:37:00 PM

--  
解决了!
根据lafille的帮助下,
问题出在
报错的是缺少edu.stanford.smi.protege.model.*这个包,刚才我说的是edu.stanford.smi.protegex.owl.model,两个包不同的,edu.stanford.smi.protege.model.*这个包在protege安装目录下面,要把protege按照目录下的几个jar包也要考进去

这样改了一下,编译通过了,可以run了!!
但还有个warning...不懂什么意思

--------------------Configuration: OWLAPIDemoApplication - JDK version 1.6.0_07 <Default> - <Default>--------------------
WARNING: [Local Folder Repository] The specified file must be a directory. (D:\Program Files\Protege_3.4_beta\OWLAPIDemoApplication\classes\plugins\edu.stanford.smi.protegex.owl) -- LocalFolderRepository.update()
Class URI: http://hello.com#World

Process completed.


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