Archive for the ‘Semantic Web’ Category

Jena操作本体的持久化方法(二):持久化到数据库

Saturday, April 7th, 2007 | 1 views

其实对于本体的应用而言,似乎持久化到数据库才是正道,关于本体到数据库的映射有许多的论文讨论,我以为好的映射关系首先应当是完备的,既不减少信息,其次应当能充分利用数据库的优势(效率,权限控制等),毕竟,本体应用现在极大的障碍就是效率。

下面介绍一些我自己总结的一些关于持久化到数据库一些代码。需要说明一下的,对于语义网,我是一个真正的初学者,一些简单的所得所知全是自己摸索的,这些代码也是一个一个试Jena API试出来的,许多有问题的地方拜托能帮忙指正一下。
public class OntoDBUtil {
private OntoDBUtil(){
}
public static OntModelSpec getModelSpec( ModelMaker maker ) {
/*create a spec for the new ont model that will use no inference over models
made by the given maker (which is where we get the persistent models from)*/
OntModelSpec spec = new OntModelSpec( OntModelSpec.OWL_MEM );
spec.setImportModelMaker( maker );
return spec;
}
/* 连接数据库*/
static IDBConnection connectDB(String DB_URL,String DB_USER,String DB_PASSWD,String DB_NAME){
return new DBConnection ( DB_URL, DB_USER, DB_PASSWD, DB_NAME);
} /*从文件读取本体并将其存入数据库*/
static OntModel createDBModelFromFile(IDBConnection con,String name,String filePath){
ModelMaker maker = ModelFactory.createModelRDBMaker(con);
Model base=maker.createModel(name);
OntModel newmodel=ModelFactory.createOntologyModel(getModelSpec(maker),base);
newmodel.read(filePath);
return newmodel;
}

/*从数据库中得到已存入本体*/
static OntModel getModelFromDB(IDBConnection con,String name){
ModelMaker maker = ModelFactory.createModelRDBMaker(con);
Model base=maker.getModel(name);
OntModel newmodel=ModelFactory.createOntologyModel(getModelSpec(maker),base);
return newmodel;
}

}

Jena操作本体的持久化方法(一):持久化到文件

Tuesday, April 3rd, 2007 | 1 views

我们假设已经使用protege等可视化工具创建了我们需要的本体,然后我们需要用Jena提供的API对其进行操作,比如,创建实例,查询,推理等等,我们需要有一种方法将本体持久化,持久化到硬盘文件是一种很常见的选择。
从硬盘读取本体文件的方法:

void readModel(OntModel m,String filePath){
m.read(filePath);
}

将本体持久化到硬盘文件的方法 :

void writefile(OntModel m,String filePath){
File file=new File(filePath);
try{
OutputStream outer=new FileOutputStream(file);
}catch (FileNotFoundException e){
}
m.write(outer,”RDF/XML-ABBREV”);//”RDF/XML-ABBREV”–Human readable style…
}

关于

我叫陈炬,正在天津大学计算机学院->知识工程与科学研究所攻读硕士研究生。今年应届。您可以在我的自我介绍获得更多关于我的信息

订阅我的Blog


本站RSS地址| [这是什么?]
订阅到Google Reader | 订阅到 抓虾 阅读器 | 订阅到 鲜果 阅读器

其他blog

我还有一个英文blog,非常的无聊,琐碎,许多的语法错误。请谨慎访问。
Find entries :