OWL本体知识库的面向对象表示

OWL本体知识库的面向对象表示
OWL本体知识库的面向对象表示

Software Engineering and Applications 软件工程与应用, 2018, 7(3), 132-141

Published Online June 2018 in Hans. https://www.360docs.net/doc/404336693.html,/journal/sea

https://https://www.360docs.net/doc/404336693.html,/10.12677/sea.2018.73015

Object-Oriented Representation for OWL

Ontology Knowledge Base

Shaohua Zhang, Yingzhong Zhang

School of Mechanical Engineering, Dalian University of Technology, Dalian Liaoning

Received: Apr. 26th, 2018; accepted: May 8th, 2018; published: May 15th, 2018

Abstract

Ontology technologies can better represent the knowledge implied in various terms and concepts in a structured, computable and shared form. The ontology based knowledge representation me-thod has been widely used in many fields. In view of the lack of efficient OWL (Web Ontology Lan-guage, OWL) ontology knowledge processing and integration tools in the engineering information processing, based on the study of the knowledge representation framework, language syntax and document structure based on the OWL ontology, an object-oriented OWL ontology knowledge base representation model is proposed and designed. A method based on XML document parsing plat-form to parse the OWL documents in a RDF/XML format is implemented, which can convert the OWL ontology knowledge base into an object oriented ontology knowledge base. The presented work lays a foundation for the subsequent engineering semantic information reasoning and knowledge retrieval service.

Keywords

Ontology, OWL, Knowledge Representation, Knowledge Base, Object-Oriented

OWL本体知识库的面向对象表示

张少华,张应中

大连理工大学,机械工程学院,辽宁大连

收稿日期:2018年4月26日;录用日期:2018年5月8日;发布日期:2018年5月15日

摘要

本体技术能更好地以一种结构化的、可计算和可共享的形式表示各种术语、概念所隐含的知识,基于本

张少华,张应中体的知识表示方法已经在许多领域得到广泛的应用。针对目前工程信息处理中缺乏高效的OWL (Web Ontology Language, OWL)本体知识处理与集成工具的情况,本文在研究OWL本体知识表示框架、语言

句法和文档结构基础上,基于面向对象技术,提出和设计了一个面向对象的OWL本体知识库表示模型;提出和实现一个基于XML文档解析平台,对RDF/XML格式的OWL文档实现解析的方法,将OWL本体知识库转换构建为面向对象的本体知识库;为后续的工程语义信息推理和知识检索服务打下基础。

关键词

本体,OWL,知识表示,知识库,面向对象

Copyright ? 2018 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

https://www.360docs.net/doc/404336693.html,/licenses/by/4.0/

1. 引言

知识表示是一种机器可解释的真实世界知识的一种描述,或者说是对知识的一组约定,一种计算机可以接受的用于描述知识的数据结构。基于知识表示可以对感兴趣的领域进行推理,因此知识表示是实现人工智能应用的前提和基础。传统的知识表示方法如谓词逻辑表示法、产生式规则表示法、语义网络表示法、框架表示法都只能针对具体的知识类型,无法兼顾知识表示能力和推理能力。因此在知识的共享、重用、维护、扩展方面存在一定的局限性。本体作为一种形式化的,对于共享概念体系的明确而又详细的说明,能更好地以一种结构化的、可计算和可共享的形式表示各种术语、概念所隐含的知识,同时随着语义Web技术的发展,基于本体的知识表示方法已经得到广泛的应用[1]。

OWL (Web Ontology Language, OWL) [2]是由国际万维网组织W3C推荐和使用的基于本体的语义Web建模语言,集成语义Web规则语言SWRL (Semantics Web rule language, SWRL) [3]构成目前强大的知识表示工具,使得知识表示具有更强大表示能力和推理能力。OWL本体知识表示的基础是建立在语义Web框架上的,包括XML、XML模式、资源描述框架RDF (Resource Description Framework, RDF) [4]、RDF模式和一阶描述逻辑等。OWL知识库通常包括本体概念定义库(TBox)、概念标注的知识实例库(ABox)和知识规则库,主要以XML/RDF格式存储。OWL语言是作为通用的本体知识描述语言标准且能够广泛的集成到推理操作中。在语义表达方面比XML、RDF、RDFS具备更强的可供机器理解内容的能力。很多建模工具支持OWL语言,如Protégé、Jena的OWLAPI、Fact++等。随着知识库和本体数量的增长及广泛应用,高效率地表示和处理本体信息非常重要,同时要求OWL本体知识表示与具体工程中智能信息处理融合。

2. 相关研究现状

目前OWL知识建模方式主要以开源库Protégé [5]作为建模工具,OWL API和Apache Jena完成查询和推理,但采用Java语言编写,由不同的模块组成,知识推理和语义查询的效率较低,从其它语言接近Java API比较困难,最近,采用C语言实现的Redland RDF框架[6]提供了对RDF三元组的解析、存储和查询功能,但还缺乏对OWL的支持;文献[7]采用C++开发一个用于存储和查询RDF三元组、解析RDF/XML文档和公理的OWLcpp库;孔静[8]研究OWL在.NET环境下解析。但总体看,还缺乏高效、与目前广泛使用的面向对象技术融合的本体语义查询和知识推理的工具,影响OWL本体知识表示技术

张少华,张应中

的应用。

本文在对OWL本体知识表示架构、知识定义、文档格式和句法研究基础上,采用VisualC++2010编程开发平台,提出和实现了将OWL定义的知识概念、实例和规则映射到C++定义的对象类、对象实例和产生式知识规则,旨在集成本体技术和面向对象知识表示方法的优势,弥补当前主流的本体知识库的表示方法在表示能力、知识共享、知识重用、知识维护等方面的缺点,为后续高效、大规模知识推理打下基础。

3. OWL本体知识库

3.1. OWL本体

OWL是W3C组织推荐的国际通用的标准本体描述语言。它建立在XML/RDF等已有标准基础上,通过添加大量的基于描述逻辑的语义原语来描述和构建各种本体。所以基于OWL建立的本体有丰富的语义表达能力并具有完善的推理机制,能更清晰完整地表达领域内的概念和概念之间的联系。

OWL提供了三种表达能力递增的子语言[4]:OWL Lite、OWL DL和OWL FULL。OWL Lite表达能力最弱,OWL DL (DL表示描述逻辑)能支持需要最强表达能力的推理,且这个推理系统能够保证计算的一致性和可判定性,它包括了OWL语言的所有成份,但有一定的限制。OWL FULL包括了OWL语言的所有成份,并且取消了OWL DL中的限制。本文研究和讨论是OWL DL。

OWL是建立在RDF和RDF Schema之上,采用基于XML句法。OWL文档通常也称为OWL本体。

一个OWL本体由概念类、类的属性和类实例组成的XML文档,因此一个OWL本体可以表示为XML 的层次树结构,分解为根元素、不同层次的类元素和属性元素。

一个OWL本体的根元素是一个rdf:RDF元素,根元素规定该本体定义的一组命名空间。

xmlns:OWL ="https://www.360docs.net/doc/404336693.html,/2002/07/OWL#"

xmlns:rdf ="https://www.360docs.net/doc/404336693.html,/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="https://www.360docs.net/doc/404336693.html,/2000/01/rdf-schema#"

xmlns:xsd ="https://www.360docs.net/doc/404336693.html,/2001/XMLSchema#">

此外一个本体还可能从一组断言开始,这些断言包括评述、版本控制和引入其它本体等,成组地放在OWL:Ontology元素下。下面介绍OWL本体的类元素和属性元素[4]。

3.1.1. 类元素

