语义网(Semantic Web):
语义网是万维网联盟(W3C)提出的一种愿景,旨在增强现有Web的表达能力和智能处理能力,通过标准化的技术手段赋予网络数据更加精确和可计算的语义,使得机器能够更好地理解和处理这些数据。它的目标是建立一个全球数据网络,在这个网络中,信息不仅仅是文本和链接,而是结构化的、带有明确含义的数据。
语义网是万维网的一个重要发展方向,为万维网上的知识表示、推理、交换和复用提供了基础。由于任何机构和个人都允许自由发布语义网数据,尤其是现有商用搜索引擎倡导网站显式地提供语义数据、社交网络开始使用语义数据,这都使得语义网的数据量爆炸性增长。目前,以DBpedia和Bio2RDF为例的语义网数据已经达到了数以十亿计的规模。这些海量语义网数据一方面促进了语义网内容和知识的繁荣,同时也对现有语义网数据管理系统的性能提出了挑战。
语义网数据是采用RDF模型来表示的。RDF是一种数据模型,它是一个W3C推荐标准,用于Web上的数据交换。RDF定义了一个简单的有向图模型来表示资源以及资源间的联系,每个联系表示为一个RDF三元组,包括主语、谓语和宾语三个部分。一个RDF三元组声明了该三元组中的主语和宾语存在的谓语联系是成立的。RDF可以很灵活地对任何资源进行定义或声明。为了能够方便地对RDF数据进行查询和管理,W3C推荐了一种RDF查询的语言SPARQL(Simple Protocol and RDF Query Language),它的语法格式和SQL很类似。绝大部分的SPARQL查询语句的形式都是由一系列三元组模式(triple pattern)组成,其中每个三元组模式在格式上和一个RDF三元组类似,只是其中的主语、谓语或宾语可能是变量。另外,SPARQL也可以通过连接(join)、交/并、选择、投影等操作来构造更加复杂的查询。
本体
本体和语义网是密切相关的概念,在语义网(Semantic Web)的框架中,本体扮演着核心角色。
本体是针对“特定兴趣领域”的正式定义的词汇表(术语)。因为它是形式化定义的,它可以减少人类话语中混淆的机会。因此,开发本体可能是创建数据库、 专家系统或知识库的前奏。领域本体(Domain Ontology)作为一种语义模型描述了特定领域中概念和概念之间的语义关系,因此能够作为各方对相关领域背景知识理解的基础和各方交流的桥梁,从而解决需求分析中的一些难点问题。领域本体可以认为类似DDD中的无所不在的通用语言UL。
本体Ontology一词在哲学中代表“存在Being”的概念,类似我们日常语言中的“主语”。“Ontology 是研究 Substance 的学问”,计算机领域的 ontology 的本意应当译作“本体论模型”。计算机领域关于本体的定义没有标准,Studer(1998)“本体是对概念体系的明确的、形式化、可共享的规范说明 ”。
本体的定义概括起来主要包含4层含义:概念模型(conceptualization)、明确(explicit)、形式化(formal)和共享(share)。
- “明确”意味着所采用概念的类型和它们应用的约束实行明确的定义。
- “形式化” 指知识本体是计算机可读的(即能被计算机处理);
- “共享”反映知识本体应捕捉该领 域中一致公认的知识,反映的是相关领域中公认的概念集,即知识本体针对的是团体而非个体的共识。
根据维基百科定义:领域本体指的是那些属于整个世界中的概念(英文:realm of the world), 关键取决于Realm和World世界看你怎么理解,是真实客观存在的世界,还是存在共识的主观世界。
“主体”(subject)和“客体”(object):
Subject: a thinking or feeling entity.(思考或感觉着的实体)
Object: a thing external to the thinking mind or subject.(思考着的心智或主体之外的事物)
从图中可以看出,概念类、概念类的槽、槽的分面都使用了 UML中定义的对象类的表示方法,概念之间的关系也使用了对象类的关联来表达。概念类的槽和它所属的概念类是多对一的组合关系,槽的分面和它所属的槽同样也是多对一的组合关系,不同分面是对槽的分面的继承,体现出了两者的泛化/特化关系。
目前,人工智能领域专家和学者正在使用传统的知识表示方法和表示系统为本体建模,这些方法和系统都十分庞大而复杂,其他领域的人们对于这些方法和系统都很少了解。而 UML 已经得到了广泛的使用,同时开发人员也很容易接受,这就意味着 UML 可以为应用领域的概念建模提供有效的、可度量的方法,所以可以考虑使用UML 来为信息系统中的本体进行建模。同时,由于 UML 还提供了半形式化的OCL(Object Constraint Language,对象约束语言)来辅助描述模型,而且使用了一阶谓词逻辑,因此这种建模语言能够支持本体中实体及实体之间静态和动态语义的描述,同时也能在一定的程度上支持本体的推理。此外,UML 有标准的扩展机制,可以根据具体的开发本体的环境而进行必需的改变和扩展。这些都说明,使用扩展的UML 和 OCL结合使用来为信息系统中的本体建模的方法是完全可行的。
UML 是一种通用的模型描述语言,缺少精确的语义,因此在对本体进行描述的时候,UML 在分析和推理方面表现出的能力非常有限,针对UML在推理方面的不足,一些研究人员也提出了一些解决办法,如选择通过采用基于图形变换的推理方法,但是很多方法也只能使这个问题得到部分的解决。
在语义网的上下文中,本体是一个形式化的规范文件,它定义了一个特定领域的概念模型,包括类(类别)、属性、关系及其约束条件等。本体提供了词汇表和术语定义,并规定了这些术语之间的逻辑联系和使用规则,从而允许不同系统之间以一致且精确的方式交换和理解信息。
换句话说,本体是用来描述某个特定领域知识结构和语义约定的框架,它是构建语义网的基础组件之一。通过在语义网上应用本体,可以确保数据和信息在跨系统交互时具备一致性、互操作性和可推理性。例如,OWL(Web Ontology Language)就是一种用于创建本体的语言,它支持丰富的语义表达和逻辑推理,有助于构建更加智能的语义网应用程序和服务。