- 浏览: 59946 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
pkmu8426:
楼主 您好小弟初学Jena 发觉网上文件实在是太少正好看到您这 ...
本体推理的一个例子 -
hadesmile:
确实是个问题,不过一般不这样用,
奇怪的notify()与notifyAll()的执行问题 -
yydcj:
hadesmile 写道10个reduce线程虽然是顺序实例化 ...
一个notify()的实例分析 -
hadesmile:
10个reduce线程虽然是顺序实例化的,但是他们并不是顺序拿 ...
一个notify()的实例分析 -
biganer2008:
你好,按着你的步骤安装后,OWLVizTab标签空白啊,不知道 ...
在 Protege中安装owl-s editor、graphviz插件
Jena 由 HP Labs (http://www.hpl.hp.com ) 开发的Java 开发工具包, 用于Semantic Web( 语义网) 中 的应用程序开发;Jana 是开源的,在下载的文档中有Jena 的完整代码。
jena支持的数据库有:
Database Engine
JDBC Driver
HSQLDB 1.8.0
MySQL 4.1.11
MySQL 5.0.18JDBC driver versions: 3.0,
3.1, 5.0
PostgreSQL 7.3
PostgreSQL 8.0JDBC driver 7.3
JDBC driver 8.0
Apache Derby 10.1
Oracle 10 XE
Oracle ojdbc14 driver (thin
driver) 10.2.0.2
Oracle 9i Release 2
Oracle ojdbc14 driver (thin
driver) 10.2.0.2
Oracle 10g Release 2
Oracle ojdbc14 driver (thin
driver) 10.2.0.2
Microsoft SQL Server 2005
Express SP1
Microsoft SQL Server 2005 JDBC
Driver
Microsoft SQL Server 2000
Microsoft SQL Server Desktop EditionMicrosoft SQL Server 2005 JDBC
Driver
jTDS version 1.2
jena可以操作rdf文件和owl文件,下面我们给出例子持久化这些文件到数据库
Jena supports both memory models and database models. In general, a
Jena program may use both types of models identically. However, there
are some differences in how the models are created. Creating a memory
model can be done with a single Jena call. Creating a database model, or
opening a previously created one, requires several steps as as follows. Persistent models are created in the same way for any database
system: Creating and Accessing Persistent Models有两种方法: Creating or opening a model is a three-step process. First, the
driver class must be loaded and a connection established to the database
(note that in Jena2, the database type is specified as part of the
database connection). Second, a model maker class is constructed. The
model maker creates persistent instances of the Model class. Third, the
model maker class is invoked to create new models or to open existing
models. The following examples show how this is done. Creating an instance of ModelRDB is a two-step process. As with the factory methods, the first step is to load the driver class and establish a database connection. Second, the static methods on ModelRDB are used to create new ModelRDB instances or to open existing ones. The following examples show how this is done. 一个例子:http://jena.sourceforge.net/examples/persistent-ont-model/index.html
Factory Methods:
// database URL
String M_DB_URL = "jdbc:mysql://localhost/test"
;
// User name
String M_DB_USER = "test"
;
// Password
String M_DB_PASSWD = ""
;
// Database engine name
String M_DB = "MySQL"
;
// JDBC driver
String M_DBDRIVER_CLASS = "com.mysql.jdbc.Driver"
;
// load the the driver class
Class.forName(M_DBDRIVER_CLASS);
// create a database connection
IDBConnection conn = new
DBConnection(M_DB_URL, M_DB_USER, M_DB_PASSWD, M_DB);
// create a model maker with the given connection parameters
ModelMaker maker = ModelFactory.createModelRDBMaker(conn);
// create a default model
Model defModel = maker.createDefaultModel();
// Open existing default model
Model defModel = maker.openModel();
// or create a named model
Model nmModel = maker.createModel("MyNamedModel");
// or open a previously created named model
Model prvModel = maker.openModel("AnExistingModel");
ModelRDB Methods:
String M_DB_URL = "jdbc:mysql://localhost/test"
;
String M_DB_USER = "test"
;
String M_DB_PASSWD = ""
;
String M_DB = "MySQL"
;
String M_DBDRIVER_CLASS = "com.mysql.jdbc.Driver"
;
// load the the driver class
Class.forName(M_DBDRIVER_CLASS);
// create a database connection
IDBConnection conn =
new
DBConnection(M_DB_URL, M_DB_USER, M_DB_PASSWD, M_DB);
// ---- Directly use ModelRDB
// create a default model
ModelRDB defModel = ModelRDB.createModel(conn);
...
// Open an existing model.
ModelRDB defModel2 = ModelRDB.openModel(conn);
...
// create a named model
ModelRDB nmModel = ModelRDB.createModel(conn,"MyModelName");
...
// open a named model
ModelRDB nmModel2 = ModelRDB.openModel(conn,"ExistingModelName");
...
下面给出一个完整的源码例子:
package com.jena.db;
import java.sql.SQLException;
import com.hp.hpl.jena.db.*;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.rdf.model.*;
public class Example {
public void test()
{
String className = "com.mysql.jdbc.Driver"; // path of driver class
try {
Class.forName (className);
String DB_URL = "jdbc:mysql://localhost/jena"; // URL of database
String DB_USER = "root"; // database user id
String DB_PASSWD = "123"; // database password
String DB = "MySQL"; // database type
// Create database connection
IDBConnection conn = new DBConnection ( DB_URL, DB_USER, DB_PASSWD, DB );
ModelMaker maker = ModelFactory.createModelRDBMaker(conn) ;
// create or open the default model
Model model = maker.createDefaultModel();
OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, model );
m.read("file:creature.owl");
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void test1()
{
try{
Class.forName( "com.mysql.jdbc.Driver");
String DB_URL = "jdbc:mysql://localhost/jenatest"; // URL of database
String DB_USER = "root"; // database user id
String DB_PASSWD = "123"; // database password
String DB = "MySQL";
IDBConnection conn = new DBConnection ( DB_URL, DB_USER, DB_PASSWD, DB );
ModelRDB defModel = ModelRDB.createModel(conn);
defModel.read("file:creature.owl");
conn.close();
//conn.cleanDB();//这个方法是清除数据库里的东西
}catch(Exception e){e.printStackTrace();}
}
public static void main(String[]args)
{
Example e=new Example();
e.test();
e.test1();
}
}
这些都
是我从帮助文档里总结和截取出来的,希望对有需要的朋友提供帮助。。。
发表评论
-
DAML-S简介
2010-08-02 11:30 851引自:http://hi.baidu.com/fe ... -
OWL-S API指南
2010-07-15 16:13 1202引自http://yoancn.blogbus.com/log ... -
在 Protege中安装owl-s editor、graphviz插件
2010-07-15 15:59 29111.软件安装: 双击install_protege.exe安 ... -
语义Web服务的API使用实例:OWL-S API结合matchmaker、推理机(Jena、Pellet)进行语义转换、匹配、组合及调用web服务
2010-07-15 15:58 1648引自http://www.cnblogs.com/armyme ... -
Jena 环境的配置
2010-07-15 15:55 1161引自 http://www.cnblogs.com/armym ... -
基于OWL-S的语义Web服务发现组装的常用工具
2010-07-15 15:54 1181Protege + OWL-S Editor + ... -
使用jena持久化OWL本体到MySQL
2010-07-15 15:54 1365引自http://www.cnblogs.com/ar ... -
语义Web Service检索服务的工具下载
2010-07-15 15:52 848Eclipse下载: http://www.eclipse.o ... -
本体推理的一个例子
2010-07-15 15:19 2461引自http://hi.baidu.com/wxmsona/b ... -
家族族谱推理规则文件
2010-07-15 15:19 654引自http://hi.baidu.com/wxmsona/b ... -
家族族谱owl文件
2010-07-15 15:17 1014引自http://hi.baidu.com/wxmsona/b ... -
RDF数据查询语言SPARQL
2010-07-15 15:16 1549数据源,一个RDF文件,就是帮助文档中的vc-db-1.rdf ... -
用 SPARQL 搜索 RDF 数据
2010-07-15 15:14 1670随着越来越多的数据使用类似 RSS 的 RDF 格式保存, ... -
jena 操作RDF的一个例子(参考IBM的一篇文章)
2010-07-15 15:13 1233jena 操作RDF的一个例子 ... -
Jena的一个例子
2010-07-15 15:12 1163摘自:http://www.crabone.com/index ... -
本体(Ontology)综述
2010-07-15 15:10 999本体作为一种能在语义和知识层次 上描述领域概念的建模工具,其 ... -
语义Web和本体开发相关技术
2010-07-15 15:09 1290摘自:http://iMarine.blog.163.com/ ... -
owl-s API一个简单例子
2010-07-15 15:09 1137owl-s语义Web服务标记语言, 在Tim Berners- ... -
语义Web
2010-07-15 14:48 834语 义Web概念: 1998 ... -
语义Web中语言与本体
2010-07-15 14:43 803随着人们对网络上信 ...
相关推荐
很经典!我在学习!和大家一起分享!Jena持久化OWL到Mysql
这是通过java把本体持久化到数据库的最稳定版本,压缩包里面包含了必要的jar同时也包含jar对应的源码
将OWL本体持久化到MySQL,最稳当的包,高于2.6版本的包找不到持久化方法了
jena是apache的一个开源语义网项目,版本为2.6.4,此版本可以将本体持久化到Mysql数据库中,jena的版本过低或者过高都不可以。
使用Jena将本体存入MySQL——文档和例子
基于Jena的分布式RDF数据库实现,可自由伸缩,三元组
学习过程中做的一个利用Jena实现的推理...内容包含:构建model,实现数据库与model关联,读入本体文件,构建规则,使用规则构建推理机,构建查询,实施查询,输出查询结果,将本体持久化到Mysql数据库。希望有帮助。
昨天对其配置了一天,其配置为Jena 2.4.0,MySQL数据库版本为5.1.42-community,JDK版本为1.6.0,MySQLdriver为mysql-connector-java-3.1.14; 并按照网络上的资源编写了一个例子,结果出现了一个问题,程序在debug...
Apache Jena (web 语义化框架)简介 Apache Jena 3.1.1 发布了,Apache Jena 是用于构建 web 语义化和关联数据应用程序的 Java 框架。 Apache Jena (web 语义化框架)更新内容: 改进 JSON-LD 输出 完成 F&O ...
jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架实例jena框架...
jena2.13,jena jia包,官网最新版。jena是一个java 的API,用来支持语义网的有关应用。
想学习jena 就看此资源,jean入门的朋友看看,里面是一个jena与本体应用的联系操作实例,对jena初学者有很大帮助,希望可以帮到大家。
重点研究了Jena的结构 与推理机制,开发了基于Jena数据库集成原型系统,实现了基于语义的信息查询。
这是一个jena api解析owl文件的简单案例。
数据库课程报告,jena的笔记综合,清晰列出的笔记
关于jena API的较详细介绍,关于jena API的较详细介绍
一般来说,我们在Protege这样的编辑器里构建了本体,就会想在应用程序里使用它,这就需要一些开发接口。...Jena是HP公司开发的这样一套API,似乎HP公司在本体这方面走得很靠前,其他大公司还在观望吗?
TDB(RDF数据的存储数据库) 此外Jena还提供了非常实用的命令行工具(例如SPARQL查询、批量导入RDF数据等)和一个基于Jena框架构建的Web应用程序Fuseki。 学习Jena框架,一定要结合对于的语义技术的知识,这样才能...
这是用jena对本体进行解析的很好的一篇文档,大家好好参考哦