OWL中预先定义了OWL:Thing和OWL:Nothing两个类,OWL:Thing位于类层次结构的最顶端,包含了所有客观存在的事物,OWL:Nothing代表空类,位于类层次结构的最底端。用户自定义的类分别对应于领域种最基本的概念。因此,所有用户自定义的类都隐含地是OWL:Thing的子类。

1) 类的定义

类定义可以通过使用OWL:Class标签来实现,例如定义一个名为associateProfessor的类,同时它属于教职人员academicStaffMember的子类:

2) 类与类之间关系公理

OWL主要定义如下类公理关系:

张少华,张应中

?不相交关系:用OWL:disjointWith显式定义一个类与另一个类不相交,或者无交集。

?相等关系:用OWL: equivalentClass显式定义一个类与另一个类是相等或者等价的。

3.1.2. 特性元素

类特性也称关系,要联系一个类与另一个类或数据,需要定义类的特性。

1) 特性分类

OWL包含如下两种类型的特性:

?对象特性:对象特性可以通过使用OWL:ObjectProperty标签来定义。对象特性通常表示两个类的实例之间的关系。

?数据特性:数据特性可以通过OWL:DatatypeProperty标签来定义。表示类的实例与RDF文字或XML Schema数据类型间的关系。

2) 特性的定义

无论是对象特性还是数据特性,在特性定义时,需要用rdfs:domain定义特性关系的域(domain),rdfs:range定义关系的范围。

OWL定义了一组特性关系公理,例如相反关系inverseProperties、等价关系equivalentProperty、函数关系FunctionalProperty、对称关系SymmetricProperty、和传递关系TransitiveProperty等关系。此外,特性可以通过OWL:Restriction来进行限制,属性限制的类型包含allValuesFrom、someValuesFrom、OWL:cardinality、hasValue等类型。

3.1.3. 实例元素

实例也称类的个体,OWL通过类标签或者rdf:type来定义。由于实例是类的个体,因此,每一个实例具备所属类的全部特性。

实例与实例之间通过类特性建立关系,大量相互交织的关系构成RDF形式的知识图。客观世界的知识不都是能抽象出知识规则,但是可以表达为实例及其实例之间的关系。

3.2. OWL本体知识库框架

本体以一种结构化的、可计算和可共享的、明确和显式的形式化方法,通过描述领域内的各种术语、概念及关系来表示领域内的知识,本体知识库可以用概念C、特性P、实例I、关系R和公理A组成的如下5元组表示:KB = {C, P, I, R, A}。

更进一步将上述5元组分为如下三个部分:

TBox:是该领域的概念术语的集合。Tbox收集领域内的知识概念、公理以及概念与概念之间的关系;

ABox:是实例断言的集合。收集由概念标记的一组实例,即操作知识对象的集合;实例与实例之间通过特性关系采用RDF模式联系起来;

规则库:规则库表示推理的知识产生式规则,通常采用SWRL语言定义。

上述三部分构成OWL本体知识库框架,如图1所示。

3.3. OWL领域本体知识库构建

在对领域知识深入分析和大量知识获取基础上,基于上述领域本体知识库框架和OWL语言就可以对领域知识建模。然而完全采用OWL语言去定义十分繁琐,容易出错。一般采用本体建模工具完成本体的形式化描述,目前应用较多的OWL本体建模工具是由斯坦福大学开发的Protégé本体编辑器。

在Protégé本体编辑器中本体结构以属性的层次目标结构显示,用户可以通过点击相应的项目创建或

张少华,张应中

Figure 1. Ontology knowledge frame

图1.本体知识库框架

编辑本体类、子类、属性、实例等,使用户在概念层次上设计领域模型,Protégé支持多重集成,并对新数据进行一致性检查,并且具有很强的可扩展性,可以将Protégé的内部表示转化成多种形式的文本格式,包括:XML,RDF(S),OIL,DAML,DAML,OWL等系列语言。

本文要转换和处理的OWL本体就是采用Protégé本体编辑器构建的本体,以RDF/XML格式的OWL 文档文件。

4. OWL本体知识的面向对象表示

4.1. 本体知识库面向对象设计

面向对象(Object-Oriented)方法是将客观世界抽象为具有共同属性的对象类及对象个体,对象与对象之间通过关系联系起来。使用面向对象的表示方法,具有封装性、模块性、继承性、易于维护和扩展性的优点,已经广泛应用与各类信息系统的程序开发中。

基于上述OWL本体知识库的各元素分析,可以抽象设计为如下C++类:

1) 概念类

将OWL本体知识库TBox中的定义的所有概念的基本属性抽象,定义为一个C++概念类:CClassObject,即TBox中的定义的所有领域知识概念映射为CClassObject的一个实例对象。

根据上述2.1节介绍的OWL本体类元素特性,主要定义如下类属性:

?类名称。表示概念名称,用一个CString变量表示。

?命名空间。命名空间表示标识符的上下文或者标识符的作用范围,这里是指定义的本体概念空间。

一个概念标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的,一般采用可

共享的统一资源描述符定义。

?父类对象指针,通过该指针实现OWL本体类的子类定义,形成概念的层次结构。

2) 对象特性类

将OWL本体知识库中TBox中的定义的属性类别中的对象属性进行抽象,定义一个C++对象属性类:CProperryObject,即TBox中的定义的对象属性描述映射为面型对象类CProperryObject的属性成员。根据上述2.1节介绍的OWL本体属性元素特性,主要定义如下对象属性:

?定义域(domain):

定义域指对象特性关系中对象的范围,根据上面定义,只能在CClassObject定义的对象或者其子类定义的对象范围内,因此可以通过定义一个CClassObject指针来表示。

张少华,张应中

?值域(range):

值域是指定义域中所有对象在该特性法则下对应的所有对象所组成的集合。根据上面定义,值域也只能在CClassObject定义的对象或者其子类定义的对象范围内,可以定义一个CClassObject指针来表示。

3) 数据特性类

和对象属性的映射机制类似,不同的是对象属性表示的实例之间的关系,而数据属性则是描述类实例和RDF文字或XML Schema数据类型间的关系。根据上述2.1节介绍的OWL本体属性元素特性,将OWL本体本体中关于数据属性的描述映射为CDataObject中的数据成员。

4) 实例对象类

将OWL本体知识库ABox中的所有个体实例进行抽象,定义一个C++实例对象类:CInstanceObject,即ABox中的定义的所有具体的实例描述都映射为CInstanceObject对象。因此每个实例对象都需要一个所属类的指针变量,以说明该实例的类标识。

部分面向对象表示的类及类关系如图2所示。

4.2. OWL文档面向对象解析

前面已经介绍,OWL文档采用RDF/XML格式,本文采用TinyXml2 [9]作为XML解析引擎。TinyXml2是一个基于DOM (Document Object Model,文档对象模型),自由授权处理XML文档格式的C语言解析器,定义了对保存为XML格式的本体文件数据进行读取、操作的方法。

本文从XML文档对象模型层次树的根节点开始,遍历OWL类节点、特性节点、实例节点和规则节点,逐层对本体文件中相关的数据进行解析,解析过程如图3所示。

通过逐层解析,将OWL中的类、特性、实例和规则转换为C++中类对象、特性对象、实例对象和规则对象,所生成的对象分别保存在各自的容器中,实现OWL知识本体到面向对象的映射和转换,为后续的语义推理打下了基础。

5. OWL知识库面向对象表示实例

下面以制造特征自动识别知识库为例来说明OWL本体知识库的面向对象表示流程。

Figure 2. Part class diagram of the object-oriented knowledge base

图2.部分OWL知识库面向对象类图

张少华,张应中

Figure 3. The parsing process of OWL files

图3. OWL文档解析流程

5.1. OWL制造特征识别语义知识库

制造特征是机械零件上具有制造意义一组形状,制造特征语义隐含丰富的关于形状和产品制造知识。

