地图书知识库使用向导(三):创建知识库

本章节拥有一个配套的示例知识库,欢迎访问《结构化知识库教程示例:文学作品管理》(https://www.ditushu.com/book/375/)查看全部示例数据和结构图。

结构化数据库

如果你是缺乏技术背景的人文社科专业用户,可能首先需要了解一个概念:什么是结构化知识数据库?如果你已经具备相关知识,可以跳过这一部分。

Excel 是人文社科用户最常用的数据管理软件,它主要使用电子表格的形式管理数据。表格是一种久远且常见的数据管理形式。以管理诗词数据为例,通常我们需要设置多个填写同一类型数据的列,如编号、作品名称、作者名称、朝代、时间、地点、标签等,然后再按行填写数据。下面是一个示例数据表:

A

B

C

D

E

F

1

编号

名称

作者

时间

地点

2

1

侠客行

李白

731

西安

3

2

蜀相

杜甫

760

诗,诸葛亮,武侯祠

4

3

茅屋为秋风所破歌

杜甫

761

诗,杜甫草堂

5

4

望岳

杜甫

736

泰安

诗,泰山

6

5

念奴娇·赤壁怀古

苏轼

1082

黄冈

词,赤壁之战

一个表由多个具有顺序,具有名称的列组成(也可以叫做字段或者键),列通常有不同的数据类型,如数字、文字、年份、时间等。作品编号通常放在最前面,它是唯一且不重复的,用来根据编号查找具体的作品条目,那么这个编号就是表格的主列(也可以叫做主字段或者主键)。那么这些列信息,如列的编号、名称、数据类型、是否为主列等,就是表格的结构。表格的结构也可以用一个表格来表示:

编号

名称

类型

是否主列

A

编号

数字

B

名称

字符

C

作者

字符

D

时间

年份

E

地点

字符

F

字符

使用 Excel 管理数据非常方便,但它有一个缺点,就是表格内通常存在大量的重复信息。如相同的作者、地点、标签等,如果还要管理作者的出生日期、死亡日期、地点的今名、古名和坐标等则更为麻烦,出现更多重复信息。而且数据的类型往往不规范,比如时间,有些填年,有些填年月日,标签有些用逗号分隔,有些用空格分隔等。

为了解决这一问题,还有一个办法就是把一个表格拆分成多个互相关联的表格,如把上面这个表拆分成作者、地点、标签和作品四个表,并管理更多信息。其结构如下:

表名称

字段名称

字段类型

是否主键

是否唯一

关联到

作者

编号

数字

姓名

字符

出生

数字

死亡

数字

地点

编号

数字

名称

字符

行政区划

数字

坐标

编号

数字

名称

字符

作品

编号

数字

名称

字符

作者

一对多关系

作者表

时间

数字

地点

一对多关系

地点表

多对多关系

标签表

由多个结构明确互相关联的表组成的一套数据,就是一个关系型结构化数据库了。

这里需要理解一个非常重要的概念,就是关系字段类型,通常有“一对多关系”和“多对多关系”。作品表的作者和地点字段,就是一对多关系,表示一个作者或者一个地点,可以拥有多个相关联的作品,但一个作品却只有一个作者和一个地点。分类标签是多对多关系,表示一个一个标签可拥有多个相关联的作品,而一个作品也可以拥有多个相关联的标签。作品表里的作者和地点,将只填写作者和地点表中,对应数据条目的主键,也就是编号。

为了减少使用编号关联数据的难度,数据库系统支持自动生成编号,避免用户手动编号。

结构化数据库中各数据表的关系,也可以用一个关系图来表示。

作品表、作者表和标签表的数据如下:

作者表

编号

姓名

出生

死亡

1

李白

701

762

2

杜甫

712

770

3

苏轼

1037

1101

地点表

编号

城市

行政区划

坐标

1

西安

108.95,34.26

2

104.06,30.65

3

泰安

117.08,36.20

4

黄冈

114.87,30.45

标签表

编号

名称

1

2

3

诸葛亮

4

武侯祠

5

杜甫草堂

6

泰山

7

赤壁之战

那么作品表的实际数据就变成下表这样,这里作者、地点、标签都用编号表示:

编号

名称

作者

时间

地点

分类标签

1

侠客行

1

731

1

1

2

蜀相

2

760

2

1、3、4

3

茅屋为秋风所破歌

2

761

2

1、5

4

望岳

2

736

3

1、6

5

念奴娇·赤壁怀古

3

1082

4

2、7

这个新的作品表看起来似乎不太好理解了?不用怕,数据库管理软件在实际显示时,则会根据这些编号查找相应信息,自动变成原来的样子,类似于我们日常生活中,经常会填写身份证号和手机号码作为唯一标识,然后信息系统就可以通过这些标识自动查找个人信息一样。

我们知道 Excel 的表其实是没有强制要求你必须设计表结构的。你是否设置列头,第一行是列头还是标题,每一格是否按数据格式填写等,默认都没有限制。很多时候为了方便打印,还需要在末尾添加一些总计信息,导致它的数据非常不规范,更不方便多人一起填写大量数据。

而使用关系型数据库管理数据有几个好处:数据库要求必须先建立规范的结构,并强制检查输入是否符合结构要求;数据库关系明确,消除单一表中大量冗余重复数据,还可以进行复杂查询;数据库非常方便多人协作。

当然,Excel 其实也支持多表之间的关联,而数据库的知识则比上面的介绍要复杂得多,它支撑了我们世界庞大的信息化产业。不过人文用户只需要明白一些基本概念即可,地图书知识库已经为你大大简化了复杂操作。为了保证简单易用,我们也没有提供过于复杂的数据库功能。

有了这些基础知识,就可以开始创建属于你自己的知识库了。

模板创建

手动创建数据库需要学习数据库基础知识,这对于没有技术背景的用户往往是困难的。为了方便用户使用,地图书知识库支持通过模板创建知识库。

虽然不同项目的具体应用场景各不相同,但很多应用场景是类似的,比如管理地理标注,管理老照片等。为此地图书知识库为用户提供了数个基础模板,用户可以通过模板快速创建属于自己的知识库。用户需要先注册账号并登录,在顶部“协作”菜单中,点击“我创建的”,找到自己创建的知识库。点击右上角的“创建新的知识库”,输入知识库名称,根据模板介绍和示例选择模板,点击“创建”即可。

不过这里的模板较少,你可以在地图书平台中,点击顶部的“知识库”菜单,任意浏览公开发布的知识库,寻找和自己需求接近的知识库。在知识库发布页顶端,有一个“更多”按钮,点击后选择“作为模板新建知识库”就可以通过模板创建了。

如果没有找到适合你的模板,或者一个模板并不完全符合自己的要求怎么办?这个时候你可以通过手动创建,或者先通过模板复制创建,再手动修改已有结构,以满足自己的使用要求。

完全手动创建一个知识库的步骤和通过模板创建类似,只不过在选择模板时,直接选择“空白知识库”,输入知识库名称,点击“创建” 即可。

创建完成后会自动跳转打开新创建的知识库。系统会提示你“地图书必须创建表结构才能够正常使用”。此时只需要点击下方的“创建”按钮,会自动跳转到“知识库设置/数据/数据表”。点击下方的“新建”按钮就可以创建一个数据表。

在手动创建前,建议认真规划数据表结构。如果你还不具备相关知识,建议先阅读学习“创建知识库 / 结构化数据库”章节。数据表设置页面右侧提供了一个示例数据库结构。

表名

表ID

字段名称

字段ID

字段类型

关联到

zhou

名称

title

字符

jun

名称

title

字符

所属州

zhou

一对多关联

xian

名称

title

字符

所属郡

jun

一对多关联

县址

geometry

通过这个示例,可以引导用户创建一个管理州郡县三级行政区划结构的历史行政区划数据库。用户需要点击“新建”,在弹出框的表名称中输入“州”,系统会根据输入的汉字名称,自动生成对应的拼音作为表 ID,点击“新建”按钮,完成“州”表的创建。创建完成后,右侧会自动跳转到“字段设置”界面,进一步完成字段设置。系统默认会为你创建一个 ID 为“title”,名称为“标题”的字符类型必填字段。

接着采用相同的步骤创建“郡”表。成功创建完成后,“郡”表也有一个名为“标题”的字段。然后点击右侧的“新建”按钮,在弹出框中,在“字段名称”中输入“所属州”,系统会自动生成拼音字段 ID。然后在“字段类型”选择输入框中,选择“关联 / 一对多关联”。然后在新增加的“关联的表”选择输入框中,选择“州”,点击“新建”即可完成“郡”表的创建。

最后采用相同的步骤创建“县”表,为这个表添加一个关联到“郡”的一对多字段。然后再新建一个名称为“县址”,类型为“地理元素/点”的字段,这个数据库就创建完成了。

创建完成后,还需要点击左侧的“保存表结构”才能生效。点击后系统会更新表结构,并跳转到数据表页面,此时你就可以点击数据表查看和新建数据了。

文档原文:

https://www.ditushu.com/help/guide/82315481