缘起
1921年中国共产党的诞生掀开了中国历史的新篇章,百年来,党带领全国人民谱写了中华民族自强不息、顽强奋进的壮丽史诗。最近正在努力学习知识图谱相关的知识,2021年时值建党100周年,如能将党百年来的光辉历程通过知识图谱展示出来,岂不两全其美。
技术选型
gStore是由北京大学王选计算机所数据管理实验室研发的,面向知识图谱的高效图数据库系统,用来管理庞大的关联数据,编译安装比较简单,有中文文档和开发团队交流方便。
数据库创建
由于gStore不能以空的RDF数据集来创建数据库,所以需要首先创建nt文件,该系列文章参考了建党100年优秀电视剧《觉醒年代》中涉及的历史事件及人物创建并逐步完善,此时我们暂不区分数据类型。
(1)创建history.nt
<李大钊> <性别> "男" .
<李大钊> <字> "守常" .
<李大钊> <出生地> "河北乐亭" .
<李大钊> <出生> "1889年10月29日" .
<李大钊> <去世> "1927年4月28日" .
<赵纫兰> <性别> "女" .
<赵纫兰> <出生地> "河北省乐亭县大黑坨村" .
<赵纫兰> <出生> "1884年1月21日" .
<赵纫兰> <去世> "1933年5月28日" .
<陈独秀> <性别> "男" .
<陈独秀> <字> "仲甫" .
<陈独秀> <出生地> "安徽怀宁" .
<陈独秀> <出生> "1879年10月9日" .
<陈独秀> <去世> "1942年5月27日" .
<毛泽东> <性别> "男" .
<毛泽东> <字> "润之" .
<毛泽东> <出生地> "湖南湘潭" .
<毛泽东> <出生> "1893年12月26日" .
<毛泽东> <去世> "1976年9月9日" .
<周恩来> <性别> "男" .
<周恩来> <字> "翔宇" .
<周恩来> <出生地> "江苏淮安" .
<周恩来> <出生> "1898年3月5日" .
<周恩来> <去世> "1976年1月8日" .
<蔡元培> <性别> "男" .
<蔡元培> <字> "鹤卿" .
<蔡元培> <出生地> "浙江绍兴府山阴县" .
<蔡元培> <出生> "1868年1月11日" .
<蔡元培> <去世> "1940年3月5日" .
<胡适> <性别> "男" .
<胡适> <字> "适之" .
<胡适> <出生地> "安徽绩溪" .
<胡适> <出生> "1891年12月17日" .
<胡适> <去世> "1962年2月24日" .
<李葆华> <性别> "男" .
<李葆华> <出生地> "河北乐亭" .
<李葆华> <出生> "1909年10月2日" .
<李葆华> <去世> "2005年2月19日" .
<李欣华> <性别> "男" .
<李欣华> <出生> "1926年" .
<李欣华> <去世> "1989年" .
<李欣华> <出生地> "河北省乐亭县" .
<李大钊> <妻子> <赵纫兰> .
<李大钊> <儿子> <李欣华> .
<赵纫兰> <儿子> <李欣华> .
<李大钊> <儿子> <李葆华> .
<赵纫兰> <儿子> <李葆华> .
<李葆华> <弟弟> <李欣华> .
(2)创建数据库
数据库创建的方法有两种,一是通过命令行创建,二是通过gStore Workbench管理界面创建。
#命令行创建,按照官方文档,需要在gStore目录下执行创建命令
./bin/gbuild history ./data/jxnd/history.n
通过管理平台创建,在gStore Workbench管理界面打开数据库管理界面,点击“新建数据库”打开数据库创建界面,选择文件上传创建,输入数据库名称并上传数据文件history.nt(上传过程为依次点击“选择文件”、上传文件),上传完成点击“创建数据集”等待执行完成。
图一 数据库管理界面
图二 通过上传文件创建数据库
图三 数据库创建成功后可以看到新建数据库
数据查询
在数据集创建完成后,就可以简单实用了,如我们查询“李大钊”先生的儿子。
SELECT ?movie
WHERE
{
<李大钊> <儿子> ?movie .
}
图四 李大钊先生的儿子查询结果
至此,我们完成了数据的初步创建和查询,后续将继续丰富数据集及使用。