元数据和本体存储技术概述
1. 引言
元数据和本体存储是一个广泛、复杂且快速发展的领域。元数据是用于描述其他信息对象属性的信息对象,通常以文本术语或短语的形式存在。信息对象可以是现实世界中的物体,如车辆,也可以是单个数据,如车辆识别号(VIN)。元数据主要有两种类型:产品元数据和内容元数据。产品元数据描述对象作为容器的相关信息,而内容元数据描述容器内的内容。例如,对于一份关于车辆的文档,产品元数据可能包括出版日期、作者姓名和出版商名称,而内容元数据可能包括主题和关键词。元数据元素通常被组织成一个受控词汇表,称为元数据模式,用于描述信息对象。元数据还可以描述其他元数据,如元数据注册中心中描述元数据模式的元数据。
本体通过将现实世界的事物分组到称为类的类别中,并指定每个类中事物的共同属性来定义这些事物。本体还指定事物之间的关系以及限制事物定义和事物之间关系的约束和规则。例如,车辆本体可能定义一个名为“独轮车”的事物类,并指定独轮车的部件作为共同属性,如“hasPart 车轮”、“hasPart 踏板”和“hasPart 刹车”。车辆本体还可能定义一个“人”类,并指定独轮车和人之间的“hasOwner”关系。车辆本体还可以指定一个约束,即独轮车最多只能有一个车轮,这样一个规则引擎(称为自动推理器)就可以解释该约束,并推断出如果一辆车有多个车轮,那么它就不可能是独轮车。
元数据模式和本体中定义的类别用于创建单个信息对象描述,分别称为元数据记录和本体实例描述。以下是一个车辆文档的元数据记录和一个独轮车的本体实例描述示例:
| 车辆文档元数据记录 | 车辆本体独轮车实例描述 |
| — | — |
| 产品元数据:
- 出版日期:2009 年 11 月 14 日
- 作者姓名:Howard Parmelee
- 出版商名称:The Vehicle Historical Society
内容元数据:
- 标题:100 年美国制造车辆
- 主题:车辆历史
- 关键词:美国历史,车辆制造 | 独轮车:12345
- has part: 踏板
- has part: 刹车
- has part: 车轮
- has wheel constraint ≤ 1
- has owner: Leo Obrst |
根据具体应用的不同,元数据模式、本体及其单个描述需要重叠甚至完全不同的存储工具和方法。
2. 元数据和本体存储与管理技术
本部分将介绍用于管理和存储元数据和本体的主要技术,包括使用每种技术进行元数据管理和存储的主要优缺点。讨论的存储技术包括关系数据库(RDB)、对象关系数据库(ORDB)、面向对象数据库(OODB)、原生可扩展标记语言(XML)数据库(NXDB)和三元组存储。
2.1 关系数据库(RDB)
大多数元数据管理和存储系统以及许多本体管理和存储系统都使用关系数据库技术。关系数据库以表格形式存储关于数据实体的信息集合。实体是存储数据所涉及的人、地点、事物或事件。每个表称为一个关系,并作为数据库中的一个单独文件存储。关系包含通过共同特征在语义上相关联的实体集。
属性是实体的特征或属性。关系中的每一行代表一个实体,每一列代表该实体的一个属性。关系内的语义关联由实体(行)与其特征或属性(列)之间的交叉单元格表示。交叉值表示相关实体的单个特征。关系对属性顺序不施加语法约束。关系数据库的表格结构将语义关联限制为原始或原子值的二元关系。以下是关系的结构表示示例:
| Attribute 1 | Attribute 2 |
| — | — |
| Entity 1 | Value | Value |
| Entity 2 | Value | Value |
关系间的语义关联通过唯一标识符或主键属性将关系(表)链接在一起形成。该链接通常表示关系之间的关系。例如,学生关系可以通过“enrolled in”关系与课程关系链接。以下是一个使用主键将学生与他们注册的课程链接起来的关系模型示例:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(Student):::process -->|Enrolled_In| B(Course):::process
关系数据库技术的优点是它是一种成熟的技术,针对速度、可扩展性和可靠性进行了优化。大多数关系数据库系统具有强大的功能,如安全性、灾难恢复、存储过程和触发器,便于数据库操作和维护。然而,关系模型在表示和解释更复杂的实体和相互关系方面的实用性有限,并且关系模型基于静态世界观,一旦实现就很难更改。关系模型中的大多数语义以逻辑图等人工设计的工件形式表达,或者是数据库设计者和用户的隐性知识。
虽然使用关系模型表示简单的层次结构和本体取得了有限的成功,但将关系模型改造为模拟半结构化元数据(如 XML 模式(XSD))中表达的结构或本体中表达的语义可能既昂贵又耗时。除了导入和导出转换外,关系技术不支持 XML 的复杂对象和层次结构,也不支持本体为表示实体及其关系的含义而需要表达的许多关键语义关系、约束和规则。例如,传递性不被支持,并且很难模拟。因此,本体和元数据模式通常作为称为二进制大对象(BLOB)的文件存储在关系模型中,然后由外部工具提取进行操作和解释。
关系数据库技术是管理和存储具有稳定二元关系的简单元数据模型的理想选择,其中元数据实例可以作为数据库记录存储在中央存储库中。数据字典就是适合关系数据库存储的元数据示例。关系技术作为管理元数据模式和本体的集中式存储库也表现出色,这些元数据模式和本体作为数据库记录进行检索和下载。Oracle 就是一个关系数据库管理系统(RDBMS)的例子。
2.1.1 关系数据库与本体
本体使用明确、表达性强且定义良好的语义来处理形式化词汇及其含义,可能是机器可解释的。本体将这些词汇的可能形式化解释模型(语义)限制为建模者意图的含义集(即接近人类概念化)。其他“词汇表”,如数据库模式或对象模型,语义表达能力较弱,无法做到这一点。
语义表达能力较弱的方法假设人类会查看“词汇表”,并通过人类语义解释器(你的心理模型)提供语义。此外,开发人员将编写程序来强制执行数据库/数据库管理系统(DBMS)无法实现的局部语义。
本体建模通用的现实世界概念及其含义,与数据库模式或对象模型不同,后者通常特定于一组特定的应用程序,并且表示有限的语义。给定的本体不能完全建模任何给定的领域。然而,在捕获现实世界和想象(例如,独角兽和其他奇幻生物的理论)语义时,可以重用、扩展、细化和概括该语义模型。
本体旨在被重用,而数据库模式不能被重用。数据库概念模式可以作为本体的基础,但这需要从表达能力较弱的模型转变为表达能力更强的模型,从实体 - 关系模型转变为概念模型(即弱本体)再转变为逻辑理论(强本体)。
在关系数据库和其他非本体方法中,捕获数据、系统和服务的语义时,建模过程通常停留在语法和结构模型上,甚至将贫乏的语义模型作为历史工件丢弃。初级模型与实时数据库、系统或服务的演进完全分离,并且只能由能够阅读文档、解释图形、提供领域的现实世界知识并理解数据库、系统或服务将如何实现和使用的个人进行语义解释。本体学家希望将部分“语义解释负担”转移到机器上,让它们模仿人类语义(即理解我们的意思)。结果将使机器达到人类水平,而不是迫使人类达到机器水平。
关系数据库的主要目的是存储和方便访问数据,而不是复杂使用。软件应用程序(通过程序员将数据语义嵌入不可重用的代码中)和个人必须专注于数据使用、操作和转换,所有这些都需要对数据进行高度解释。扩展数据库的功能通常需要对数据库模式进行大量重新编程和重组。而扩展本体的功能可以通过添加其组成关系集来实现。理论上,这可能包括用于语义映射的关系,而多个数据库之间的语义映射需要外部应用程序。
2.2 演绎数据库
演绎数据库结合了逻辑编程形式的规则推理以及关系数据库的批量操作。因此,它们将本体的符号推理及其规则与关系数据库实例数据的高效访问和连接能力相结合。例如,OntologyWorks 的商业工具是演绎数据库的商业实现,支持国际标准化组织(ISO)通用逻辑的一个版本。演绎数据库与一般的逻辑编程工具一样,能够在运行时高效执行本体及其规则,从而提供实时机器推理。
2.3 对象关系数据库(ORDB)
对象关系数据库在关系数据库中实现面向对象(OO)模型。对象是数据和相关代码的组合,形成 OO 模型中的基本单元。对象是对象类的实例。OO 模型是一种网络模型,它以比关系模型更灵活的方式形成对象之间的关系。对象关系模型通常利用关系数据库作为存储和检索的存储库,但不实现关系模型。相反,每个表通常对应一个对象类,其内容对应一个对象实例。然后通常使用对象 - 关系映射软件将表映射到编程对象。这种映射在一个映射层中处理,该映射层在运行时将关系数据转换为编程对象,从而创建一个虚拟的面向对象数据库(OODB)。
对象关系数据库的优点是它在关系模型之上叠加了一个更灵活的模型,同时仍然利用关系数据库管理系统(RDBMS)强大的存储和检索功能。对象模型是一种网络模型,支持重要的 OO 功能,如将数据封装到复杂对象中、继承,以及支持基于标准 XML 的通信协议(如 HTTP)。以下是一个在对象关系数据库和面向对象数据库技术中实现的对象模型的简单示例:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(Object Class 1):::process -->|Relation| B(Object Class 2):::process
对象关系数据库技术有助于管理更复杂的语义以及更强大地管理和存储 XML 和本体所需的更多功能。Virtuoso 是一个对象关系数据库管理系统(ORDBMS)的例子。
2.4 面向对象数据库(OODB)
面向对象数据库技术与对象关系数据库具有相同的优点和功能,不同之处在于对象以其原生对象形式创建和存储,从而消除了对象关系数据库技术中的关系映射和映射转换层的开销。然而,结果是底层 RDBMS 为对象关系数据库提供的许多强大的数据管理和存储功能必须为面向对象数据库重新创建。不过,面向对象数据库正在成熟,最终可能成为管理复杂网络模型的首选存储技术。Objectivity 是一个面向对象数据库管理系统(OODBMS)的例子。
2.5 原生 XML 数据库(NXDB)
原生 XML 数据库的定义因素包括:逻辑模型由 XML 定义,XML 文档以其原生形式存储,并且原生 XML 数据库对底层物理模型不敏感。这意味着:
1. 逻辑模型通常编码在 XSD 中;
2. 在使用 XML 实例文档之前不需要进行数据转换;
3. 原生 XML 数据库可以使用任何持久技术进行存储。
毫不奇怪,原生 XML 数据库在任何严重依赖 XML 处理数据的环境中都特别有效,包括 XML 编码的元数据。图书馆、档案馆和出版组织等以文档为中心的组织,以及严重依赖 XML 进行数据交换(如 Web 服务)的组织,都可以从原生 XML 数据库技术中受益匪浅。
如今,大多数在生产级别实现的元数据都是用 XML 编码的。由于 XML 是一种结构元语言,而不是语义元语言,因此原生 XML 数据库是那些主要关注产品元数据(如信息对象的作者)且对内容元数据(信息对象的含义)需求不强的组织的合理技术选择。语义语言如 Web 本体语言(OWL)和资源描述框架模式语言(RDFS)通常更适合表示内容元数据。
由于 OWL 和 RDF 基于 XML 并可以序列化为 XML,因此原生 XML 数据库技术可以用于将其作为 XML 进行存储、检索和处理,这可能比使用关系模型或平面文件存储本体更具优势。然而,要能够解释本体中编码的语义,需要专门的技术。如何在原生 XML 数据库技术之上有效分层语义工具以实现高级语义功能仍是一个研究问题,但一个支持本体与其结构 XML 翻译之间可扩展智能交互的系统可以提供诸如本体感知 Web 服务和本体感知出版等高级功能。Oracle BerkeleyDB XML 和 Tamino 是原生 XML 数据库的例子。
2.6 三元组和 N 元组存储
三元组存储用于存储 RDF 实例,其结构如下:
- 主题或资源:三元组的第一个元素。可以是具有 URI、文字(字符串或 XML 数据类型)或空白节点(未命名或匿名)的事物,是被断言的主要实体。
- 谓词或属性:三元组的第二个元素。是一个属性或关系,是主题和对象之间的连接。
- 对象或资源:三元组的第三个元素。可以是具有 URI、文字(字符串或 XML 数据类型)或空白节点(未命名或匿名)的事物,是被断言的次要实体,例如通过谓词/属性与主题相关的另一个实体。如果三元组的第二个元素是一个关系,那么第三个元素(对象)是与第一个元素(主题)可比的另一个实体,如
。如果第二个元素是一个属性,那么第三个元素是一个属性值,如
。
以下是一些更清晰语法呈现的示例:
-
-
-
-
-
三元组中的任何参数都可以是 URI(现在是 IRI),即可以在 Web 上任何位置找到的 URI 标识符或地址。
由于 RDF 具体化,三元组存储可以变成四元组存储,甚至可能是 N 元组存储。RDF 具体化是关于一个三元组的陈述。例如,给定一个三元组 ,那么一个具体化就是一个四元组 ,这意味着“陈述”(在 RDF 术语中是一个所谓的空白节点或 URI)是关于一个三元组的陈述。它通常前面有一个正常的三元组,如 。
从语义上讲,原始三元组和三元组的具体化之间没有蕴含关系,因此具体化不能对原始三元组的真实性提出主张,只能表明对其进行了某种陈述。然而,具体化通常用于表示关于陈述的来源、谱系甚至安全分类的信息。在所有情况下,解释引擎必须对该具体化施加自己的解释,这超出了 RDF 语义。这并不意味着具体化没有用,只是意味着具体化的解释会有所不同,有时差异很大,并且无法保证解释的语义一致性,尤其是在不同的 RDF 三元组存储和不同的语义 Web 推理引擎之间。
三元组(和四元组)存储代表了基于图的 RDF 数据模型的一种存储结构,类似于关系数据库的关系模型。然而,对于三元组或 N 元组存储,使用的不是 SQL。
3. 存储和访问方法
存储和访问元数据与本体的方法有多种,下面将详细介绍几种常见的方式。
3.1 注册表
注册表是一种集中式的存储系统,用于存储元数据和本体的定义信息。它可以对元数据和本体进行注册、管理和查询。在注册表中,元数据和本体的信息被组织成结构化的数据,方便进行检索和维护。例如,一个图书馆的元数据注册表可能存储了所有图书的基本信息,包括书名、作者、出版日期等,用户可以通过注册表快速查找所需图书的相关信息。
3.2 存储库
存储库是用于存储大量元数据和本体实例的地方。它可以是本地的文件系统,也可以是远程的服务器。存储库通常提供了数据的存储、备份和恢复功能,以确保数据的安全性和可靠性。与注册表不同,存储库更侧重于数据的实际存储,而注册表更侧重于数据的定义和管理。例如,一个科研机构的存储库可能存储了各种实验数据的元数据和本体实例,研究人员可以从存储库中获取这些数据进行分析和研究。
3.3 目录
目录是一种用于组织和索引元数据和本体的工具。它可以帮助用户快速定位所需的元数据和本体信息。目录通常按照一定的分类规则对元数据和本体进行组织,例如按照主题、时间、来源等。用户可以通过目录的索引功能,快速找到自己感兴趣的元数据和本体。例如,一个企业的元数据目录可能按照业务部门、项目名称等进行分类,员工可以通过目录快速找到与自己工作相关的元数据和本体。
3.4 联合
联合是将多个不同的元数据和本体存储系统集成在一起的方法。通过联合,用户可以在一个统一的界面下访问多个存储系统中的数据。联合可以提高数据的共享和利用效率,减少数据的重复存储。例如,多个图书馆可以通过联合的方式,将各自的图书元数据集成在一起,用户可以在一个平台上搜索到多个图书馆的图书信息。
3.5 索引
索引是一种提高数据检索效率的技术。在元数据和本体存储中,索引可以帮助快速定位所需的数据。索引通常基于元数据和本体的某些关键属性建立,例如主题、关键词等。当用户进行查询时,系统可以通过索引快速定位到相关的数据,而不需要遍历整个存储系统。例如,一个搜索引擎的索引可以根据网页的关键词建立,当用户输入关键词进行搜索时,搜索引擎可以通过索引快速找到相关的网页。
4. 相关标准
在元数据和本体存储领域,有一些重要的标准,这些标准有助于实现数据的互操作性和共享。
4.1 资源描述框架(RDF)
RDF 是一种用于表示资源信息的标准模型。它采用三元组的形式来描述资源之间的关系,即 <主题, 谓词, 对象>。RDF 可以用于描述各种类型的资源,包括网页、文档、图片等。例如,<“某本书”, “作者”, “张三”> 就是一个 RDF 三元组,它描述了某本书的作者是张三。RDF 的优点是具有良好的扩展性和灵活性,可以方便地表示复杂的语义关系。
4.2 Web 本体语言(OWL)
OWL 是一种用于表示本体的标准语言。它在 RDF 的基础上进行了扩展,提供了更丰富的语义表达能力。OWL 可以用于定义类、属性、关系等本体元素,以及它们之间的约束和规则。例如,使用 OWL 可以定义一个“车辆”本体,其中包括“汽车”、“自行车”等类,以及“hasPart”、“hasOwner”等属性和关系。OWL 可以帮助计算机更好地理解和处理本体信息,实现语义推理。
4.3 可扩展标记语言(XML)
XML 是一种用于结构化数据表示的标准语言。它使用标签来描述数据的结构和内容,具有良好的可读性和可扩展性。在元数据和本体存储中,XML 常被用于编码元数据和本体信息。许多元数据模式和本体都是用 XML 来定义的,例如 Dublin Core 元数据标准就是用 XML 编码的。XML 可以方便地在不同的系统之间进行数据交换和共享。
5. 示例元数据和本体注册表与存储库
以下是一些实际的元数据和本体注册表与存储库的示例:
| 名称 | 描述 | 适用领域 |
|---|---|---|
| 都柏林核心元数据倡议(DCMI)注册表 | 提供了一套通用的元数据元素,用于描述各种资源,如文档、图片、音频等。 | 图书馆、档案馆、博物馆等文化领域 |
| BioPortal | 一个生物医学领域的本体存储库,包含了大量的生物医学本体和术语。 | 生物医学研究、医疗保健等领域 |
| Schema.org | 一个用于网页结构化数据标记的词汇表,有助于搜索引擎更好地理解网页内容。 | 互联网、电子商务等领域 |
这些示例展示了不同领域中使用的元数据和本体注册表与存储库,它们为相关领域的数据管理和共享提供了重要的支持。
6. 工具简介
在元数据和本体存储与管理中,有一些常用的工具,下面简要介绍几种。
6.1 Protégé
Protégé 是一个开源的本体编辑工具,它提供了直观的图形界面,方便用户创建、编辑和浏览本体。Protégé 支持多种本体语言,如 OWL、RDF 等,并提供了丰富的插件和扩展功能。用户可以使用 Protégé 轻松定义本体的类、属性、关系等元素,以及进行本体的推理和验证。
6.2 TopBraid Composer
TopBraid Composer 是一款专业的语义建模和本体管理工具。它提供了强大的本体编辑、推理和可视化功能,支持多种标准和协议。TopBraid Composer 可以帮助用户创建复杂的本体模型,并进行语义分析和数据集成。
6.3 Jena
Jena 是一个用于构建语义 Web 应用程序的 Java 框架。它提供了对 RDF、OWL 等语义数据的处理和推理功能。Jena 可以帮助开发人员快速搭建语义 Web 应用,实现数据的存储、查询和推理等功能。
总结
元数据和本体存储是一个复杂且快速发展的领域,涉及到多种技术、方法、标准和工具。不同的存储技术,如关系数据库、对象关系数据库、面向对象数据库、原生 XML 数据库和三元组存储等,各有优缺点,适用于不同的应用场景。存储和访问方法,如注册表、存储库、目录、联合和索引等,为元数据和本体的管理和使用提供了便利。相关标准,如 RDF、OWL 和 XML 等,确保了数据的互操作性和共享。同时,各种工具,如 Protégé、TopBraid Composer 和 Jena 等,帮助用户更高效地进行元数据和本体的创建、编辑和管理。随着信息技术的不断发展,元数据和本体存储技术也将不断演进,为各个领域的数据管理和知识共享提供更强大的支持。
超级会员免费看
5786

被折叠的 条评论
为什么被折叠?



