一种基于领域本体的油气大数据查询和存储方法与流程

文档序号:18475315发布日期:2019-08-20 20:57阅读:192来源:国知局
一种基于领域本体的油气大数据查询和存储方法与流程

本发明属于计算机油气大数据领域,涉及一种基于领域本体的油气大数据查询和存储方法。



背景技术:

石油领域本体对石油勘探开发领域中二十多个学科的知识概念进行了描述,同时表现了概念和属性之间的相互关系。在石油勘探开发工作中,石油本体可以完成石油勘探开发领域中多学科的知识集成和信息集成,阐明术语与术语之间的关系及其领域公理,并对它们进行了形式化描述,该领域本体可以作为一种解决石油领域中多专业之间的知识融合的模式。石油领域本体的特点可以解决石油勘探开发领域中由于多学科而导致的概念之间的不规范性、概念相对独立等问题,将石油领域各个学科之间的知识概念形成一个统一的整体,加快了石油领域电子信息化建设进程。

已有的算法形如三重表法、水平分区和垂直分区等算法,三重表法将整个rdf数据存储到一个三列数据表中,每一行都分别对应rdf数据的主体资源、映射关系和客体资源,三重表法针对于小型规模的数据有着十分优越的性能,但是随着数据规模的增加,会产生大量的自连接,导致数据处理速度效率大幅度降低。水平分区方法是将所有rdf数据存储到一个表中,该表为rdf数据的每个谓词值指定一个专用列,且这个表支持多值属性,但由于稀疏属性导致大量空单元格,所以该存储方法不适用与大规模数据存储。垂直分区方法将三重表重写为n个两列表,其中n是数据中唯一属性的数量,对于指定谓词值的查询来说,执行效率高,但随着数据规模的增加,信息的检索时间将呈指数增长。以往的石油领域本体数据存储量小,选择传统关系型数据库为存储介质可以满足实际的需要,但是,由于大数据时代的到来,数据呈爆炸式进行增长,选择关系型数据库所产生的重复存储,极大地占用了存储资源,冗余的存储模式也给信息的检索带来了极大的困难。因此,如何在数据繁多和极其复杂的关系中,充分地利用领域本体进行准确高效的数据查询和存储成为一个亟待解决的难题。



技术实现要素:

本发明为了克服上述缺陷,提出了一种基于领域本体的油气大数据查询和存储方法,本发明具体步骤如下:

s1,通过领域本体内的概念及概念间的关系进行形式化统一表示,完成本体的构建;

s2,以三元组t=<s,p,o>的数据结构对多个领域中的专业知识和概念进行清晰且形式化的描述;

s3,通过增加元组的数量,由多个rdf三元组数据组合构建五元组o={c,r,at,rel,ao}数据模型;

s4,以图结构中的节点表示本体数据中的概念及属性,以两节点之间的边代表本体之中的对应关系,进行rdf有向图非结构化存储;

s5,通过建立系列r2g结构化映射规则,实现rdf有向图到neo4j数据结构的映射;

s6,在neo4j数据结构的基础上构建key-neo4j分布式存储模型,实现neo4j数据库的分布式存储;

s7,通过创建对象索引和三元组索引机制,形成适用于石油领域本体的双层索引检索法;

s8,输出占用的存储空间大小和数据查询时间。

本发明的技术方案特征和改进为:

对于步骤s3,本发明使用的五元组o={c,r,at,rel,ao}数据模型,通过增加元组的数量可以更好地对本体中的概念和术语进行更清晰的层次化表示,利用改变模型的数据结构,完整地描述出概念和术语以及两者之间的关系,包括五个要素:类(c)、关系(r)、属性(at)、公理(rel)和实例(ao);类是除了概念的一般意义外,还可以将rdf三元组中的任务、动作和事件等名称表示为主体资源和客体资源,例如“油气勘探开发”是一个类,使用三元组形式表示为(油气勘探开发,rdfs:type,owl:class);关系是定义本体中概念和属性的一种映射方法,主要是指两者的约束关系,其中,定义域由概念集合中的概念组成,而值域可以由概念和数值等数据类型组成;领域本体之间的主要关系包括子类关系(subclassof)、实例和本体术语之间的关系(edf:type);属性是描述领域本体中概念的主要特性,主要包含两个属性,即数据属性和对象属性,数据属性是指对象与数据类型值之间相关联,对象属性是指对象之间彼此相关联;公理是对永恒真理的描述,在任何情况下都是真实的,而实例是类的具体实例,如塔中一井(rdfs:type;owl:钻孔)表示塔中一井是钻孔型油井的一个实例。

