以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 数据库 』  (http://bbs.xml.org.cn/list.asp?boardid=17)
----  [求助]将OWL导入SQL数据库的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=40264)


--  作者:fqyuwhb
--  发布时间:11/20/2006 4:18:00 PM

--  [求助]将OWL导入SQL数据库的问题
大家好:

我们现在有成型的OWL数据,但是采用protege打开的时候,因为数据量太大,出现heap space的问题.
所以就用不了protege直接的界面操作工具(用protege将owl转为sql database).

考虑protege是否有某些开源的class,可以做到owl->数据库的转换工作.

我们目前知道的有 http://protege.stanford.edu/download/prerelease_javadoc_owl/edu/stanford/smi/protegex/owl/database/OWLDatabaseModel.html

这是OWL database的包, 看起来有些复杂,这个class和其他的类有相关性.

不知道有没有直接的API接口可以做?其数据库中数据的关系描述(如类,属性,实例等)是如何描述的?

现在是在摸黑做,所以想知道别人是否做过这样的工作,有些什么经验或者是相关文献可以参考.

谢谢


--  作者:micropuss
--  发布时间:3/24/2008 10:28:00 AM

--  
How to load an ontology from a Protégé OWL Database using the API?    

Method 1   
The simplest way to load an OWL Database project is to load programmatically the project (pprj file), which already contains all database connection information:

Project prj = Project.loadProjectFromFile("/home/pizza_db.pprj",errors);
OWLModel owlModel = (OWLModel) prj.getKnowledgeBase();
...

Method 2
The second method should be used if there is no project file (.pprj) associated with the OWL Database ontology.  

OWLDatabaseKnowledgeBaseFactory factory = new OWLDatabaseKnowledgeBaseFactory();         
Project prj = Project.createNewProject(factory, errors);
OWLDatabaseKnowledgeBaseFactory.setSources(prj.getSources(), "com.mysql.jdbc.Driver", "jdbc:mysql://localhost:3306/protege", "pizza", "user", "password");
prj.createDomainKnowledgeBase(factory, errors, true);

OWLModel owlModel = (OWLModel) prj.getKnowledgeBase();

我不知道还没有其他方法,欢迎讨论!!


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