本文作者之前提出一个加工特征自动识别的语义方法[10],基于OWL本体技术,采用Protégé构建一个OWL制造特征识别语义知识库,主要由如下三大部分组成:

?TBox:定义制造特征类(MFeature class)、加工面类(MFace class)、几何类(Geomface class)、对象特性和数据特性。图4给出部分内容和层次结构。

?ABox:在制造特征识别语义知识库中,实例是对实体边界模型几何面自动识别和语义标注动态生成的个体,在后续识别推理过程中,还不断有加工面实例、特征实例生成,ABox是动态变化的,因此

该实例不讨论ABox的对象转换。

?规则库:使用SWRL语义网络规则语言定义的推理规则,和实例一起送入推理引擎完成推理过程。

通常SWRL定义的知识规则保存在单独的规则库文件中,也可以保存在OWL文档中,目前制造特

征识别语义知识库定义了上百条识别知识规则。

上述三大部分内容保存在一个Feature.OWL文件中,图5给出部分文档。

5.2. 面向对象转换

本文基于Visual C++ 2010开发平台和TinyXml2,编程实现OWL本体知识库的面向对象的转换。转换程序具备加载读取OWL文档文件、解析构造本体知识的面向对象表示、编辑修改、添加知识库、序

张少华,张应中

Figure 4. Part manufacture feature recognition ontology in semantic knowledge base class and object features

图4. 部分制造特征识别语义知识库中本体类和对象特性

Figure 5. Owl semantic knowledge base manufacturing identification document motioned 图5. OWL 制造特征识别语义知识库文档示意

张少华,张应中

Figure 6. The part of results for the OWL ontology knowledge base to object-oriented conversion

图6. OWL本体知识库到面向对象转换的部分结果

列化保存为OWL兼容的RDF/XML格式文档。

转换系统将本实例的OWL文档“Feature.OWL”打开读入,进行转换后在界面左侧以树结构形式列出解析的概念类对象、对象特性、数据特性;在中间主窗口以图形化方式显示知识库实例对象和关系的RDF图。图6给出笔者采用Visual C++开发的本体知识库系统界面及部分转换的结果。

6. 结束语

本体技术能更好地以一种结构化的、可计算和可共享的形式表示各种术语、概念所隐含的知识,基于本体的知识表示方法已经得到广泛的应用。在工程信息处理中,高效率地表示和集成本体信息非常重要。本文针对目前缺乏高效的OWL本体知识处理与集成工具的现状,在研究OWL本体知识表示框架、语言句法和文档结构基础上,基于面向对象技术,设计了一个面向对象的OWL本体知识库表示模型;

基于XML文档解析平台,对RDF/XML格式的OWL文档实现解析,将OWL本体知识库转换构建为面向对象的本体知识库,和当前针对OWL本体知识库的知识表示相比,采用了统一标准且使用广泛的知识表示方法,提高了解析的效率和可移植性,改善了当前解析技术中对于代码分散、知识层次结构划分不清晰的缺点,使得整个知识表示结构紧凑、逻辑性强,为高效的知识推理和知识检索服务打下了基础。

本文介绍的工作还只是面向对象的本体知识库工作的一部分,下一步还将在SWRL规则转换、本体知识库编辑、面向对象的语义推理和知识服务等方面开展更深入的研究。

参考文献

[1]Zhang, Y., Luo, X., Zhang, H. and Sutherland, W.J. (2014) A Knowledge Representation for Unit Manufacturing

Processes. The International Journal of Advanced Manufacturing Technology, 73, 1011-1031.

张少华,张应中https://https://www.360docs.net/doc/404336693.html,/10.1007/s00170-014-5864-x

[2]Lenzerini, M., Lepore, L. and Poggi, A. (2018) Metaquerying Made Practical for OWL 2 QL Ontologies. Information

Systems, in Press. https://https://www.360docs.net/doc/404336693.html,/10.1016/j.is.2018.02.012

[3]Abadi, A., Ben-Azza, H. and Sekkat, S. (2018) Improving Integrated Product Design Using SWRL Rules Expression

and Ontology-Based Reasoning. Procedia Computer Science, 1, 7. https://https://www.360docs.net/doc/404336693.html,/10.1016/j.procs.2018.01.139

[4]Gryaznov, Y. and Rusakov, P. (2015) Analysis of RDF Syntaxes for Semantic Web Development. Applied Computer

Systems, 18, 33-42. https://https://www.360docs.net/doc/404336693.html,/10.1515/acss-2015-0017

[5]Jain, V. and Singh, M. (2013) Ontology Development and Query Retrieval Using Protégé Tool. International Journal

of Intelligent Systems and Applications, 5, 67-75. https://https://www.360docs.net/doc/404336693.html,/10.5815/ijisa.2013.09.08

[6]Gregor, D., Toral, S.L., Ariza, T. and Barrero, F. (2012) An Ontology-Based Semantic Service for Cooperative Urban

Equipments. Journal of Network and Computer Applications, 35, 2037-2050.

https://https://www.360docs.net/doc/404336693.html,/10.1016/j.jnca.2012.08.002

[7]Levin, K.M. and Cowell, G.L. (2015) OWLcpp: A C++ Library for Working with OWL Ontologies. Journal of Bio-

medical Semantics, 6, 1-9. https://https://www.360docs.net/doc/404336693.html,/10.1186/s13326-015-0035-z

[8]孔静. 一种面向.NET平台的OWL解析器的设计与实现[D]: [硕士学位论文]. 青岛: 中国海洋大学, 2010.

[9]Thomason, L. (2018) TinyXML-2. https://https://www.360docs.net/doc/404336693.html,/leethomason/tinyxml2

[10]Zhang, Y., Luo, X., Zhang, B. and Zhang, S. (2017) Semantic Approach to the Automatic Recognition of Machining

Features. The International Journal of Advanced Manufacturing Technology, 89, 417-437.

https://https://www.360docs.net/doc/404336693.html,/10.1007/s00170-016-9056-8

1. 打开知网页面https://www.360docs.net/doc/404336693.html,/kns/brief/result.aspx?dbPrefix=WWJD

下拉列表框选择:[ISSN],输入期刊ISSN:2325-2286,即可查询

2. 打开知网首页https://www.360docs.net/doc/404336693.html,/

左侧“国际文献总库”进入,输入文章标题,即可查询

投稿请点击:https://www.360docs.net/doc/404336693.html,/Submission.aspx

期刊邮箱:sea@https://www.360docs.net/doc/404336693.html,

中医药领域本体研究概述

中医药领域本体研究概述 【关键词】本体构建;中医药;综述 本体(Ontology)自20世纪90年代引入计算机人工智能领域后,在计算机及相关领域迅速形成一个研究热点。作为一种能在语义和知识层次上描述信息系统的概念模型建模工具,将在人工智能、知识工程、图书情报等领域具有重要的作用和广阔的应用前景。笔者从中医药领域本体构建、基于本体的中医药语言系统和应用系统三方面对中医药本体研究进行概述,并结合发展现状对其进行展望。 1 本体与本体构建 1.1 本体的概念 本体是源于哲学的一个概念,原指对世界上客观存在物的系统描述,即存在论,后衍生到语言、信息、知识系统等领域,被定义为“概念化的明确的规范说明”。目前,关于本体的定义有很多种说法,但不外有两层含义:一是哲学领域的存在,是本体论的研究对象;二是延伸到特定领域之中,指某套概念及其相互之间关系的形式化表达,包括概念化、规范化、形式化和共享4个特征[1]。 从本体的内涵上看,综合不同学者的认识,本体大都被认为是信息、知识的底层构架工具,用于组织较高层次的知识抽象,是领域知识概念化、形式化的说明,也可以是特定领域内“人机交流”的语义基础,即提供概念与概念之间关系的共识。按照领域依赖程度,本体可以分为顶层、领域、任务和应用本体4类;按照主题可分为知识表示本体、通用本体、领域本体、术语本体和任务本体。中医药本体主要用于描述中医领域知识的专门本体,是专业性本体,一般属于领域本体和知识表示本体。 1.2 本体构建工具与描述语言 在本体构建方面,一是利用已有的叙词表或术语词典进行改造;二是利用现有信息和领域专家从头做起,而以后者较常用。目前已经得到公认的方法包括Bemeras法(KACTUS法)、SENSUS法、“骨架”法、企业建模法(TOVE法)、Methontology法等。Gruber[2]于1995年提出了本体构建的五条规则(明确性和客观性、完全性、一致性、最大单调可扩展性、最小承诺),但本体工程构建方法尚处于相对不成熟阶段。本体的构建工具也有很多,包括protégé、WebOnto、Ontolingua、OntoEdit、Ontosaurus、OntoEdit、IBM Ontology Management System等,其中,protégé 是斯坦福大学开发的使用较为广泛的构建工具之一,目前已有4.0版本。

OWL本体知识库的面向对象表示

Software Engineering and Applications 软件工程与应用, 2018, 7(3), 132-141 Published Online June 2018 in Hans. https://www.360docs.net/doc/404336693.html,/journal/sea https://https://www.360docs.net/doc/404336693.html,/10.12677/sea.2018.73015 Object-Oriented Representation for OWL Ontology Knowledge Base Shaohua Zhang, Yingzhong Zhang School of Mechanical Engineering, Dalian University of Technology, Dalian Liaoning Received: Apr. 26th, 2018; accepted: May 8th, 2018; published: May 15th, 2018 Abstract Ontology technologies can better represent the knowledge implied in various terms and concepts in a structured, computable and shared form. The ontology based knowledge representation me-thod has been widely used in many fields. In view of the lack of efficient OWL (Web Ontology Lan-guage, OWL) ontology knowledge processing and integration tools in the engineering information processing, based on the study of the knowledge representation framework, language syntax and document structure based on the OWL ontology, an object-oriented OWL ontology knowledge base representation model is proposed and designed. A method based on XML document parsing plat-form to parse the OWL documents in a RDF/XML format is implemented, which can convert the OWL ontology knowledge base into an object oriented ontology knowledge base. The presented work lays a foundation for the subsequent engineering semantic information reasoning and knowledge retrieval service. Keywords Ontology, OWL, Knowledge Representation, Knowledge Base, Object-Oriented OWL本体知识库的面向对象表示 张少华,张应中 大连理工大学,机械工程学院,辽宁大连 收稿日期:2018年4月26日;录用日期:2018年5月8日;发布日期:2018年5月15日 摘要 本体技术能更好地以一种结构化的、可计算和可共享的形式表示各种术语、概念所隐含的知识,基于本

DBpedia知识库本体分析

DBpedia知识库本体分析 [摘要]在现有的语义网项目架构中,基于关联数据形式的知识库项目往往处于整个语义网络的核心,如何对于这些知识库的知识内容进行组织、储存和查找就成为了决定整个语义网络运行效率的关键因素。在目前的关联数据知识库项目中,DBpedia是较为典型且成熟的一个,DBpedia网站使用本体的方法来对其条目内容进行组织和存储,本文旨在通过对DBpedia 现有本体结构的分析来说明知识库的本体结构对于知识库的组织、存储和查找有着怎样的影响,并试图从该例中分析归纳得出类似网站知识库内容的本体构建的一般要点。 [关键词]DBpedia 关联数据本体本体构建 1.概述及相关简介 1998年,WWW网络的发明者Berners-Lee提出了语义网的概念。这一概念的核心在于致力提高万维网络及其互联的资源的可用性和有效性,使得下一代的互联网更加智能和高效,能够有效处理目前网络中的大量信息内容。这一概念和其具体的技术实现几经波折,从一开始的基于本体的构想到2006年Berners-Lee提出的关联数据概念,在目前的语义网构想中,关联数据成为了其技术实现的核心概念。 关联数据是一种推荐的最佳实践,用来在与以往中使用URI和RDF发布、分享、连接各类数据、信息和只是,发布和部署实例数据和类数据,从而通过HTTP协议解释并获取这些数据同时强调数据的相互关联、相互联系以及有益于人际理解的语境信息。在目前的具体实践中,数据往往以RDF文件的形式发布到互联网络上,存储在关联数据知识库中。而大多数需要使用这些关联数据的网站可以直接从在线关联数据知识库的数据接口获取RDF文件并提取其中的相关信息反馈给用户,从而实现信息和数据的跨网站共享。从上面不难看出,在线关联数据知识库在当前的关联数据语义网构想中占据着核心位置。 DBpedia就是这样一个在线关联数据知识库项目。它从维基百科的词条中抽取结构化数据,以提供更准确和直接的维基百科搜索,并在其他数据集和维基百科之间创建连接,并进一步将这些数据以关联数据的形式发布到互联网上,提供给需要这些关联数据的在线网络应用、社交网站或者其他在线关联数据知识库。同时,与一些同时期的关联数据知识库项目不同,DBpedia提供的关联数据知识内容并不受限于某一较小的专业或学科领域,到2012年为止,DBpedia知识库项目已有超过3640000个条目,这些条目涉及人名、地名、音乐专辑、电影、组织、种族等等多个类目。在大数量和宽范围的前提下,DBpedia知识库的条目组织就成为决定其运行效率的关键因素。DBpedia知识库以构建本体的形式对条目进行组织,起到了一定的效果。 本体一词是指对客观世界存在的事物的系统描述,在信息科学的领域中,1991年Neches 等人最早给出的定义是:给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成,规定这些词汇外延规则。1993年Gruber将其定义表述为“概念模型的明确的规范说明”。1997年Borst进一步完善了该本体的定义,表述为“共享概念模型的形式化规范说

C面向对象程序设计知识点汇集

C#面向对象程序设计知识点汇集 第一章:C#入门 1.namespace关键字 namespace即命名空间,是定义命名空间的关键字,命名空间包含类,是类的组织方式。namespace 命名空间名 { …//类的定义 } 2.using关键字 using关键字用于导入命名空间 using命名空间名; 3.class关键字 class即类,是定义类的关键字。C#中必须用类来组织程序的变量和方法。 4.Main()方法 C#程序必须且只能包含一个Main()方法,它是程序的入口点。 static void Main(string[] args){} static void Main(){} static int Main(string[] args){} static int Main(){} 5.行输出方法 语句“Console.WriteLine("Hello .NET!");”的功能是向显示屏输出双引号之间的字符串。语句“Console.ReadLine();”的功能是输入一个字符串 6.C#程序结构 C#程序的组成要素如下: 1) 命名空间:命名空间包含一个或多个类。 2) 类。 3) 方法:方法必须包含在某一个类中,作为类的一个成员,每个程序有且仅有一个Main()方法。 4) 语句:语句是C#应用程序中执行操作的命令。C#中的语句必须用分号“;”结束。 5) 关键字:关键字也叫保留字,是对C#有特定意义的字符串。 6) 大括号:在C#中,括号“{”和“}”是一种范围标志,表示代码层次的一种方式。7.C#程序书写格式 1)缩进 2) 字母大小写 C#是大小写敏感的语言,它把同一字母的大小写当作两个不同的字符对待。 3) 程序注释 (1) 单行注释,以双斜线“//”开始,一直到本行尾部,均为注释内容。 (2) 多行注释,以“/*”开始,以“*/”结束,可以注释多行,也可以注释一行代码中间的一部分,比较灵活。 (3) 文档注释,使用“///”,若有多行文档注释,每一行都用“///”开头。 8.Console类 Console类是System命名空间中预定义的一个类,用于实现控制台的基本输入输出。