对于步骤s4,本发明采用的图结构为neo4j图,也称为属性图(pg),pg的重要组成方式就是节点和关系;以neo4j图结构中的节点表示本体数据中的概念及属性,以两节点之间的边代表本体之中的对应关系,其中,从属性映射中的起始节点到下一个节点首尾相连形成一个端到端的关系,节点与节点之间通过关系进行连通,每个节点和关系都可以拥有单独的属性声明,可以为每一个节点赋予多个类型的标签。

对于步骤s5,本发明采用通过建立系列的r2g映射规则,实现rdf有向图到neo4j数据结构的映射,其中,rdf有向图由主体资源、对应关系和客体资源表示,主体资源可以对类和概念进行表达;客体资源除了可以表达类和概念之外,还可以表示类的定义和属性;对应关系主要描述主体资源和客体资源之间的关系,而neo4j的数据模型由节点、关系、节点和关系的属性组成;

优选地,所述从rdf有向图到neo4j数据库的映射步骤包括:

(s510)遍历rdf有向图中的每个属性值,在neo4j数据库中,rdf有向图中的每个属性值都由相应的图节点生成;每个节点可以与多个节点建立多个关系,单个节点可以设置多个属性,如v={v1,v2,v3,v4}是neo4j数据库中rdf有向图被映射的一组节点;

(s520)对于节点集合v中的每个空节点(bnode)v(b),获取属性集,表示该节点除了类型标签之外没有额外的属性;

(s530)对于节点集合v中的每个资源标识符节点(iri)v(u),分别得到节点类型和iri标签的属性集合,如下:

式(1)中,φ(v(u1))、φ(v(u2))和φ(v(u3))为资源标识符节点,kind表示节点的类型,属性集合为iri之后的描述语言;

(s540)对于节点集v中的每个文字节点(literal)v(l),获取属性集:

式(2)中,分别获取节点类型与相应的值、数据类型和language属性,其中language属性可以为null值,如下:

φ(v(u3))={<"kind","literal">,<"literal",3582>,〈"datatype",int〉}(3)

式(3)中,通过多属性详细地描述出资源标识符节点v(u3),节点的类型literal的值为3582,datatype表示的是该值的数据类型,用int进行修饰;

(s550)neo4j数据库中的每个边都代表不同的rdf三元组,如e={e1,e2,e3}是neo4j数据库中的rdf有向图图的边集;

(s560)对于每个三元组t=<s,p,o>,边缘的标签对应于lbl(p),起始和结束节点是sre(p)和tgt(p),具体关系如下:

式(4)中,描述了3条从rdf有向图到neo4j数据库的映射规则,e1、e2和e3表示的是有向图中的边,而v1,v2,v3,v4是有向图中的节点,通过将rdf有向图的主体资源、对应关系和客体资源描述为1条映射规则,进而将rdf有向图非结构化存储转化映射为neo4j结构化数据进行存储。

对于步骤s6,本发明利用neo4j数据库的分布式存储,在neo4j数据结构的基础上构建key-neo4j分布式存储模型,该分布式存储模式支持海量存储以及动态扩展,通过网络技术将分布在不同硬件设备上的资源通过集群技术进行整合,根据存储资源的规模不同,可以通过增加或减少存储节点的形式进行控制,在保证海量资源能够正常存储的基础上实现动态扩展;此外,neo4j数据库所拥有的高可用性(highavailability)为领域本体分布式存储的框架提出奠定了基础,在不同的地域、不同的机构,只要能通过网络按照统一的标准对服务进行创建,并加入分布式存储网络之中,按照要求进行服务的执行和管理,就可以在整个存储虚拟网络中实现工作的协同开展以及资源的共享利用;分布式存储技术通过网络技术将构建的虚拟化存储架构分布在不同存储节点中的资源数据进行整合调用,将每一部分资源划分为不同的逻辑分区,可以确保各个分区彼此隔离,并且又可以相互通信,也可以实现数据资源的异地备份和实时迁移的要求。

