1、厦门大学本科毕业论文本科毕业论文(科研训练、毕业设计)题 目:基于本体的武器装备定题爬虫的设计与实现数据库与查询系统设计姓 名:学 院:软件学院系:软件工程专 业:软件工程年 级:学 号: 指导教师(校内): 职称:指导教师(校外): 职称:年 月厦门大学本科毕业论文I武器装备本体在定题爬虫中的应用数据库与查询系统设计摘要 随着网络信息的迅速发展,搜索引擎已成为人们获取有用信息必不可少的工具。以何种策略有效地访问网络资源是专业搜索引擎中网络爬虫研究的主要问题。基于本体的查询是当前的研究热点,本体的语义表达能力有效的提高描述逻辑能力,表达出一般形式的规则,因此给予本体语义的定题爬虫能迅速获取网络
2、上特定主题的大量信息,对专业搜索引擎具有重大价值。针对目前通用的基于关键词主题过滤策略的不足,提出了基于本体语义的主题过滤策略。本文对搜索引擎中网络爬虫的搜索策略进行简要分析, 总结提高搜索效率的因素,使人们对网络爬虫的搜索算法有个大概了解,以及对新一代搜索引擎的期望 ,以便更快捷获取自己需要的信息.关键词 本体语义 定题爬虫 搜索引擎 厦门大学本科毕业论文IIWeapon Ontology base on focused crawlerDesign of Database and Search SystemAbstract With the fast development of the i
3、nternet, search engines become one of the necessary tools to get useful information. Researches on ontology-based queries are current research concerns. And the semantic expressive ability of ontology is helpful to the Description Logic, being able to express the regulative rules. So focused crawler
4、 can fetch large quantities of domain resources from the Web in a short time. It is very helpful in both focused search engines. In order to overcome the deficiency of topic filtering strategy based on keywords widly used nowadays , it proposed a topic filtering stratege based on ontology semantic.K
5、eywords ontology semantic focused crawler search engines厦门大学本科毕业论文III目录第一章 引言 .8第二章 概念和开发工具 102.1 基于本体的定题爬虫概念介绍 .102.1.1 本体概念 102.1.2 网络爬虫介绍 102.2 开发工具介绍 .112.2.1 Eclipse3.2.1112.2.2 Tomcat5.5122.2.3 JSP122.2.4 Mysql 数据库 .13第三章 武器本体的建立 143.1 武器本体介绍 .143.2 武器本体构造的技术路线 .143.3 武器本体的设计原则 .143.4 武器本体的生命周
6、期模型 .153.5 武器本体的开发 .173.5.1 武器领域概念层次的确定 173.5.2 武器本体模型创建 17第四章 系统的设计与实现 184.1 介绍 184.2 总体设计 184.2.1 程序设计模式 184.2.2 总体设计思想 194.2.3 爬虫总体框架结构 204.3 模块设计 .224.3.1 页面处理模块 224.3.1.1 模块功能说明 .224.3.1.2 模块的处理流程 .234.3.1.3 模块的输入与输出 .234.3.1.4 算法的实现 .244.3.2 主题过滤模块 244.3.2.1 模块功能说明 .254.3.2.2 模块的处理流程 .254.3.2.
7、3 模块的输入与输出 .264.3.2.4 算法的实现 .274.3.3 链接算法模块 274.3.3.1 模块功能说明 .27厦门大学本科毕业论文IV4.3.3.2 模块的处理流程 .284.3.3.3 模块的输入与输出 .284.3.3.4 算法的实现 .294.4 数据库设计 294.4.1 表的创建 294.4.2 数据库功能描述 304.5 查询接口的设计 31第五章 搜索结果分析 .335.1 原始的搜索结果 335.2 爬虫系统改进的搜索结果 34第六章 结论 .37致谢 .38参考文献 .39厦门大学本科毕业论文VCONTENTChapter 1 Introduction 8C
8、hapter 2 Concepts and Development Toolkits.102.1 Concepts Introduction 102.1.1 Ontology .102.1.2 Crawler .102.2 Development Toolkits Introduction.112.2.1 Eclipse3.2.1 112.2.2 Tomcat5.5.122.2.3 JSP .122.2.4 Mysql 13Chapter 3 Build Ontology of Weapon.143.1 Weapon Ontology Introduction.143.2 Technology
9、.143.3 Design Principle .143.4 Ontologe Lifecycle153.5 Build Weapon Ontology .173.5.1 Weapon Concepts 173.5.2 Build Ontologe Model .17Chaper 4 Design of Crawler System184.1 Introduction 184.2 Design 184.2.1 Mode Design.184.2.2 Design Kernel .194.2.3 Frame Design .204.3 Module Design .224.3.1 Page Di
10、spose Module 224.3.1.1 Description 224.3.1.2 Module Flow 234.3.1.3 Input and Output234.3.1.4 Arithmetic 244.3.2 Keyword Filter Module244.3.2.1 Description 254.3.2.2 Module Flow 254.3.2.3 Input and Output264.3.2.4 Arithmetic 274.3.3 Links Arithmetic Module274.3.3.1 Description 27厦门大学本科毕业论文VI4.3.3.2 M
11、odule Flow 284.3.3.3 Input and Output284.3.3.4 Arithmetic 294.4 Database Design294.4.1 Create Table.294.4.2 Function Description.304.5 Design of Interface of Query 31Chapter 5 Analyse Search Result 335.1 Original Result335.2 Improve Result .34Chapter 6 Summary37Acknowlegement 38Reference 39厦门大学本科毕业论
12、文第 1 页 共 32 页第一章 引言目前的搜索引擎大多数是面向所有信息的,可以称之为综合性搜索引擎,它们普遍存在以下问题:(1)综合性搜索引擎试图满足各类用户的查询需求,所搜集的网页内容广而泛,随着信息的日益多元化,用户对信息的需求往往是针对特定主题的,在这种面向主题的搜索中,由于各个用户的需求都不尽相同,综合性搜索引擎在主题的选取方面无法满足所有用户的需要,如Yahoo的网页目录不可能枚举出所有主题。(2)即使是使用了PageRank这样的排序技术,但由于其对新出现的网页存在有偏性,导致新出现的网页排序较后而不易被用户所发现。(3)即使搜索引擎采用增量搜集策略,也可能会有一大批网页因为更新
13、或删除而无法搜到。针对上述问题,本文提出了基于本体的定题爬虫搜索引擎这一概念。网络爬虫是因特网上一个自动下载网页的程序。网络爬虫已被广泛应用于搜索引擎。随着用户个性化与专业化需求的增加,传统爬虫已不能满足这种需求,因而出现了定题爬虫。定题爬虫会根据特定的抓取目标,有选择地访问网络链接,并迅速获取网络上特定主题的大量信息,因而对专业搜索引擎或需获取某主题信息进行数据挖掘的应用具有极大的价值。为了实现特定领域信息的获取,需要某种主题。过滤策略,目前通用的做法是根据网页中的关键词判定,由于存在一词多义及一义多词的现象,这种基于关键词的判定策略已被证实精确度不高,会遗漏许多相关页面或添加许多不相关的页
14、面. 因此我们提出一种基于语义的主题相关性判定策略,利用ontology 对领域概念及概念间关系的明确定义来提高判定精度。基于本体的定题爬虫搜索引擎,就是一种运行在个人计算机上的搜索引擎,它能根据用户自由定制的主题领域实时在Internet上搜索与之相关的信息。实时性保证了每次搜集到的信息都是某个主题领域中最新的,解决了综合性搜索引擎中普遍存在的时效性不高和对新出现网页存在有偏性的问题。主题领域的可厦门大学本科毕业论文第 2 页 共 32 页定制性大大提高了搜索的灵活性,解决了主题领域枚举难的问题。此类搜索引擎只可以运行于个人计算机上,其核心是一个实时的Web Crawler服务程序。它通过启
15、发式搜索算法,根据用户定制的主题领域实时在Internet上展开搜索,并将搜索结果以特定格式存入对应的主题文件。相信此类搜索引擎将成为综合性搜索引擎的又一重要补充。基于本体的搜索引擎也是未来搜索引擎的一种发展趋势所在,其搜索质量的高效性为广大网民提供更为有效的搜索信息,节约了搜索过程中所耗用的人力、财力、物力等各种资源,提供了极大的方便。厦门大学本科毕业论文第 3 页 共 32 页第二章 概念和开发工具2.1 基于本体的定题爬虫概念介绍2.1.1 本体概念本体来自希腊词汇,onto表示being, logos表示to reason,最初是哲学上的一个分支,用来表示事物的本质和组织。虽然这个术语
16、在17世纪诞生,但是它和亚里斯多德在公元前四世纪所给出的定义(Metaphysics)同义,哲学家们用它来回答一些基本的问题如“什么是本质?”、“所有事物的一般特征是什么?”。本体在计算机领域研究的应用和人工智能(AI)、信息技术的发展密切相关。在AI领域,为了建立相关领域的通用知识库,需要考虑在一个领域中哪些知识是可以复用的或共享的,以及怎样获取和描述一个领域中的一般性知识等问题;在数据库管理系统领域,虽然数据库技术己经成熟,但是数据库的异构给数据的集成和共享带来很多困难;在软件工程领域,应用程序需要具体、统一的领域建模形式化基础而实现软件的复用。这三个领域的发展都需要解决对特定领域的概念进
17、行通用的描述,这正是本体回答的问题。2.1.2 网络爬虫介绍网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取厦门大学本科毕业论文第 4 页 共 32 页的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取
18、的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题: (1) 对抓取目标的描述或定义; (2) 对网页或数据的分析与过滤; (3) 对URL的搜索策略。 抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密相关的。 现有的聚焦爬虫对抓取目标的描述或定义可以分为基于目标网页特征,基于目标数据模式和基于领域概
19、念三种。 本系统所采用的是聚焦爬虫,其工作流程较为复杂,首先需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。2.2 开发工具介绍2.2.1 Eclipse3.2.1Eclipse是一个开放源代码的、与NetBeans、Sun ONE Studio和Borland Jbuilder类似的一种基于Java的整合型可扩展开发平台,也是目前最著名的开源项目之一,IBM在最近几年里也一直在大力支持该项目的发展,目标是将其做成用以替代IBM Visu
20、al Age for Java的下一代IDE 开发环境,并于2001年11月宣布投入4千万美元资金到该项目的研发。就其本身而言,它只是一个框架和一厦门大学本科毕业论文第 5 页 共 32 页组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。其未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。目前,Eclipse已经开始提供C语言开发的功能插件。更难能可贵的是,Eclipse是
21、一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL,Perl,Python等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,它可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。2.2.2 Tomcat5.5Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta项目中的一个核心项目,由 Apache,Sun 和其它一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Se
22、rvlet 和 Jsp 规范总能在 Tomcat 中得到体现。由于 Java 的跨平台特性,基于 Java 的 Tomcat 也具有跨平台性。Tomcat不仅仅是一个 Servlet 容器,它也具有传统的 Web 服务器的功能:处理 Html 页面。我们可以将 Tomcat 和 Apache 集成到一块,让 Apache 处理静态 Html,而Tomcat 处理 Jsp 和 Servlet。这种集成只需要修改一下 Apache 和 Tomcat 的配置文件即可。Tomcat 确实是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越收到人们的重视,Linux 就是一
23、个成功的典型。人们不再限于只使用软件,而且已经关心起软件的具体实现。我们有理由相信Tomcat 会走得更远。2.2.3 JSPJSP 技术是用 JAVA 语言作为脚本语言的,JSP 网页为整个服务器端的 JAVA厦门大学本科毕业论文第 6 页 共 32 页库单元提供了一个接口来服务于 HTTP 的应用程序。 JSP(JavaServer Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。 在传统的网页 HTML 文件(*.htm,*.html)中加入 Java 程序片段(Scriptlet)和 JSP 标记(tag),就构成了 JSP 网
24、页(*.jsp)。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无 Plugin,无 ActiveX,无 Java Applet,甚至无 Frame。2.2.4 MySQL数据库MySQL是一个广受区人们喜爱的半商业的数据库,可运行在大多数的平台,以及少许非linux甚至非unix平台。它是数据库领域的中间派。查询语言允许复杂的连接(
25、join)查询,但是所有的参考完整必须由程序员强制保证。 MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序、很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。MySQL主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库
26、,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过40个数据库,包含10,000个表,其中500多个表超过7百万行,这大约有100个吉字节(GB)的关键应用数据。MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。厦门大学本科毕业论文第 7 页 共 32 页第三章 武器本体的建立3.1 武器本体介绍目前武器领域现有的资源的标准、主题、分类等已不能满足专业的武器领域Web资源快速增长的需要,导致用户在搜索时得到不满意的结果。这主要是由于人与机器间对武器领域缺乏共同的认识,在
27、现有的技术条件下,无法实现武器领域知识的高效共享和重用,需要引入一种新的机制来解决这个问题。分析可知,将本体应用到当前Web中,利用本体来描述武器领域知识Web资源及其间的各种复杂的关系,可以提高实现武器资源的高效重用,但是目前还没有武器本体的创建标准及基于武器本体的实际应用。本章主要探讨了武器本体的开发方法,以建立一个武器领域Web信息资源的描述体系,为用户和机器对武器领域的认识达到统一。因为本体和软件类似,随着学科领域的发展需要进行更新和维护,本课题引入软件工程的方法从工程的角度探讨了武器本体开发过程。3.2 武器本体构造的技术路线根据获取领域概念的策略,目前本体构造的技术路线大致可以分为
28、三类:第一类是自顶向下的开发方法(Top-Down),它首先标识领域中最通用的概念,在通用层次上创建相应的种类,然后逐步地细化本体。第二类是由底向上的开发方法,它的特点是先从最具体的概念开始,然后再将它们按类目分组。第三类的开发方法(Mildde-out ):从中间层很相关的概念开始,然后向两个方向将它们细化和分类,通过实际应用来不断的扩充本体。但本体构造是否成功将受到多个因素的影响,厦门大学本科毕业论文第 8 页 共 32 页3.3 武器本体的设计原则武器本体实质上是用户和机器理解武器领域知识的参照系统,是实现武器知识共享和重用的关键。为了武器本体更好的描述Web上武器资源,在武器领域实现本
29、体的共享与重用,因此在武器本体设计时遵循下面四个基本原则,标准性概念的选择尽可能遵循武器领域相关的标准,在专家的指导下,保证选用概念定义及其关系的客观性,从逻辑上确保概念定义的前后一致性,并且支撑软件遵循网络和软件领域的潜在标准。本爬虫系统所用到的武器本体采用由底向上的开发技术路线,概念层次树的特点是先从最具体概念开始,根据应用需求再进行扩充。本课题研究先从创建一个具体的本体开始,开发一个小型的知识本体,探索开发武器本体的技术,为进一步研究武器本体工程及武器智能信息搜索系统所涉及关键技术打下良好的基础。智能性武器本体将人类的知识以一种计算机可以处理的方式表示出来,同时面向用户和机器,使用本体描
30、述语言将其形式化使领域知识可以高度重用,为武器领域信息智能化集成和搜索、共享和重用提供媒介。可重用性武器领域知识相对稳定,采用持久保存的存储方式,数据格式独立于应用,以便于在应用中实现共享和重用。在此原则上创建的本体,具有标准、可扩展、可重用、智能等特性,能够达到在人与应用在武器领域内进行信息交流没有语义的模糊目的,实现武器领域知识的共享和重用,为开发智能化应用提供基础。3.4 武器本体的生命周期模型参照IEEE标准软件开发生命周期法及各种文献对本体开发方法的论述,结合武器领域的知识特点及本体可重用性,将软件工程中的瀑布模型的思想引入到武器本体的创建中,本课题给出如图3-1的武器本体的生命周期
31、:厦门大学本科毕业论文第 9 页 共 32 页图3-1 武器本体生命周期 确定计划、方案。是粗框架,武器本体的开发的起点。确定本体开发的目标、适用范围及用户,武器是领域本体;对用户需求进行分析、规范,形成用户需求、武器本体开发的规范文档。 考虑重用。由于创建一个本体需要消费大量的人力和物力,且本体具有共享和重用特性,首先检索本领域有没有己经创建的相关的本体,以节约成本。在武器领域中 构造本体模型。非形式化阶段。捕获武器领域的相关概念,分析它们之间的关系,给出恰当的定义,构建本体模型。这一步需要领域专家的参与,如有可能再次考虑本体模型的重用。 形式化本体。用一种形式化语言描述本体模型,如OWL,
32、 RDF等,在一阶逻辑的基础上分清概念层次,分析其间的关系,这是一个不断反复循环的过程。形式化本体时再次考虑本体的重用,同时该形式化本体应该可以被积累,具备重用的特性,为武器本体的共享和重用打好良好的基础。 评价、维护阶段。这阶段根据第一阶段形成的文档,检验本体是否满足用户需求、符合软件应用的需求;对本体进行管理,随着武器领域的技术发展,本体需要被更新,如添加、删除、修改,在更新时尽量减少对应用的影响。厦门大学本科毕业论文第 10 页 共 32 页3.5 武器本体的开发3.5.1 武器领域概念层次的确定武器本体实质上是一个比现有资源描述方法如分类、主题能够表达更复杂关系的词表演,它首先对武器领
33、域概念进行分类层次的划分,再对概念间关系进行表达。因此武器本体构造可以在现有的武器基本词汇的基础上添加更多复杂的关系。武器概念的选择主要参照国家标准、专业书籍、专家的建议等,从中提炼出了一些核心概念。由于中华武器库包含武器领域共享的概念和分类层次,参考了这个工具书来确定武器领域的类概念及类的层次关系、属性、实例及其相关的关系。3.5.2 武器本体模型创建我们以武器领域中“飞机”本体为一例重点开发。首先获取在此领域,捕获武器领域中飞机的相关概念,分析它们之间的关系,出恰当的定义,构建本体模型。这一步需要领域专家的参与或者借助参考书籍, 飞机的同义词和近义词,他们大概有:战斗机,轰炸机,侦察机之类
34、的关键字。此步骤叫做本体的非形式化。接下来进行的本体的形式化,用一种形式化语言描述飞机本体模型,我们采用OWL来形式化它,在一阶逻辑的基础上分清概念层次,分析其间的关系,这是一个不断反复循环的过程。形式化飞机本体时再次考虑本体的重用,同时该形式化飞机本体应该可以被积累,具备重用的特性,为飞机本体的共享和重用打好良好的基础。在此层采用的开发技术是语义Web技术OWL语言(用于描述武器领域概念及其语义关系),OWL武器本体的管理使用Stanford大学开发的protege 2000)、使用JAVA语言编程调用Jena提供。如此循环进行,最终,武器领域的飞机本体构造完成,后面提到飞机本体厦门大学本科
35、毕业论文第 11 页 共 32 页就是使用它进行更加准确的搜索。第四章 系统的设计与实现4.1 介绍武器本体实现了对武器领域知识的更加明确的描述,使人对武器领域知识能够达到更加准确的认识,是实现智能化信息检索和信息集成的基础。只有将创建的武器本体应用具体的应用中,才能真正实现武器本体在应用中的作用。传统的搜索系统应用只是从字面形式上匹配用户的输入的概念,并不清楚用户输入概念所表达的准确含义,而且用户的查询本身带有一定的模糊性,因而导致用户的搜索效率较低。在对武器本体的开发、存贮、查询研究的基础上,本章主要设计针对武器领域Web资源的搜索系统。利用传统Web搜索系统获取武器领域相关资源,再使用武
36、器本体概念对其进一步的描述,同时将用户的关键字转换为武器本体概念,从而使用户目的和机器表示尽可能的达到一致,以达到对武器领域Web资源的智能搜索,提高用户搜索的满意度和准确度,并探索一个本体在Web搜索引擎的应用模型。该搜索引擎主要是验证武器本体在搜索中对检索的智能性及结果查准率的影响。4.2 总体设计4.2.1 程序设计模式实验系统的开发采用当前开发Web的主流技术JSP十MySQL +TOMCAT十JavaBeans,其整体设计基于JAVA的B/S结构,该系统分为三层表示层(用户端)、业务逻辑层、数据层。因此本系统采用MVC设计模式的设计模式,把一个软件组件区分为三个不同的部分,model
37、 ,view,controller。 Model是代表组件状态和低级行为的部分,它管理着自己的状态并且处理所有对状态的操作,model自己本身并不知道使用自己的view和controller是谁,系统维护着它和view之间的关系,当model发生了改变系统还负责通知相应的厦门大学本科毕业论文第 12 页 共 32 页view。View代表了管理model所含有的数据的一个视觉上的呈现。一个Model可以有一个以上的View,但是Swing中却很少有这样的情况。Controller管理着model和用户之间的交互的控制。它提供了一些方法去处理当model的状态发生了变化时的情况。结合具体的开发实
38、例,我们所开发的软件中,其表示层,业务逻辑层,数据层具体的含义如下: 表示层。向用户显示信息,为用户通过浏览器访问实验系统提供了一个可视化的接口。虽然在该系统中引入了本体,在表示层向用户显示的Web页面对用户屏蔽了本体。 业务逻辑层。本体的创建、更新、维护是该系统的基石,Web信息资源描述组件访问数据层(武器本体库)对google搜索的有关武器领域的Web信息资源进行概念语义描述。从而使用户的意图和应用程序理解的语义达到一致,最后查询组件从数据层获取数据,将结果返回给表示层。在此层采用的开发技术:有语义Web技术OWL语言(用于描述武器领域概念及其语义关系),OWL武器本体的管理使用Stanf
39、ord大学开发的protege 2000 )、使用JAVA语言编程调用Jena提供。 数据层。武器本体的形式存放武再器领域知识,数据库存贮google搜索的有武器领域Web资源页面,将页面中的标题名、URI等信息存入Mysql库中,其整体的数据层数据也存贮于MySQL数据库。4.2.2 总体设计思想原始的 Google 搜索往往不易达到用户搜索的目的,但其海量的搜索却为我们的爬虫系统提供很好的 Web 资源库,因此本系统建立在 Google 海量的资源基础上,对 Google 的搜索结果经一步的准确化和精确化。例如:在 Google 的主页面上,搜索关键字为“飞机” ,产生一个搜索页面为:ht
40、tp:/ 4-1表 4-1 数据库 record 表Field Type Null Key Default ExtraURl varchar(100) No PRIKeyword varchar(100) Notitle varchar(100) NoPagetext varchar(100) NoDescription varchar(100) NoInlinks int(10) Yes NULLOutliks Int(10) Yes NULLStamp date Yes NULL4.4.2 数据库功能描述数据库的交互使用功能: 建立连接池,每次需要使用数据库操作时,调用 getConnection()返回一个连接,进行操作。我们的爬虫系统在实现的过程中,与数据库进行了多次的交互,因此数据库的重要行在本系统中不言而喻,多次的交互过程见下图 4-6: