于是我尝试搜索关于数据库和本体论的信息,结果得到了许多2006年的PDF文档,其中充斥着我难以理解的内容。我阅读了其中一些,但目前仍然完全不知道他们在说什么。
我的印象是,这是2006年一些学者想要向我们推销的疯狂风潮,但由于他们表达的方式而失败了。但我仍然很好奇,是否有人真正知道这到底是什么意思。
Karussell已经提供了维基百科的定义:
“在一个领域内,通过一组概念和这些概念之间的关系的形式化表示来表达知识。”
为了实现这样的表示,已经开发了多种语言。目前获得最多关注的可能是Web Ontology Language (OWL)。
在传统的关系型数据库中,可以使用表格存储概念,但系统不包含有关这些概念意义以及它们如何相互关联的任何信息。本体论提供了存储此类信息的手段,这允许更丰富的信息存储方式。这也意味着可以构建相当先进和智能的查询。特定于此目的开发了查询语言,例如SPARQL。
我的硕士论文中使用了OWL本体论,但这是作为相当学术的研究的一部分。我不知道这些技术是否当前在实践中被广泛使用,但我相信潜力是存在的。
'意义'和在本体论上进行推理的例子:假设您在本体论中定义了一个类Pizza
和一个类Vegetarian Pizza
,这是一个不包含属于类Meat
的Ingredients
的Pizza
。如果您现在创建了某个实例的Pizza
,它碰巧没有任何肉类成分,则系统可以自动推断您的披萨也是Vegetarian Pizza
,即使您没有明确指定。
本体论是描述某一领域中类型、可能存在的实例以及它们之间可能存在的关系和限制的模式(模型)。
一个类比是UML类图,但本体论具有正式的语义,因此可以被机器解释,而不仅仅是人类消费的图表。
示例:
类别:项目,人,项目经理。 项目经理是人的子类(显然)。 人和项目是不相交的。
关系:工作于,管理。 管理是“工作于”的子属性。
限制:人们在项目上工作,而不是反过来。 只有项目经理才能管理项目。
这个简单的示例可以进行机器推断,例如如果X管理Y,则我们可以推断Y是一个项目,而X是一个项目经理,因此是一个人。
从生物科学出发,本体论是一个代表一个非常简单的概念的词语,但是用其他不太常用的词语定义。
一组概念及其关系的形式化知识表示
因此,在计算机科学术语中,它是一个图形,其中节点对应于同一主题的所有事物,带有与主题相关的数据注释,并与其他节点连接以关系注释边缘。
由于它是一种无法很好地适应关系数据库的模型,如果您打算存储本体论,您可能需要使用图形数据库或流行的关系数据库图形存储技术之一。
Ontologizes没有在所有方面取代关系型数据库的主要原因是,关系型数据库提供了一种简单的、即使不太灵活的连接两个项目的方法,外键。虽然这个键不允许很多注释来描述关系,但它限制了数据结构的方法数量,防止人们创建各种关系(这意味着限制了浪费关系的数量),从而使得关系型数据库变得更加易于使用。虽然我是一个完全的外行,但我认为人工智能研究有着长达50年的历史,并且总是循环往复。
我们已经经历了两次这样的循环。也许这一次会不同吧……?