对于步骤s7,本发明通过创建对象索引和三元组索引机制,所有对象都被索引机制分配了一个id数字以建立索引表,方便查询时可以快速查询对象,并根据检索要求构建不同的检索表达式以分别执行检索任务;首先,对象匹配查询通过精确匹配或模糊匹配的结果来检索对象索引,并对结果集进行排序得出结果集的相关性,名为“塔里木盆地”的搜索范围如下所示:

query=(label:"tarimbasin")or(altlabel:"tarimbasin")(5)

式(5)中,query表示查询结果集合,label表示查询的标签语言,altlabel为子标签语言;其次,三元组索引可以用关系匹配进行搜索与查询,在指定的三元组<s,p,o>中,若需要检索s和o之间的关系,如检索“探索技术”对象,搜索引擎会在id索引表中找到“探索技术”对应的id,访问相应的id为“9672”,其结构关系搜索如下:

query=(sid:'9672')or(oid:'9672')(6)

式(6)中,若知道对象及其指定的熟悉程度,可以通过三元组<s,p,o>已知的s和p或o和p来检索另一个相应的对象,需要使用对象o或s来检索另一个匹配项,如需要检索“石油”的“成分”,结合相互规则体系,给定的搜索结构如下:

式(7)中,slabel,plabel为三元组<s,p,o>中s,p的标签语言,该查询为条件复合查询,查询结果需满足所有的查询条件。

本发明的基于领域本体的油气大数据查询和存储方法,解决了现有技术对大数据环境下石油领域中多专业之间的知识难以表示和融合的问题,具有以下优点:

(1)本发明的方法能够有效地解决领域本体存储时的阻抗不匹配问题,无需重复存储,极大地缓解了存储空间的负载压力,可以实现更高的存储效率;

(2)本发明的方法能够根据存储资源规模的不同,通过增加或减少存储节点的方法进行控制,在保证海量资源能够正常存储的基础上实现动态扩展;

(3)本发明的方法能够结合基于语义映射的扩展机制,通过发现两个领域本之间在概念和语义上的关联,实现不同本体之间的融合。

附图说明

图1为本发明中基于领域本体的油气大数据查询和存储方法的流程图。

图2为本发明中neo4j数据库存储过程示意图。

图3为本发明中neo4jha模式结构示意图。

具体实施方式

下面结合附图以及具体实施方式对本发明作进一步详细说明:

一种基于领域本体的油气大数据查询和存储方法,如图1所示,为本发明的基于领域本体的油气大数据查询和存储方法的流程图,该方法包含:

s1,本体构建,本体的构建是将特定领域内的术语、概念以及属性之间的关系,利用一定的方法将其构建为概念模型的过程。本体的构建要遵循统一的标准和规范,构建好的本体在使用的过程中要具有共享性和重用性,这避免了多个本体的产生。

s2,三元组表示,rdf可以方便地描述对象以及其属性之间的相互关系,使机器程序可以自由在网络上进行数据交换,以实现网络资源的自动化处理。rdf数据中每个基本结构都是一个以主体资源、对应关系和客体资源,以三元组t=<s,p,o>数据结构对rdf数据进行表示。其中,t代表rdf三元组,即i表示统一资源标识符(url),b表示空节点,l表示文字节点。多个相关联的rdf三元组可以组成rdf有向图,rdf有向图由被标记的节点和边缘组成,描述了主体、客体以及其对应的属性关系。rdf有向图中包含了所有三元组数据的主体资源,边代表主客体之间的关系,并且边的指向总是从主体指向客体。通常,一个rdf有向图代表着一组rdf数据,两者是相互对应的,只是表现形式有所不同。

s3,五元组构建,根据石油勘探开发领域的行业特点,石油领域本体的基础结构是由多个rdf三元组数据组成的五元组数据模型o={c,r,at,rel,ao},该模型通过增加元组的数量,可以更好地对本体中的概念和术语进行更清晰的层次化表示,具有简单易懂、一目了然的优点。此外,通过改变模型的数据结构,完整地描述出概念和术语以及两者之间的关系。完整的本体包括五个要素:类(c)、关系(r)、属性(at)、公理(rel)和实例(ao)。在石油领域本体的rdf有向标记图中,实线椭圆表示本体的类、公理和实例等概念,虚线椭圆表示了该概念所对应的属性,有向箭头表示了语义概念之间的相互关系。

