- 浏览: 61614 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 882引自:http://hi.baidu.com/fe ... -
OWL-S API指南
2010-07-15 16:13 1231引自http://yoancn.blogbus.com/log ... -
在 Protege中安装owl-s editor、graphviz插件
2010-07-15 15:59 29661.软件安装: 双击install_protege.exe安 ... -
语义Web服务的API使用实例:OWL-S API结合matchmaker、推理机(Jena、Pellet)进行语义转换、匹配、组合及调用web服务
2010-07-15 15:58 1687引自http://www.cnblogs.com/armyme ... -
Jena 环境的配置
2010-07-15 15:55 1189引自 http://www.cnblogs.com/armym ... -
基于OWL-S的语义Web服务发现组装的常用工具
2010-07-15 15:54 1205Protege + OWL-S Editor + ... -
使用jena持久化OWL本体到MySQL
2010-07-15 15:54 1390引自http://www.cnblogs.com/ar ... -
语义Web Service检索服务的工具下载
2010-07-15 15:52 877Eclipse下载: http://www.eclipse.o ... -
本体推理的一个例子
2010-07-15 15:19 2486引自http://hi.baidu.com/wxmsona/b ... -
家族族谱推理规则文件
2010-07-15 15:19 695引自http://hi.baidu.com/wxmsona/b ... -
家族族谱owl文件
2010-07-15 15:17 1053引自http://hi.baidu.com/wxmsona/b ... -
RDF数据查询语言SPARQL
2010-07-15 15:16 1577数据源,一个RDF文件,就是帮助文档中的vc-db-1.rdf ... -
用 SPARQL 搜索 RDF 数据
2010-07-15 15:14 1697随着越来越多的数据使用类似 RSS 的 RDF 格式保存, ... -
jena 操作RDF的一个例子(参考IBM的一篇文章)
2010-07-15 15:13 1268jena 操作RDF的一个例子 ... -
Jena的一个例子
2010-07-15 15:12 1185摘自:http://www.crabone.com/index ... -
本体(Ontology)综述
2010-07-15 15:10 1026本体作为一种能在语义和知识层次 上描述领域概念的建模工具,其 ... -
语义Web和本体开发相关技术
2010-07-15 15:09 1318摘自:http://iMarine.blog.163.com/ ... -
owl-s API一个简单例子
2010-07-15 15:09 1165owl-s语义Web服务标记语言, 在Tim Berners- ... -
语义Web
2010-07-15 14:48 858语 义Web概念: 1998 ... -
语义Web中语言与本体
2010-07-15 14:43 842随着人们对网络上信 ...
相关推荐
Jena提供了对OWL的支持,并且在这个特定的2.6.4版本中,它被认为是最稳定的用于将OWL本体持久化到数据库(如MySQL)的工具。 描述中提到的“将OWL本体持久化到MySQL,最稳当的包,高于2.6版本的包找不到持久化方法...
Jena是一个基于Java的本体处理框架,它提供了将本体存入关系数据库的接口,支持多种数据库管理系统,包括MySQL、HSQLDB、PostgreSQ、Oracle和Microsoft SQL Server等。下面我们将详细介绍使用Jena将本体存入MySQL的...
此次我们关注的是Jena的2.6.4版本,这是一个经过广泛测试和验证的稳定版本,尤其适用于将本体模型持久化存储到数据库中。 Jena 2.6.4提供了丰富的API和功能,使得开发者能够方便地在Java环境中构建和操作本体模型。...
在本案例中,我们关注的是Jena 2.6.4 版本,这个版本具有将本体模型持久化到MySQL数据库的能力。 **Jena API** Jena 提供了一套全面的API,使得开发者能够轻松地处理语义网数据。这些API包括: 1. **Model API**...
10. **Triple Store**: Jena支持多种类型的Triple Store,包括内存中的存储和持久化的存储,如TDB和SDB。 安装Apache Jena 2.12.1的步骤如下: 1. 首先,从Apache官方网站下载"apache-jena-2.12.1"压缩包。 2. ...
3. **TDB**:TDB是Jena的一个持久化存储系统,专为大规模RDF数据设计,提供高效且可扩展的存储解决方案。 4. **ARQ**:ARQ是Jena的SPARQL查询引擎,支持标准SPARQL语法,包括SELECT、CONSTRUCT、ASK和DESCRIBE四种...
5. **GraphDB**:Jena内置了内存数据库和持久化存储选项,如TDB(Triple-Database)和FUSEKI(一个基于HTTP的SPARQL服务器),用于存储和检索大量RDF数据。 6. **Reasoners**:Jena包含了几种推理引擎,如Hermit、...
学习过程中做的一个利用Jena实现的推理...内容包含:构建model,实现数据库与model关联,读入本体文件,构建规则,使用规则构建推理机,构建查询,实施查询,输出查询结果,将本体持久化到Mysql数据库。希望有帮助。
5. **持久化存储**:Jena支持多种存储后端,如内存、文件系统、RDF4J或JDBC,可以灵活选择适合的存储方案。 ### 四、实际应用案例 1. **知识图谱构建**:Jena可以帮助构建和维护大型知识图谱,如Google的Knowledge...
Jena提供数据存储和管理的功能,可以将这些数据加载到内存模型中,或者持久化到文件系统或数据库。 `rules`目录则可能包含了规则文件,这些规则可能基于SWRL(Semantic Web Rule Language),用于进行语义推理。...
5. **Jena SDB**: 提供了一个持久化存储解决方案,可以将大型RDF数据集存储在数据库中,以提高性能和可扩展性。 **Jena的基本用法** 一个简单的Jena使用例子可能涉及以下步骤: 1. **创建Model**: 首先,我们需要...
- **存储支持**:支持内存存储和持久化存储,兼容多种数据库系统,如MySQL、Oracle和PostgreSQL。 - **本体子系统**:提供了一组接口来支持OWL、DAML+OIL和RDFS等标准的本体构建和管理。 #### 基于Jena的本体构建...
3. **数据库集成**:提供机制用于将数据存储在数据库中,支持持久化存储和高性能查询。 4. **查询与推理**:具备查询模型的能力,并支持基于规则的推理,增强数据理解和分析的深度。 5. **URI规范**:强调URI作为...
14. 处理持久化的本体:讨论如何将本体存储和加载到持久化存储,如文件系统或数据库中。 15. 实验性本体工具:介绍一些实验性的功能或工具,可能还未完全成熟,但对开发人员有帮助。 16. 常见的本体应用问题和示例...
它包含了内置的内存模型存储,适用于小型数据集,同时也支持连接到像TDB这样的持久化存储系统,这对于处理大规模的RDF数据至关重要。TDB是一个专门为RDF设计的关系数据库,能够在保持高性能的同时,有效管理海量数据...
**TDB组件**是Apache Jena的持久化存储解决方案,专为大规模语义数据设计。TDB提供了一个高性能、可扩展的关系数据库模型来存储和检索RDF数据。它允许开发者在内存和磁盘之间透明地管理数据,同时保持高效的查询性能...
关系型数据库是最常见的数据库类型,遵循ACID(原子性、一致性、隔离性和持久性)原则,支持SQL查询语言,数据以表格形式组织,通过键值关联实现数据之间的关系。它们在企业级应用中占据主导地位,尤其适合处理结构...
**关系型数据库**(Relational Database Management System, RDBMS):如MySQL、Oracle、SQL Server等,基于关系理论,使用表格形式存储数据,支持ACID(原子性、一致性、隔离性、持久性)特性,适用于需要高度结构...
12. **持久化本体**:介绍如何保存和加载本体模型到文件或数据库。 13. **实验性本体工具**:可能包含一些前沿或仍在开发中的特性。 **进一步的帮助** 如果你在使用Jena Ontology API时遇到问题,可以通过加入Jena...