语义网的模型定义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语义网的模型定义相关的知识,希望对你有一定的参考价值。

参考技术A

“资源描述框架”的“数据模型”(外语:RDF Data Model)提供了一个简单但功能强大的模型,通过资源、属性及其相应值来描述特定资源。模型定义为: 它包含一系列的节点 N; 它包含一系列属性类 P; 每一属性都有一定的取值V; 模型是一个三元组:节点,属性类,节点或原始值V; 每一个“数据模型”(外语:Data Model) 可以看成是由节点和弧构成的有向图。 模型中所有被描述的资源以及用来描述资源的属性值都可以看成是“节点”(Node)。由资源节点、属性类和属性值组成的一个三元组叫做RDF Statement (或RDF陈述)。在模型中,陈述既可以作为资源节点,同时也可以作为值节点出现,所以一个模型中的节点有时不止一个。这时,用来描述资源节点的值节点本身还具有属性类和值,并可以继续细化。
RDF Schema 使用一种机器可以理解的体系来定义描述资源的词汇,其功能就像一个字典,可以将其理解为大纲或规范。RDF Schema的作用是: 定义资源以及属性的类别; 定义属性所应用的资源类以及属性值的类型; 定义上述类别声明的语法; 申明一些由其它机构或组织定义的元数据标准的属性类。 RDF Schema 定义了
三个核心类:rdf:Resource、rdfs:Property、rdfs:Class;
五个核心属性:rdf:type、rdfs:subClassOf、rdfs:seeAlso、rdfs:subPropertyOf、rdfs:isDefinedBy;
四个核心约束:rdfs:ConstrantResource、rdfs:range、rdfs:ConstraintProperty、rdfs:domain。
RDF Syntax构造了一个完整的语法体系以利于计算机的自动处理,它以XML为其宿主语言,通过XML语法实现对各种元数据的集成。
Ontology (本体或本体论),原本是一个哲学上的概念,用于研究客观世界本质。目前Ontology已经被广泛应用到包括计算机科学、电子工程、远程教育、电子商务、智能检索、数据挖掘等在内的诸多领域。它是一份正式定义名词之间关系的文档或文件。一般Web上的Ontology包括分类和一套推理规则。分类,用于定义对象的类别及其之间的关系;推理规则,则提供进一步的功能,完成语义网的关键目标即“机器可理解”。本体的最终目标是“精确地表示那些隐含(或不明确的)信息”。
当前对本体的理解仍没有形成统一的定义,如本体是共享概念模型的形式化规范说明,通过概念之间的关系来描述概念的语义;本体是对概念化对象的明确表示和描述;本体是关于领域的显式的、形式化的共享概念化规范等等。但斯坦福大学的Gruber给出的定义得到了许多同行的认可,即“本体是概念化的显示规范”。概念化(外语:Conceptualization)被定义为:C =,其中C表示概念化对象,D表示一个域,W是该领域中相关事物状态的集合,Rc是域空间上的概念关系的集合。规范(外语:Specification)是为了形成对领域内概念、知识及概念间关系的统一的认识与理解,以利于共享与重用。
本体需要某种语言来对概念化进行描述,按照表示和描述的形式化的程度不同,可以将本体分为完全非形式化本体、半非形式化本体、半形式化本体和严格形式化的本体。有许多语言可用于表示Ontology,其中一些语言是基于XML语法并用于语义网的,如XOL(Xml- based Ontology exchange Language),SHOE(Simple html Ontology Language),OML(Ontology Markup Language)以及由W3C组织创建的RDF与RDF Schema(RDFS)。还有建立在RDF与RDFS之上的、较为完善的Ontology语言DAML(DARPA Agent Markup Language)、OIL和DAML+OIL。
XOL是一种基于XML语法和OKBC语义的本体交换语言。它由美国生物信息学术团体设计,用于其领域的一组异构软件系统间本体定义的交换,它以Ontolingua和OML作为基础,融合了OKBC的高层表达方式和OML的语法。当前还没有支持XOL本体开发的工具,但由于它采用XML语法,可以采用XML编辑器来创建XOL文件。SHOE由马里兰大学开发,它将机器可读的语义知识与HTML文档或其他Web文档相结合,允许直接在WWW的基础上设计和应用本体。近来SHOE的语法已转向XML,它使得代理(Agents)能够收集有意义的Web页面和文档的信息,改善搜索机制和知识收集。OML由Washington大学开发,部分基于SHOE。它有四个层次:OML核心层(与语言的逻辑层相关);简单OML(直接映射RDF和RDFS)、简化OML和标准OML。
RDF是W3C推荐的一种信息描述方式,目的是克服XML的语义限制,提供一种简单的模式来表示各种类型的资源。在RDF的基础上,RDFS建立了一些基本的模型限制。RDF具有较强的表达能力,但仍存在一些不足,如RDF没有定义推理和公理的机制、它没有说明包含特性以及没有版本控制等。
OIL建立在RDF之上,其主要优势在于以描述逻辑为基础,提供形式化语义的推理。OIL综合了三方面的技术:框架系统、描述逻辑和基于XML与RDF语法的Web语言。框架系统采用了一种类似于面向对象的方法对数据建模,提供建模原语;描述逻辑用规范化的方法表达结构化知识以及查询和推理;基于XML和RDF语法的Web语言为OIL提供语言元素。OIL的数据对象主要包括:类定义、槽定义(slot definition)以及公理定义(axiom)。类定义包括定义类型、类层次关系和槽约束或属性约束;槽定义定义实体间的二元关系,包括有原语slot-def,domain,rang,inverse,subslot-of等;公理定义由定义该本体内的一些附加规则,如类之间外延的关系有不相交、覆盖、相交、等价等。
DAML由DARPA(美国国防部高级计划研究署)主持开发,力图溶入包括RDF、OIL等的优点,它与OIL一样建立在RDF之上,以描述逻辑为基础。其主要目标是开发一个旨在以机器可读的方式表示语义关系、并与当前及未来技术相容的语言,尤其是开发出一套工具与技术,使得Agent(代理)程序可以识别与理解信息源,并在Agent程序之间实现基于语义的互操作。DAML的最早版本为DAML-ONT,但后来与OIL紧密结合形成了DAML+OIL。DAML+OIL是由美国和欧盟在DAML背景下共同开发的,它与OIL有着相同的目标,是目前应用最广的本体语言。它是RDF(S)基础上的扩展,具备充分的表达能力(如唯一性、传递性、逆反性、等价等),具有一定的推理能力,完全确定了语义网中知识表示语言的整体框架。
当然,要实现语义网并非仅有XML和RDF就行了。更主要的技术难题还在于要让电脑可以进行过多的“思考”和“推断”,而面对纷繁复杂的问题,尤其是社会问题,人尚且难以决断,更何况计算机呢。因此,要真正实现实用的语义网还有很多工作要做。