s4,rdf有向图非结构化存储,石油领域本体是由海量rdf数据进行组成的,rdf数据的元素之间相互联系,组成了一张石油领域的知识网络,以图结构中的节点表示本体数据中的概念及属性,以两节点之间的边代表本体之中的对应关系,具有较好的存储性能的查询效率。但是,每个rdf数据中的主体资源和客体资源可能都被多次引用,因此,在对该知识网络进行存储时,由于关系型数据库的基于表进行存储的,会建立多张表进行共同构成本体表示,每个表中对rdf数据存储,这样会极大的浪费数据存储空间,不利于数据的操作和维护。针对该问题,本发明根据nosql数据库中的neo4j的存储原理,提出了rdf数据到neo4j数据库的映射规则,有效地解决了存储空间大量浪费问题。

s5,r2g结构化映射,rdf有向图由主体资源、对应关系和客体资源表示,主体资源可以对类和概念进行表达。客体资源除了可以表达类和概念之外,还可以表示类的定义和属性。对应关系主要描述主体资源和客体资源之间的关系。neo4j的数据模型由节点、关系、节点和关系的属性组成,与石油领域本体部分信息的rdf有向图在结构模型上存在相似性。本发明通过建立系列的映射规则,实现rdf有向图到neo4j数据结构的映射,neo4j数据库存储过程示意图如图2所示。neo4j的底层通过图的形式将节点以及关系存储起来,连接两节点的是节点间的关系,通过这种存储方式能够实现节点的快速查找和定位。节点、属性以及节点之间的关系是neo4j基本结构的主要组成部分。节点可以分为起始节点和终止节点,并且两个节点通过关系进行连接,属性是对不同节点的补充。neo4j的每个节点都有一个标签,分为iri、literal和bnode。iri节点有两个属性,即kind和iri,bnode只有一种属性,literal节点有四个属性,即kind,value,datatype和language,四种不同属性的相连节点以链表的形式进行连接和存储。

s6,neo4j数据库分布式存储,在neo4jha模式中,数据可以从主节点写入,能够及时同步到从节点之中,也可以在从节点进行数据写入,仍能及时同步在主节点之中。但由于从节点之间没有做到互联互通,当数据在从节点写入时,不能及时在其他从节点进行数据同步,需要经过主节点的调度方能实现数据同步,neo4jha模式结构示意图如图3所示。该分布式存储框架由多个独立的存储节点组成,每个存储节点运行neo4j图数据库,通过neo4j自带的api接口进行访问。neo4jha的设计目的是尽可能地简化单台neo4j到多台neo4j集群的操作过程,使其不需要在不同设备上进行多次更改,neo4j数据库的ha模式是由一台主机、零台至多台从机组成。逻辑层由键值对(键值)数据库和其他三个主要功能模块组成。其中,数据管理模块主要负责rdf数据集的分解工作,判断rdf数据在存储节点中对应的位置,数据更新模块将决定好的数据通过api存储到指定的neo4j存储节点上,数据查询模块依靠双层索引机制定位查询数据所在存储节点,实现高效查询。

s7,双层索引检索,neo4j图形化存储结构与关系型数据库的存储结构有着极大不同,为了适用于neo4j数据库图形化的结构、优化领域本体的检索算法,本发明使用neo4j数据库匹配的cypher搜索语言和apachesolr索引技术并结合石油领域中多学科领域的特点,提出了适用于石油领域本体的双层索引检索算法。通过创建对象索引和三元组索引机制,所有对象都被索引机制分配了一个id数字以建立索引表,方便查询时可以快速查询对象,并根据检索要求构建不同的检索表达式以分别执行检索任务,包括对象匹配检索、关系匹配检索和关系度检索等方式。

s8,输出占用的存储空间大小和数据查询时间。

综上所述,本发明的基于领域本体的油气大数据查询和存储方法在大数据环境下解决了石油领域中多专业之间的知识难以表示和融合的问题,极大地缓解了存储空间的负载压力,可以实现更高的存储效率,支持海量存储以及动态扩展,可适用于多个领域。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1