基于本体化知识模型的知识库构建模式研究

基于本体化知识模型的知识库构建模式研究 袁磊1张浩2陈静3陆剑峰1 1(同济大学CIMS中心,上海2(0092) 2(上海电力学院,上海200092) 3(华东师范大学地理系,上海200062) 【摘要】在研究了知识模型及知识库相关理论和技术的基础上,结合本体论,提出了一种基于本体的知识模型,并从领域知识推理、方法知识和任务知识三个角度给出了本体化知识模型基于BNF范式的表达式;基于所建立的本体化知识模型,在对知识进行可拓性分析的基础上,提出了一种知识库结构模式,对于知识模型与知识库的匹配问题进行了讨论,并在理论研究的基础上,给出了利用SQL Server数据库系统建立的知识库示例。 【关键词】本体;知识模型;知识库;设计模式;知识工程 1引言 对于知识的研究与探索,人类自始至终从未停止过,直至人类进入信息化社会并正在向知识化社会迈进的过程中,人类通过计算机的应用才开始真正把知识从概念跃升到知识科学。知识工程便是一门新兴的关于知识获取、表示和推理,以及用一种特定形式把知识表示为计算机可操作对象的科学。其研究的目标是挖掘和抽取人类知识,这也使得计算机具有了人类的一定智能。 知识工程是在20世纪70年代后期,从构建专家系统、基于知识的系统和知识密集型的信息系统的技术发展而来的。Guus Schreiber认为"知识工程是一种建模活动,模型是对现实的某一部分进行的一种有目的的抽象。建模是对知识的少数几个方面建立一种好的描述,而忽略其他方面"。因此,知识工程领域最主要的研究内容是知识表示以及基于此的知识应用。知识模型本身是一个阐述"知识一密集型信息一处理任务结构"的工具。一个应用的知识模型可提供应用所需的数据和知识结构的规范说明。

知识工程中的知识库、本体与专家系统①

知识工程中的知识库、本体与专家系统① 魏圆圆1, 钱 平2, 王儒敬1, 王 雪1 1(中国科学院合肥智能机械研究所, 合肥230031) 2(中国农业科学院农业信息研究所, 北京100081) 摘 要: 随着语义Web思想的兴起, 对专家系统的互操作性和共享性也提出了更高的要求, 对新型知识表示方式和新型知识系统的研究是大势所趋. 本体作为共享概念模型的明确的形式化规范说明, 为不同系统之间的互操作提供了基本的框架, 是解决共享和互操作问题的有效的方法. 一些初学者对知识库、本体以及专家系统的概念产生了各种疑惑, 根据笔者的理解与实践, 对知识工程中的本体、知识库以及专家系统做出较系统的比较分析,对这几个术语做一个澄清. 关键词: 知识库; 本体; 专家系统; 知识表示 Knowledge Base, Ontology and Expert System in Knowledge Engineering WEI Yuan-Yuan1, QIAN Ping2, WANG Ru-Jing1, WANG Xue1 1(Institute of Intelligent Machines, Chinese Academy of Sciences, Hefei 230031, China) 2(Agricultural Information Institute, Chinese Academy of Agricultural Sciences, Beijing 100081, China) Abstract: With the development of the Semantic Web, the interoperability and sharing of expert system were put for- ward more advanced requests. The researches for new knowledge representation and knowledge base systems are im- portant trend. As a formal, explicit specification of a shared conceptualization, ontologies provide frames for inte- roperability between different systems and can solve the sharing and interoperability problem effectively. There were a variety of doubts in some beginners’ mind with the concepts of knowledge base, ontology and expert system. Based on the author's understanding and practice, the systematic comparative analysis between knowledge base, ontology and expert system in the domain of knowledge engineering were proposed in this paper, in order to make these terms less confused and more clearly comprehensible. Key words: knowledge base; ontology; expert system; knowledge representation 作为构建语义Web的基础, 本体论的研究及其应用是目前国内外非常关注的研究热点, 成为一个新的研究领域. 近年来, 本体的开发逐渐从人工智能实验室走向领域专家的桌面上. 本体的应用从网站的分类系统(比如Yahoo!)到网络产品销售的分门别类(比如https://www.360docs.net/doc/404336693.html,), 在互联网上的应用逐渐普及[1]. 某些学者将本体看作是构造知识库的一种途径, 另一些学者认为本体是知识库的重要组成部分[2,3], 此外还有专家将本体视为在不同平台间进行互操作处理的关键技术. 上世纪90年代, 随着本体定义的提出, 知识工程领域在建立知识库的方法上也产生了一种革命性思想, 即有关本体工程和构建本体知识库的思想[2]. 同时, 随着并行与分布式处理、语义Web等新思想与技术的引入, 对专家系统的互操作性和共享性也提出了更高的要求, 对新型知识表示方式和新型知识系统的研究是大势所趋. 本体作为共享概念模型的明确的形式化规范说明, 为不同系统之间的互操作提供了基本的框架, 是解决共享和互操作问题的有效的方法. 因此, 当初研究专家系统的专家学者都对本体产生了兴趣, ①基金项目:国家自然科学基金(31171456);中国科学院知识创新工程青年人才领域专项前沿项目 收稿时间:2012-02-09;收到修改稿时间:2012-03-25

本体理论与领域本体的构建

第二章本体理论与领域本体的构建 2.1 本体理论 2.1.1 本体的基本概念 本体论(Ontology)的概念最初起源于哲学领域,是形而上学理论研究的一个分支,与认识论相对。认识论研究人类知识的本质和来源,即研究主观认知,而本体论研究的则是客观存在。Ontology一方面研究存在的本质,另一方面研究客体对象的理论定义,即整个现实世界的基本特征。现在哲学领域较多翻译为“本体论”。经过多年的演进,到今天,经过人们对“本体”这一概念的重新理解和定位,本体的理论与方法早已被信息领域采用,用于知识的组织、表示、共享和重用。 本体在计算机学科的使用可以追溯到上个世纪80年代,Alxenader在1986年发表的文章被视为本体在计算机领域获得不同于哲学领域的新的研究的起点。随后Ontolgoy在人工智能领域界获得稳步的发展,并被逐渐赋予了新的含义[8-9]。1991年,在人工智能领域,Neches等人最早给出Ontology定义,Neches认为[10]“An ontology defines the basic terms and relations comprising the vocabulary of a topic area,as well as the rules for combining termsand relations to define extensions to the vocabulary.”即“一个本体给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规则定义这些词汇的外延规则。”本体定义了组成主题领域的词汇表的基本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则[11]。1993年美国斯坦福大学知识系统实验室(Knowledge System Laborary,简称KSL)的Gruber给出了本体在信息科学领域被广泛接受的定义:“An ontology is an explicit specification of a conceptualization”[12]。即“本体是概念化的明确的规范化说明”。这也是最著名并被引用最为广泛的定义。1995年Guarino和Giaretta 将本体定义为[13]“本体是概念化的明确部分的说明一种逻辑语言的模型。”这个定义与Gruber的理解有异曲同工之妙。随后在1997年W.N.Borst对Gruber的定义进行了引申,提出了“本体是共享概念模型的形式化规范说明”,以及1998年J.Studer的“本体是共享概念模型的明确的形式化的规范说明”。 本体的定义随着时间的推移也在进行着不断的变化发展,为明确起见,现将本体发展史中较有代表性的定义列表如下: 表2.1 本体发展史中的定义列表时间/提出人定义 1991/Neches 一个本体给出构成相关领域词汇的基本术语 和关系,以及利用这些术语和关系构成的规

面向对象知识点整理

第一章

设计模式: 解决反复出现的问题的设计经验 面向对象的方法: 一种分析方法,设计方法和思维方法. 出发点: 使人们分析设计与实现一个系统的方法尽可能接近人们认识一个系统的方法. 使描述问题的问题空间与解决问题的问题空间尽可能一致. 基本思想: 从现实世界中客观存在的事物出发来建立软件系统. 充分运用人类日常的思维方法. 定义: 是一种运用对象,类,继承,封装,聚合,关联,消息,多态性等概念来构造系统的软件开发方法. 主要特点: 对象,属性与服务,封装,分类,继承,聚合,消息,关联. 程序设计思想的发展历程: 阶段1: 大型机,运算力弱,科学计算,计算密集,小型程序,顺序程序,个体工作 阶段2: 外设发展,运算力增强,数据密集,大型程序,并发程序.程序,管理失控,难以控制程序复杂性. 结构化程序设计: 自顶向下,逐步求精.模块化,使用子程序. 阶段3: 微机.功能抽象困难,易变,分解结构随意,重用性差.解决:面向现实,开发不变性. 面向对象与结构化设计比较: 复用性,问题依赖. 传统方法面向对象方法 数据结构+算法以对象为中心组织 数据属性 操作服务 类型与变量类与对象 函数调用消息传送 类型与子类型继承 构造类型整体-部分结构,聚合 指针关联 面向对象是软件方法学的返璞归真 阶段4: 网络,分布计算,分布对象(COMBA,COM,RMI) 面向对象发展历程: 1960s: Simula67,引入了类和继承 1970s: CLU,并发Pascal,Ada,Modula-2,支持数据与操作的封装 Flex,类,对象,继承 Smalltalk-72,正式使用面向对象这个术语,设计方法正式形成. Simula-67->SmallTalk-80->C++->Java 发展: 从编程发展到设计,分析,发展到整个生命周期.几乎覆盖计算机软件领域的所有分支. 1990s后:

基于本体的健康知识库自动构建方法研究

目录 摘要 .......................................................................................................................... I ABSTRACT ................................................................................................................ II 第1章绪论 .. (1) 1.1研究背景和意义 (1) 1.2国内外相关技术研究概况 (2) 1.2.1 健康知识库研究现状 (2) 1.2.2 信息抽取的主要方法 (3) 1.2.3 基于本体的信息抽取研究现状 (5) 1.3本课题主要研究工作 (7) 1.4本文的结构 (7) 第2章问诊类本体的构建方法 (9) 2.1引言 (9) 2.2基于本体的知识库构建方法 (9) 2.2.1 本体基本介绍 (9) 2.2.2 本体分类 (10) 2.2.3 本体建模语言 (10) 2.2.4 本体建模方法 (13) 2.3问诊类本体构建 (14) 2.3.1 本课题采用的本体建模方法 (14) 2.3.2 问诊页面特征提取 (15) 2.3.3 构建问诊类本体 (16) 2.4问诊类本体模型的验证 (18) 2.4.1 建模结果 (18) 2.4.2 问诊类本体模型验证 (18) 2.5本章小结 (19) 第3章基于关键词和关联规则的抽取规则生成算法 (20) 3.1引言 (20) 3.2抽取规则生成 (20) 3.2.1 规则表达式 (20) 3.2.2 抽取规则生成算法 (21)

领域本体知识库总结

领域本体知识库 目录 1、数据、信息和知识的层次关系 (2) 2、本体定义 (2) 3、领域本体定义 (2) 4、构建领域本体的准则 (3) 5、构建本体的技术方法 (3) 6、领域本体的构建 (4) 6.1、领域本体的构建步骤 (4) 6.2、领域本体的知识工程构建方法 (4) 6.3、领域本体开发流程 (4) 6.4、本体开发流程 (5) 7、本体开发工具 (6) 8、领域本体的查询推理 (7) 9、领域本体的存储 (7)

1、数据、信息和知识的层次关系 图1 数据、信息和知识的层次关系2、本体定义 3、领域本体定义

4、构建领域本体的准则 5、构建本体的技术方法 (1)本体形式化描述语言的选择(2)本体开发工具的选择 (3)确立本体构建方法 (4)领域知识的搜集

6、领域本体的构建 6.1、领域本体的构建步骤 (1)确定本体的专业领域和范畴(2)列出本体中的重要术语(3)建立目标本体的概念结构(4)定义属性 (5)创建类的实例 6.2、领域本体的知识工程构建方法(1)确定本体的领域与范围 (2)列举领域中重要的术语、概念(3)建立本体框架 (4)对领域本体编码、形式化 6.3、领域本体开发流程

6.4、本体开发流程(1)定义类和类层次

(2)定义类的属性及属性约束 类的属性定义主要包括对象属性和数据属性。 对象属性用于描述类的个体实例之间的关系。 数据属性用于描述类的个体数值特征,不同属性有不同取值类型,一般包括文本、数值、日期等多种类型。 定义属性时还须定义其属性约束,包括定义域、值域、属性类型等。 (3)创建实例 7、本体开发工具 本体开发工具采用开源的Protégé软件,用W3C推荐的OWL(ontology web language)语言作为本体描述语言。

网格环境下基于本体的知识库模型研究

第51卷第5期 2005年10月武汉大学学报(理学版) J.Wuhan Univ.(Nat.Sci.Ed.)Vol.51No.5 Oct.2005,603~608 收稿日期:2004211210 通讯联系人 E 2mail :chenhr @https://www.360docs.net/doc/404336693.html, 基金项目:湖北省教育厅科学研究计划(2003A012);湖北省自然科学基金(2003ABA049)资助项目作者简介:黄 屹(19692),男,博士生,现从事分布式系统与分布式流媒体等研究. E 2mail :huangyi @https://www.360docs.net/doc/404336693.html, 文章编号:167128836(2005)0520603206 网格环境下基于本体的知识库模型研究 黄 屹1,顾进广1,2,陈莘萌1 ,陈和平3 (1.武汉大学计算机学院,湖北武汉430072;2.武汉科技大学计算机科学与技术学院,湖北武汉430081; 3.武汉科技大学信息科学与工程学院,湖北武汉430081) 摘 要:针对知识技术仅用于描述网格服务的可用性以及如何被发现、调度和进化的现状,在开放网格服务体系结构(O GSA )的基础上,给出了知识库本体的形式化定义,分析了构建知识库所需的本体,在此基础上提出了网格环境下知识库通用体系结构及基于语义适配器的存储模型,克服了Sesame 存储模型在存储不同格式文件和本体方面所存在的不足,讨论了网格知识库的访问机制. 关 键 词:知识库;开放网格服务体系结构;知识网格;本体中图分类号:TP 391 文献标识码:A 0  引 言 网格[1]作为分布式环境下资源共享与协作计算 的集成基础设施,网格正受到越来越多的关注.网格应用涉及海量数据与密集计算,对目前的互联网和网络基础设施而言是一个极大的挑战,网格中间件正试图在通信、调度、安全、信息、数据访问和错误检测等多个领域迎接挑战.开放网格服务体系结构(O GSA )[1,2]借助Web service 成果,在网格中引入了服务定位.网格服务是Web service 的集合,它遵守一组控制、差错恢复和安全管理协定,并通过标准接口提供服务.知识网格[3]使用知识本体来描述网格资源,是网格和语义网络的一种演变.V EGA 2KG (http ://https://www.360docs.net/doc/404336693.html, )[4,5]和PD KD [6,7]是该方面研究的典型范例. 然而,目前关于知识和网格的研究主要集中在使用知识技术来描述网格服务的可用性,描述它们是如何被发现、调用和进化的,并且从服务描述和网络元素中获取知识.相反,网格上的知识却很少讨论.本文提出了一种网格知识应用———在网格的分布式节点上存储知识,使用网格与知识网格的基本概念如面向服务的中间件,网格的知识技术,基于本体的知识表示机制等等,来描述分布式知识库节点的资源处理能力. 作为词汇集和概念关系的形式化说明方法,知 识本体在语义网和知识网格中发挥重要作用.知识本体为确定领域中的应用提供共享概念,减少或消除多个概念和术语之间的混淆,使领域知识的处理更加精确和方便.使用DAML +OIL 等描述逻辑语言来表示基于本体的知识,DAML +OIL 采用一种面向对象的方法进行建模,一个领域通常用类和特性来表示,它在RDF (Resource Description Framework )的基础上进行了扩充,丰富了语言的建模能力.用类Horn 逻辑语言如TRIPL EI [8]表示知识规则. 1 知识库的本体定义 本体的主要目的是提供一种通用的方法,通过该方法,多个应用程序及使用者可以采用通用的方式来理解所涉及的领域知识及概念,达到重用资源的目的.通常用类、关系、函数、定理、实例的集合表示本体,文献[9]中给出了本体、关系、定理和词典的定义,本文在其基础上对本体进行扩充. 定义1 本体O 可用一个八元组来表示,O ∶=(C ,R ,A C ,A R ,≤C ,≤R ,σ,L ),其中,①C 和R 为两个集合,分别表示概念集合和关系集合;②A C ,A R 是两个属性集合容器,分别代表概念属性的集合容器和关系属性的集合容器,容器的每一个元素代表

基于本体的特征知识库研究

致力于打造高品质文档基于本体的特征知识库研究 基于本体的特征知识库研究 基于本体的特征知识库研究 基于本体的特征知识库研究论文关键词:领域本体特征知识库特征技术 论文摘要:使用特征类、特征对象来对零件特征进行表示,从而建立起一种新的概念化特征知识库。 1 本体和领域本体 1.1本体 本体(Ontology)是共享概念模型明确的形式化规范说明。本体可以分为4种类型:领域本体(Domain Ontology)、通用本体(Generic Ontology)、应用本体(Application On-tology)和表示本体(Representational Ontology)。领域本体(Domain-Specific Ontology)是对学科概念的一种描述,描述了学科中的概念、概念的属性、概念间的关系以及属性和关系的约束。 领域本体形式化描述为:OM={O,C,R,S},O表示本体集,C表示概念集,R表示关系集,S表示规则集。概念网模型形式化描述为:CM={0,C,AIBIP,R,S},O表示本体,C 表示概念集,AIBIP表示属性集或方法集或性质集,R表示关系集,s表示约束规则集。 领域本体的表示形式采用框架表示。领域本体框架结构是由字符串Defontology 后跟<概念>本体、一对花括号组成。本体框架内容是概念的属性、关系和约束规则。概念的属性可以是多个,属性取值约束条件是对属性含义的约束,如时间、范围等,是可选项。概念的关系也可以是多个,约束规则是对概念的属性、关系的细节性约束。注释也是可选项。领域本体框架结构如下:Defontology<概念>本体{属性:属性名1 :属性取值约束条件 :注释属性:属性名1 :属性取值约束条件 :注释关系:关系名1 :关系性质 :注释关系:关系名2 :关系性质 2 特征概念本体 2.1特征概念本体 为在知识库中描述特征,需要对特征进行关系描述。特征类是关于特征的描述,特征对象是特征类的一个实例。 特征类之间、特征对象之间、特征类与特征对象之间有如下几种关系: 2.1.1 Instance-of实例关系 Instance-of实例关系:特征对象e与所属的特征类c的关系。记作I(e,C)。实例关系反映不同逻辑层次上特征实体概念之间的连接,没有自反性、对称性和传递性。推理规则:①性质继承:I(e,C)HasProperty(C,P)→HasProperty(e,P);②属性继承:I(e,c)HasAttribute(c,A)→HasAttribute(e,A):③行为继

知识管理与知识库系统

知识管理与知识库系统 1.知识管理 随着计算机科学技术的发展,以计算机为工具的信息处理技术经历了数值计算阶段和数据处理阶段之后,已经进入了知识管理与处理的阶段,也就是说,计算机可以像人类一样具有创造性思维的能力,即智能。这意味着计算机信息社会进入了一个知识信息处理的新时代,而知识库技术将使计算机应用系统拥有更多的智能。 作为一种管理行为,知识管理历史悠久。知识经济将是继农业经济和工业经济以后的又一种新的社会经济形态。知识不仅是与传统生产要素并列的一种资源,而且是当今唯一有意义的特殊资源,知识首次以一种无形的形式作为经济基础出现在人类发展的进程中。 1.1 知识管理的发展 知识作为一种组织资产的重要性在80年代中期已经被人们意识到知识管理一词正式出现于1989年,这一年为了给知识管理工作提供相应的技术支持,美国一家公司联合会实行了一项管理资产的实验项目,与知识管理相关的一些文章开始出现于一些知名杂志,如《斯隆管理评论》、《哈佛商业评论》、《组织科学》等 1991年野中郁次郎和组内广隆出版了名著《知识创造型公司:日本公司如何建立创新动力机制》标志着知识管理的产生。 1.2 知识经济时代企业的核心竞争力 IDC研究报告显示,员工做的90%的所谓创新工作都是重复的,因为这些知识已经存在。另一份报告显示,员工的1/3时间用在了寻找某些他们永远没有找到的信息上。有72%的员工认为自己所在的企业没有把公司不同地方的知识很好的相互复用,也没有实现知识的整合,形成了“知识孤岛”。

由此看来,如何优化流程将员工宝贵的工作时间能够直接运用于协作顾客或解决问题的创造价值的活动上,对营造企业竞争优势非常重要。 1.3 知识管理的定义 知识管理就是运用信息化技术手段将人与知识充分结合,并且创造知识分享的文化,以加速员工学习、创造及应用知识,提升组织的核心能力,核心为人、组织和技术,简称HOT 。 1.4 为什么需要知识管理 1)外部环境压力 ●全球化、快速化、动态化的激烈市场竞争压力 ●知识成为21世纪的主要经济资源 2)竞争与生存的需求 ●知识利用可以产生竞争上的差异化,并使竞争对手难以模仿 ●知识会影响企业机会把握、响应速度和产品上市时间等最重要的企业生存 能力 3)知识的经济价值性 1.5 知识管理的实现方法 1)知识管理理念、方法的导入

