学习protege4.3-OWL API进行编程(一)
来源:互联网 发布:希拉里 放过, 知乎 编辑:程序博客网 时间:2024/05/29 09:19
最近一直在学习protege4.3-OWL API相关内容,发现protege4.X版本在protege3.X版本的基础上做了很大的改动,而且网上有关protege3.X版本的API介绍较多,对protege4.X版本的API介绍较少,经过最近一段时间的学习,我来总结一下如何利用protege4.X版本的API进行编程,实现对本体的基本操作。
1.如何加载一个本体
加载已经存在的本体文件test.owl
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();File file = new File("test.owl");OWLOntology ontology = manager.loadOntologyFromOntologyDocument(file);
2.如何保存本体
(1)将本体按原来的格式进行保存
manager.saveOntology(ontology, IRI.create(file.toURI()));
(2)将本体按owl/xml format格式进行保存
//通过manager获得本体格式信息OWLDocumentFormat format = manager.getOntologyFormat(ontology);//将本体保存为 owl/xml 格式OWLXMLDocumentFormat owlxmlFormat = new OWLXMLDocumentFormat();if (format.isPrefixOWLOntologyFormat()) { owlxmlFormat.copyPrefixesFrom(format.asPrefixOWLOntologyFormat()); }manager.saveOntology(ontology, owlxmlFormat, IRI.create(file.toURI()));
(3)将本体按Manchester OWL Syntax格式进行保存
//将本体保存为 Manchester OWL Syntax 格式ManchesterSyntaxDocumentFormat manSyntaxFormat = new ManchesterSyntaxDocumentFormat();if (format.isPrefixOWLOntologyFormat()) { manSyntaxFormat.copyPrefixesFrom(format.asPrefixOWLOntologyFormat()); }manager.saveOntology(ontology, manSyntaxFormat, new StreamDocumentTarget(new ByteArrayOutputStream()));
3.获取本体中的所有类
获取本体中所有的类,类的名称可通过getIRI.getFragment获得
for (OWLClass c : ontology1.getClassesInSignature()) { System.out.println(c.toString()+"----"+c.getIRI().getFragment()+"----"+c.getIRI().getStart()); }
结果格式如下:
4.本体集成
将两个本体进行集成
//加载两个本体File file1 = new File("test1.owl");OWLOntology ontology1 = manager.loadOntologyFromOntologyDocument(file1);File file2 = new File("test2.owl");OWLOntology ontology2 = manager.loadOntologyFromOntologyDocument(file2);//开始集成OWLOntologyMerger merger = new OWLOntologyMerger(manager);//集成后保存为merger.owl文件File mergefile = new File("merger.owl");IRI saveIRI=IRI.create(mergefile.toURI());//集成后本体的命名空间IRI mergedOntologyIRI = IRI.create("http://www.semanticweb.com/mymergedont");OWLOntology merged = merger.createMergedOntology(manager, mergedOntologyIRI);//保存集成后的本体manager.saveOntology(merged,saveIRI);
阅读全文
0 0
- 学习protege4.3-OWL API进行编程(一)
- Protege4.3使用入门(一)
- Protege4学习笔记(一)---本体定义及相关概念
- Protege4.3使用入门(二)
- protege4.3安装使用
- 学习owl
- 一、jena解析关于基因的go.owl文件(正在学习中)
- owl-s api
- OWL-S API指南
- Protege-OWL API中文版
- Protege-OWL API中文版(自己翻译的)
- W3C的OWL学习
- OWL语法学习
- OWL本体学习
- OWL学习笔记
- 第一次用OWL-S API
- 将protege-owl API的doc文档添加到eclipse的编程坏境中
- 关于protege4的使用(1)
- Jmeter教程 简单的压力测试
- 共享内存
- node.js爬虫之下载图片,批量下载图片,控制下载图片并行上限
- lua 字符串删除特定字符且以特定字符转存表形式
- J
- 学习protege4.3-OWL API进行编程(一)
- matlab遍历文件夹下指定类型的文件以及子文件夹
- java 泛型详解
- 1.6 离散系统的复频域分析
- 寻找三角形
- 光学设计CAD:基于ZEMAX的望远物镜优化设计
- cmake编译Debug和Release版本的注意点
- NoSQL 数据库索引 总结
- linux用户与用户组管理