快速启动语义网的最佳 rdf 数据库

【中文标题】快速启动语义网的最佳 rdf 数据库【英文标题】:best rdf database to quickly start a semantic web 【发布时间】:2012-08-21 01:15:15 【问题描述】:

希帕尔!我是语义网的新手。我想选择一个符合Resource Description Framework并支持SPARQL的RDF数据库。有4store,AllegroGraph等,哪个更好,更容易上手,文档好(在 Ubuntu 中使用 Python)用于为图像搜索构建语义网络。最好显示商店资源的可视化图表。任何指导将不胜感激。

【问题讨论】:

你的问题比较宽泛,也很难客观回答。毫无疑问,不同的人会发现不同的工具“更好”。如果您能详细说明您想使用 RDF 数据库做什么、您喜欢什么编程环境等,将会有所帮助。 您还可以在此处找到非常有用的软件应用程序开发工具和库列表:answers.semanticweb.com/questions/75/…。 【参考方案1】:

OpenRDF Sesame 是 RDF 的开源框架,它提供完整的 SPARQL 1.1 支持,并具有对多个三元存储解决方案的供应商中立访问 API。尽管 Sesame 是 Java 语言,但可以从 Python 轻松访问它(请参阅this blog post by Jeni Tennisson 快速演练)。

Sesame 是一个 Java Web 应用程序,设置只需安装 Tomcat 并部署 Sesame WAR 文件。有关安装、配置和使用说明,请参阅 Sesame user documentation。

【讨论】:

如果vs 4store,AllegroGraph,它们有什么区别? @David,它们是不同的产品,各有优缺点。但是由于您是初学者,我怀疑这些差异对您来说真的那么重要。要学习这些东西,几乎所有这些工具都可以。选择一个你喜欢的外观。【参考方案2】:

Virtuoso 在 ubuntu 上设置起来非常简单:

http://ods.openlinksw.com/wiki/main/Main/VOSUbuntuNotes

sudo aptitude install  virtuoso-opensource

功能丰富,非常适合初学者

【讨论】:

有没有什么特别的资源让你第一次跟上进度?因为我实际上很难熟悉他们的网络工具(指挥) 我同意 virtuoso 的设置很简单。但是,这是在 GPL v2 许可下,而 Sesame 在 BSD 下。【参考方案3】:

Stardog 很容易设置,解压缩就完成了,并为 Sesame 和 Jena 提供 API 绑定。 Stardog 的 HTTP 协议有一个Python library,很快就会有一个 Javascript 版本。它还不支持 SPARQL 1.1,这将在几周后发布,但它支持对 RDFS 和所有三个 OWL2 配置文件的推理支持。

【讨论】:

以上是关于语义网的模型定义的主要内容,如果未能解决你的问题,请参考以下文章

什么是语义网? [关闭]

语义网

基于MindSpore复现UNet—语义分割

校级项目学习:使用BERT模型生成语义向量

校级项目学习:使用BERT模型生成语义向量

音乐领域语义理解打分模型