《面向对象方法》复习知识点

1-3章 知识点 1.面向对象开发的核心思想和概念 2.对象的主要属性(状态和行为) 3.对象的关系(包含,继承,关联) 4.面向对象的软件开发过程 5.面向对象程序设计方法的优点 6.Java 产品的三个主要系列(J2SE,J2EE,J2ME) 7.开发Java程序的基本步骤 8.Java程序的构成 9.Java数据类型 10.Java表达式 11.Java 流程控制语句 第4章抽象、封装与类 知识点 1.抽象与封装的概念,面向对象程序设计中如何实现抽象与封装。 2.java中经常使用的包有哪些,如何使用Java类库。 3.用户自定义类的方法,如何创建对象。 4.构造函数的特点、作用、执行时机。 5.抽象类、最终类的定义方法及含义。 6.静态域的概念、定义方法、特点。 7.最终域的概念、定义方法、特点。 8.抽象方法、静态方法的特点,静态方法处理的域有何要求。 9.类的访问控制符及其作用,p86页表4-1、表4-2。 第5章继承与多态 知识点:

1.父类是所有子类的公告域和公告方法的集合,而每个子类是父类的特殊化。 2.Java通过extends只能实现单重继承,通过implements实现接口,相当于 是多重继承。 3.子类继承了父类的所有非private的属性和方法作为自己的成员。 4.域的隐藏:在子类中定义一个与从父类继承来的域变量同名变量,则子类方 法操作的是子类自己的变量,子类执行继承自父类的操作时,处理的是继承自父类的变量。例子见P103 TestHiddenField.java 5.方法的覆盖:子类方法对父类同名方法的覆盖将清除父类方法占用的内存, 从而使父类方法在子类对象中不复存在。例子见P106 TestOverload.java 6.this:表示当前对象的一个引用。引用可以理解为对象的另一个名字,通过 引用可以访问到对象,有点象指针,但是对象的引用与内存地址无关,不能计算。利用this可以调用当前对象的方法或使用当前对象的域。 7.super:代表是直接父类,通过它来引用父类的成员。 8.多态:指一个程序中同名的不同方法共存的情况。可以表现为子类对父类方 法的覆盖,也可以表现为一个类中方法的重载,还可以将子类的对象作为父类的对象实现对象的多态。 9.对象引用的多态:即对象的引用型变量具有多态性。因为子类对象可以作为 父类对象来使用,但是父类对象不能被当作子类的对象。例子P115 TestPolymorphism1.java和TestPolymorphism2.java 10.强制类型转换:存在继承关系的父类对象和子类对象之间可以在一定条件下 进行转换。如果父类变量引用的是一个子类对象,那么可以用强制类型转换将这个父类变量的转换为子类对象的引用。例子见P119 TestPolymorphism3.java 11.构造函数的重载:this()可以显式地调用另一个构造函数,应该在第一行。 12.调用父类的构造函数:子类并不继承父类的构造函数,但遵循一定的调用原 则。原则见P125,例子 TestCons.java。只要子类构造函数中不是显式调用父类的构造函数,在创建子类对象时,系统总是隐含调用父类的无参数的构造函数。但是如果父类没有无参数构造函数,而在创建子类对象时又需要调用父类的无参数构造函数,则编译报错。

面向对象程序设计(Java) 复习提纲

Java复习提纲 1. 基础知识 1)Java源代码文件后缀名为.java,编译后生成的字节码文件后缀名为.class 2)Java中的变量名由三种类型的字符:字母、数字和下划线组成,且数字不能作为变量 名首字母。 3)Java中的变量名一般首字母小写,类名首字母大写,包名首字母小写。 4)一个Java源文件中可以定义多个类,但只能有一个是public的。 5)JDK安装后,会有两个可执行程序文件java.exe、 javac.exe,其中java.exe是用来运 行Java程序的,javac.exe是用来编译Java源代码的。 6)Java程序中,要结束程序退出,并且设置结果状态为-1,应该调用System.exit(-1);如 果没有调用这个函数,那么程序最终退出时,退出值为0。 7)abstract类中可以有abstract和普通(非abstract)的方法;普通类中则只能有普通方法, 不能有abstract方法。 8)int[] a = null; a[0]=77; 会引起NullPointerException。 9)String s = (String) new Object(); 会引起ClassCastException。 『父类不能强制转换成之类』 10)Java中Object类是最顶层的类,是所有类的父类(也叫超类)。 11)使用instanceof运算符可以判断一个对象是否是某个类。 2. 名词解释 1)JVM 『Java虚拟机简称JVM,是运行所有Java程序的抽象计算机,包含Java解释器。JVM 实现了Java程序的跨平台运行。』 2)JRE和JDK 『Java运行时环境简称JRE,Java开发工具的一个子集。由想要重新分布JRE的终端 用户和开发者使用。JRE包括Java虚拟机、Java核心类及支持文件。 Java开发工具集简称JDK,用Java编写applet和应用程序的软件开发环境。它比JRE 多了开发工具和API。』 3)Java SE、 Java EE和Java ME

