以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Semantic Web(语义Web)/描述逻辑/本体 』 (http://bbs.xml.org.cn/list.asp?boardid=2) ---- 向高手求救:如何将创建好的本体数据导入MySQL中[求助] (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=84284) |
-- 作者:白色闪电 -- 发布时间:4/13/2010 5:18:00 PM -- 向高手求救:如何将创建好的本体数据导入MySQL中[求助] 大家好! 请问如何将创建好的本体数据导入MySQL中,请求 详细的导入方法,谢谢! |
-- 作者:Avansky -- 发布时间:4/13/2010 10:20:00 PM -- 在Myeclipse中实现Jena 可以在Jena的主页(http://jena.sourceforge.net/downloads.html)下载Jena的最新版本,目前是Jena2.4版本。Jena是Java API,所以需要Java运行环境。本文使用的是jdk1.5.0_04和Eclipse3.2。 1)将下载的Jena-2.4.zip解压到任意路径,解压之后生成Jena2.4文件夹,将Jena2.4\lib下的jar文件全部加入CLASSPATH,这样就可以在任意的Java编辑器中调用Jena API了。在解压目录下有一个test.bat文件,用于配置的测试。在控制台运行此程序,如果你的配置正确,测试将顺利完成。 2)如果使用Eclipse,则可以通过修改工程的Java创建路径的方法导入Jena jar文件。在Eclipse下创建Java工程(eg:OWL_SQL.java),右健单击工程名字,选择“属性/Properties”,在打开的对话框中选择“Java创建路径/Java Build Path”,在右边标签中选择“库/Libraries”,之后选择“添加外部文件/Add Extenal JARs”,找到Jena2.4\lib目录下的所有jar文件并将其添加到工程。这样就可以运行Jean文档中的例子了。 3)在Eclipse中用同样的方法导入mysql-connector-java-5.0.8-bin.jar到工程OWL_SQL.java中。 import java.io.*; import java.sql.SQLException; import com.hp.hpl.jena.db.*; import com.hp.hpl.jena.rdf.model.*; public class OWL_SQL1{ public static final String strDriver ="com.mysql.jdbc.Driver"; // path of driver class public static final String strURL ="jdbc:mysql://localhost:3306/avan"; // URL of database public static final String strUser ="root"; // database user id public static final String strPassWord ="root"; // database password public static final String strDB="MySQL"; // database type public static void main(String[] args){ try{// 创建一个数据库连接 IDBConnection conn = new DBConnection ( strURL, strUser, strPassWord, strDB ); // 加载数据库驱动类,需要处理异常 try{ Class.forName(strDriver); }catch(ClassNotFoundException e) { System.out.println("ClassNotFoundException, Driver is not available..."); } // 使用数据库连接参数创建一个模型制造器 ModelMaker maker = ModelFactory.createModelRDBMaker(conn); // 创建一个默认模型,命名为 MyOntology Model defModel = maker.createModel("TNB"); // 准备需要存入数据库的本体文件,建立输入文件流 FileInputStream inputStreamfile = null; try { File file = new File("D:\\Program Files\\Protege_3.1\\TNB.owl"); inputStreamfile = new FileInputStream(file); } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("Ontology File is not available..."); } InputStreamReader in = null; try { in = new InputStreamReader(inputStreamfile, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } // 读取文件 defModel.read(in,null); // 关闭输入流读取器 try { in.close(); } catch (IOException e) { e.printStackTrace(); } // 执行数据转换,将本体数据存入数据库 defModel.commit(); // 关闭数据库连接 try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } }catch(RDFRDBException e){ System.out.println("Exceptions occur..."); } } } 二,Jena Ontology API 例子的主要代码如下列出。
|
-- 作者:白色闪电 -- 发布时间:4/14/2010 10:41:00 AM -- 非常感谢,我试试您说的方法 下面这个例子看过,总之,谢啦 |
-- 作者:angleangleangle -- 发布时间:4/20/2010 5:26:00 PM -- 楼上的说法,运行结果是Exceptions occur... |
-- 作者:Avansky -- 发布时间:4/21/2010 6:14:00 PM -- 兄弟,你好! 1)在window---->Prefrences---->MyEclipse Edition------>Database Explorer----->Database Drivers中添加与数据库的链接。 2)必须在Myeclipse项目中,Referenced Libraries中导入mysql-connector包。 |
-- 作者:Avansky -- 发布时间:4/21/2010 6:19:00 PM -- MyEclipse和Mysql的配置!! 下面是别人的博客,讲的很详细! Java中使用JDBC访问MySQL数据库: |
-- 作者:angleangleangle -- 发布时间:5/4/2010 10:14:00 PM -- 存储数据库那个输出什么也没有 [此贴子已经被作者于2010-5-5 15:09:55编辑过]
|
-- 作者:angleangleangle -- 发布时间:5/4/2010 10:25:00 PM -- mydb mydb mydb 20000908 honey 21 [此贴子已经被作者于2010-5-5 15:07:32编辑过]
|
-- 作者:lyfsemanticweb -- 发布时间:9/7/2010 7:47:00 PM -- 弱弱的问一下怎么将用protege构建的本体保存到SQL server数据库中啊? |
-- 作者:qxr777 -- 发布时间:9/12/2010 9:33:00 PM -- 将OWL文件导入DB,效率真的能够比导入内存高吗? 我们有一个2M左右的owl,持久化到MySQL后,再从MySQL中载入内存,居然大约得花10分钟的时间;而直接从owl文件载入内存则快得多。 |
-- 作者:ylzhu -- 发布时间:9/13/2011 8:37:00 PM -- 我现在在做本体存储的实验,我想把已经建立好的本体存入SQL2005中。我使用的是MyEclipse-8.6 jena-2.8.5 但是我的程序报错: Exception in thread "main" com.hp.hpl.jena.db.RDFRDBException: Failure to instantiate DB Driver:SQLServer java.lang.ClassNotFoundException: com.hp.hpl.jena.db.impl.Driver_SQLServer at com.hp.hpl.jena.db.DBConnection.getDriver(DBConnection.java:272) at com.hp.hpl.jena.db.DBConnection.containsModel(DBConnection.java:195) at com.hp.hpl.jena.db.impl.GraphRDBMaker.hasGraph(GraphRDBMaker.java:132) at com.hp.hpl.jena.db.impl.GraphRDBMaker.createGraph(GraphRDBMaker.java:94) at com.hp.hpl.jena.rdf.model.impl.ModelMakerImpl.createModel(ModelMakerImpl.java:46) at com.hp.hpl.jena.rdf.model.impl.ModelMakerImpl.createModel(ModelMakerImpl.java:49) at benticunchu.ReadOntologyFromMysql.ceateDBModelFromFile(ReadOntologyFromMysql.java:56) at benticunchu.ReadOntologyFromMysql.main(ReadOntologyFromMysql.java:142) Caused by: java.lang.ClassNotFoundException: com.hp.hpl.jena.db.impl.Driver_SQLServer at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.hp.hpl.jena.db.DBConnection.getDriver(DBConnection.java:267) ... 7 more 哪位大侠帮帮我解决一下这个问题吧!非常感谢啊! |
-- 作者:glcyming -- 发布时间:3/5/2012 10:09:00 PM -- protege直接导入mysql数据库错误 我用protege直接导入mysql数据库,为什么说字节过长之类的错误,是怎么回事啊?请高手指教啊! |
-- 作者:yimi_lai -- 发布时间:5/10/2012 5:30:00 PM -- 同9楼,怎么将用protege构建的本体保存到SQL server数据库中啊?求指导。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
156.250ms |