最近做了一个知识图谱schema合法性验证的小项目,是写成了mevan插件的形式,每次项目编译都验证一下,上次写了如何做mvn插件,这次写一下和知识图谱解析相关的一些内容吧。
我们用了jena这个项目。其实mentor他们主要用这个实现了查询之类的一系列东西,我这个项目是他们专门来留给我练手的。
首先说一下schema吧。
我们用的RDF,它描述东西主要是三元组形式。比如:
- A relationship B:表示A是B的xxx,或者A和B是xxx关系
- A value “xxx” : 表示 A的值是xxx
它里面也有类和属性的概念。比如m:people.person是一个类,他的ttl描述是
|
|
而对于属性,我们用生日举例
|
|
而我这个检查工作主要是把ttl文件读进去,然后验证一些规则。我们有一套自己的定义schema的规则,这里就不说了。主要说一下验证中的一些通用操作。
|
|
- 这个是从文件里读入schema定义。第三个参数定义了具体的格式,它支持ttl,rdf等多种格式,具体文档
主要就是这样,然后利用一些其他的api拿到更为具体的值,做相应的处理就行。
在网上看见一篇写jena overview的文章,这里借用他的形容jena的图
我用的应该是最左边的那一小块。
如果以后有机会继续做这个,争取写写其他部分。
转载请注明出处,谢谢
本文采用创作共用保留署名-非商业-禁止演绎4.0国际许可证,欢迎转载,但转载请注明来自http://thousandhu.github.io,并保持转载后文章内容的完整。本人保留所有版权相关权利。
本文链接:http://thousandhu.github.io/2015/10/28/Apache-jena解析RDF-schema/