面向对象、面向组件、面向服务,以及面向XXX

无论什么系统变大了之后,就会有一系列问题。面向XX就是为了解决系统成长过程中遇到问题,而采用的一些范式。 举例来说:你开始给一个企业做MIS系统。当这个企业来很小的时候,用简单的面向对象编程,数据库+服务端+浏览器已经满足需求。不需要考虑面向组件开发和SOA。 慢慢的,这个企业长大了,当初简单的mis系统,变得越来越复杂和庞大。系统中有很多重复功能的代码。当这些功能模块的业务有变化时是你头疼的时候:代码中有很多地方要修改,遇到新员工,有时总是改不全。系统上线问题越来越多,需求响应时间也越来越长。经常被客户骂:他X的,这么简单的需求搞了半个月都上不了线。去年xxxxxxx两天就上线了。此时,你会考虑怎么把系统中那些重复的代码统一起来。你会考虑到组件化,即“面向组件”。你把一个个比较独立的业务模块约定好接口,开发成组件。以后再有类似的功能模块,直接调用这个组件,即节省开发成本,又容易维护。 后来,企业变成了集团公司。已经上线了很多套各种各样的mis系统。虽然大部分系统都实现了组件化。但做为一个集团公司,仍然有很多共同的业务,不同mis系统中有很多功能重复的模块。此时又面临业务升级困难,难以使用的问题:一个需求可能要涉及很多套mis系统的升级。同时每套系统都有独自的界面,客户录入一个数据,要打开N个页面,要登陆N次,叫苦不迭。各种数据不一致的问题接踵而来。SOA来啦。架构师把各个系统功能类似的模块抽象成服务,重复的模块再也没有了,不同系统间互相调用服务接口。以前要自己写一大堆代码,现在搞清楚接口,直接调用另一套Mis系统的服务接口就OK了。也有了单点登陆,有了portal,有了搜索服务,有了知识库等等。 但是问题又来了:总有一些很重要的服务,所有的系统都会依赖它,它出一点问题,所有系统都停转。你开始考虑双机,热备,负载均衡。以前用的IBM的主机+Oracle数据库+EMC 的存储,再后来买更贵的性能更好的。慢慢的你发现,企业挣的钱都他妈的给了IOE。你开始考虑分布式,开始考虑使用开源产品。。。 -----补充----------------------- 面向对象技术的基础是封装--接口与实现分离,面向对象的核心是多态--这是接口和实现分离的更高级升华,使得在运行时可以动态根据条件来选择隐藏在接口后面的实现,面向对象的表现形式是类和继承。面向对象的主要目标是使系统对象化,良好的对象化的结果,就是系统的各部分更加清晰化,耦合度大大降低。 面向组件技术建立在对象技术之上,它是对象技术的进一步发展,类这个概念仍然是组件技术中一个基础的概念,但是组件技术更核心的概念是接口。组件技术的主要目标是复用--粗粒度的复用,这不是类的复用,而是组件的复用,如一个dll、一个中间件,甚至一个框架。一个组件可以有一个类或多个类及其它元素(枚举、)组成,但是组件有个很明显的特征,就是它是一个独立的物理单元,经常以非源码的形式(如二进制,IL)存在。一个完整的组件中一般有一个主类,而其它的类和元素都是为了支持该主类的功能实现而存在的。为了支持这种物理独立性和粗粒度的复用,组件需要更高级的概念支撑,其中最基本的就是属性和事件,在对象的技术中曾一度困扰我们的类之间的相互依赖问题/消息传递问题,迄今为止我所知道最好的解决方案就是事件。要理解组件思想,首先要理解事件的思想和机制。 我一直坚持以为,一个组件的外形/外貌应该是简单的、应该是清晰的、没有冗余的东西、也没有无关紧要的东西,这个外貌通过接口来描述,接口中可以发布事件、属性和方法。这三种元素就足以描述一个组件外貌的所有特征。比如,我曾经用封装的一个完成端口组件,其外貌接口中只有四个方法,三个事件,三个属性而已,而该组件的内部实现却有几千行代

相关文档
最新文档