基于上下文的搜索与图形节点相关的数据存储的方法和系统的制作方法

文档序号:6508682阅读:173来源:国知局
基于上下文的搜索与图形节点相关的数据存储的方法和系统的制作方法
【专利摘要】本申请涉及基于上下文的搜索与图形节点相关的数据存储的方法和系统。更具体地,涉及一种图形数据库存储系统,包含具有多个图形节点的图形数据库。第一指针从特定的图形节点指向合成上下文事件数据库中特定的合成上下文事件节点。第二指针从合成上下文事件数据库中特定的合成上下文事件节点指向数据结构中特定的数据存储,使得第一指针和第二指针通过特定的合成上下文事件节点而将特定的数据存储和图形数据库中表示的特定实体相关联。
【专利说明】基于上下文的搜索与图形节点相关的数据存储的方法和系统
【背景技术】
[0001]本公开涉及计算机领域,特别是计算机中数据库的使用。更具体而言,本公开涉及基于上下文的搜索与图形数据库中所述实体相关的数据。
[0002]数据库是数据集合。数据库类型的例子包括关系型数据库、图形数据库、网络数据库和面向对象的数据库。每个类型的数据库以非动态方式呈现数据,其中数据被静态存储。

【发明内容】

[0003]在本发明的一个实施例中,提供了一种基于上下文的系统,用于搜索与图形数据库中一组的一个或多个节点相关的数据存储。图形数据库存储系统包含包括多个图形节点的图形数据库。第一指针从特定的图形节点指向合成上下文事件数据库中特定的合成上下文事件节点。第二指针从合成上下文事件数据库中特定的合成上下文事件节点指向数据结构中特定的数据存储,使得第一指针和第二指针通过特定的合成上下文事件节点而将特定的数据存储和图形数据库中表示的特定实体相关联。
[0004]在一个实施例中,一种处理器实现的方法搜索与图形数据库中与一组的一个或多个节点相关的数据存储。处理器从图形数据库中特定的图形节点指向合成上下文事件数据库中特定的合成上下文事件节点。图形数据库包括多个图形节点,其中多个图形节点中的每一个存储特定实体的属性。多个图形节点中的每一个通过边逻辑地耦接到另一个图形节点,该边描述由耦接的图形节点表示的实体之间的关系。合成上下文事件数据库由多个合成上下文事件节点组成,其中多个合成上下文事件节点中的每一个包含特定实体的属性以及特定实体和由另一个图形节点表示的另一个实体之间关系的描述符。处理器然后从合成上下文事件数据库中特定的合成上下文事件节点指向数据结构中特定的数据存储,使得指向特定的数据存储通过特定的合成上下文事件节点而将特定的数据存储和图形数据库中表示的特定实体相关联。
[0005]在一个实施例中,计算机程序产品搜索与图形数据库中与一组的一个或多个节点相关的数据存储。计算机可读存储介质上存储有第一程序指令和第二程序指令。第一程序指令将从数据结构中特定的数据存储指向合成上下文事件数据库中特定的合成上下文事件节点,其中合成上下文事件数据库包括多个合成上下文事件节点。特定的合成上下文事件节点包含由图形数据库中特定的图形节点表示的特定实体的属性的描述符,特定的合成上下文事件节点还包含图形数据库中所述特定图形节点和另一个图形节点之间边中所述的关系。第二程序指令将从合成上下文事件数据库中特定的合成上下文事件节点指向图形数据库中特定的图形节点,使得指向特定的合成上下文事件节点和特定的图形节点通过特定的合成上下文事件节点而将特定的数据存储和由图形节点表示的特定实体相关联。
【专利附图】

【附图说明】
[0006]图1描述其中可实现本公开的示例性系统和网络;[0007]图2示出新颖的基于上下文的系统,用于搜索与图形数据库中与由一组的一个或多个节点描述的实体有关的数据存储;以及
[0008]图3是由计算机处理器实现以定位数据存储的一个或多个步骤的高级流程图,所述数据存储与由图形数据库中一组的一个或多个节点所表示的实体有关。
【具体实施方式】
[0009]所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本发明的方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或结合软件和硬件方面实施例的形式,一般其全部被称为“电路”、“模块”或“系统”。此外,本发明的方面可采取在一个或多个计算机可读介质中具体表现的计算机程序产品的形式,该计算机可读介质具有其上具体表现的计算机可读程序代码。
[0010]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的合适组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件的上下文中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0011]计算机可读的信号介质可以包括具有在其中具体表现的计算机可读的程序代码(例如在基带中或者作为载波一部分)的传播的数据信号。这种传播的数据信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0012]计算机可读介质上具体表现的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0013]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明各方面操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、c++等,还包括常规的过程式程序设计语言一诸如“c”程序设计语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如使用因特网服务提供商来通过因特网连接)。
[0014]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器实现时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0015]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)0
[0016]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的处理,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/操作的处理。
[0017]现在参照附图,特别是图1,描述了可由本发明的实施利用并在本发明实施中利用的示例性系统和网络的框图。注意的是,为计算机102显示并在计算机102内显示的一些或全部的示例性体系结构(包括所描述的硬件和软件)可由软件部署服务器150和/或数据存储系统152利用。
[0018]示例性计算机102包括处理器104,处理器104耦接到系统总线106。处理器104可使用一个或多个处理器,所述一个或多个处理器中的每一个具有一个或多个处理器核。驱动/支持显示器Iio的视频适配器108也耦接到系统总线106。系统总线106经由总线桥112耦接到输入/输出(I/O)总线114。I/O接口 116耦接到I/O总线114。I/O接口116承担与各种I/O装置(包括键盘118、鼠标120、介质托盘122 (介质托盘122可包括诸如⑶-ROM驱动器的存储装置、多媒体接口等)、打印机124和外部USB端口 126)的通信。尽管连接到I/O接口 116的端口的格式可以是对于计算机架构领域技术人员而言已知的任何格式,但在一个实施例中,这些端口中的一些或全部是通用串行总线(USB)端口。
[0019]正如所述,计算机102能够使用网络接口 130而与软件部署服务器150通信。网络接口 130是硬件网络接口,诸如网络接口卡(NIC)等。网络128可以是外部网络(诸如,互联网)或内部网络(诸如,以太网或虚拟专用网络(VPN))。
[0020]硬盘驱动器接口 132也耦接到系统总线106。硬盘驱动器接口 132与硬盘驱动器134对接。在一个实施例中,硬盘驱动器134位于系统存储器136中,系统存储器136也耦接到系统总线106。系统存储器被定义为计算机102中的最低级别的易失性存储器。该易失性存储器包括另外的较高级的易失性存储器(未示出),包括但不限于,高速缓冲存储器、寄存器和缓冲器。位于系统存储器136中的数据包括计算机102的操作系统(OS) 138和应用程序144。
[0021]0S138包括用于提供对资源(诸如,应用程序144)的透明用户访问的壳(shell)140。通常,壳140是提供用户和操作系统之间的解释器以及界面的程序。更具体地讲,壳140执行被输入到命令行用户界面中的命令或者来自文件的命令。因此,壳140(也被称为命令处理器)通常是操作系统软件层级的最高级别,并用作命令解释器。壳提供系统提示,解释通过键盘、鼠标或其它用户输入介质输入的命令,并把解释的命令发送给操作系统的合适的更低级别(例如,内核142)以用于处理。要注意的是,尽管壳140是基于文本、面向行的用户界面,但本发明将会同样很好地支持其它用户界面模式,诸如图形、语音、手势等。
[0022]如上所述,0S138还包括内核142,内核142包括0S138的更低级别的功能,包括提供0S138的其它部分和应用程序144所需的必要服务,包括存储器管理、进程和任务管理、盘管理以及鼠标和键盘管理。
[0023]应用程序144包括以示例性方式显示为浏览器146的渲染器。浏览器146包括能够使万维网(WWW)客户端(例如,计算机102)使用超文本传输协议(HTTP)消息向互联网发送网络消息以及接收网络消息的程序模块和指令,由此能够实现与软件部署服务器150和其它计算机系统的通信。
[0024]计算机102的系统存储器(以及软件部署服务器150的系统存储器)中的应用程序144还包括基于上下文的数据存储定位程序(CBDSLP) 148。CBDSLP148包括用于实现下述的处理(包括图2-图3中描述的那些处理)的代码。在一个实施例中,计算机102能够从软件部署服务器150下载CBDSLP148(包括按照需求),其中直至需要执行时才下载CBDSLP148中的代码。还要注意的是,在本发明的一个实施例中,软件部署服务器150执行与本发明关联的所有功能(包括CBDSLP148的执行),由此使计算机102不必使用它自己的内部计算资源执行CBDSLP148。
[0025]数据存储系统152存储电子数据结构,其可能是商业/医疗记录、音频文件、视频文件、网站条目、文本文件等。在一个实施例中,计算机102包含本文所述和所要求保护的图形数据库存储系统和合成上下文事件数据库存储系统,而数据存储系统是用于存储本文所述和所要求保护的数据存储的相同或不同系统。
[0026]要注意的是,在计算机102中描述的硬件元件不是穷举性的,而是表示性的,以突出本发明所需的必要部件。例如,计算机102可包括替代的存储器存储装置,诸如磁带、数字通用盘(DVD)、Bernoul Ii盒等。这些和其它变型应该落在本发明的精神和范围内。
[0027]注意的是,CBDSLP148能够产生和/或利用在图2基于上下文的系统中所述的一些或全部的数据库。
[0028]现在参照图2,呈现了一种新颖的基于上下文的系统200,用于搜索与图形数据库中由一组的一个或多个节点描述的实体相关的数据存储。基于上下文的系统200包括用于存储图形数据库202的图形数据库存储系统,用于存储合成上下文事件数据库204的合成上下文事件数据库存储系统,以及访问用于存储数据结构206的数据存储系统。在一个实施例中,图形数据库存储系统和合成上下文事件数据库存储系统是图1所示的计算机102的一部分,而数据存储系统是图1所述的数据存储系统152。
[0029]图形数据库202是无图表数据库,其中数据被组织为一组具有特性(属性或值)的节点(对象)。这些节点通过边(edge)与其他节点连接,该边描述两个节点之间的关系。如图2所述,这些节点被示为图形节点208a-208n,其中“η”是整数。图形节点208a_208n通过边210x-210z连接,边210x-210z描述连接的图形节点之间的关系。例如,假设图形节点208a表示“循环系统疾病”(或有循环系统疾病的人),而图形节点208b表示“心肌梗塞”(或正患有或者曾经患有心肌梗塞的人)。因此,边210x将图形节点208b描述为图形节点208a的子集。
[0030]在另一个例子中,假设图形节点208b仍然表示曾经患有心肌梗塞的人,而图形节点208η表示病态肥胖、生活在某个城市/州/国家/地理区域、喝绿茶等的所有人。因此边210ζ将由图形节点208b表示的人描述为“病态肥胖”、“某个城市/州/国家/地理区域的居民”、“喝绿茶的人”等。[0031]在一个实施例中,两个或更多个图形节点可以被集中到图形节点群212,其包括图形节点208a和图形节点208η。该图形节点群212已被预先确定,用以包含所有相关的图形节点(正如图形节点内的连接边和/或共享属性所指示的)。
[0032]合成上下文事件数据库204由合成上下文事件节点214a_214n (其中“η”是整数)组成。这些合成上下文事件节点214a-214n可能互连或可能不互连(B卩,通过具有共享属性而在逻辑上彼此相关联,等等)。这些合成上下文事件节点214a-214n中的每一个表示合成事件(即,通过整合来自不同来源的信息而制造他们,其可能描述或可能不描述实际事件)。在本发明中,每个合成上下文事件节点214a-214n包含特定实体的属性(即来自一个或多个图形节点208a-208n的信息)以及特定实体和由另一个图形节点表示的另一个实体之间关系(即在边(例如边210x)中发现的信息)的描述符。
[0033]数据结构206是多个数据存储216a_216n的数据库,其可以是文本文档、分层文件、元组、面向对象的数据库存储、电子数据表单元、统一资源定位符(URL)等。
[0034]在一个实施例中,数据结构206是文本文档的数据库(由数据存储216a_216n的一个或多个表示),如杂志文章、网页文章、电子存储的商业/医疗/操作说明等。
[0035]在一个实施例中,数据结构206是文本、音频、视频、多媒体等文件(由存储216a-216n的一个或多个数据表示)的数据库,以分层方式将其存储,例如以树形图、轻量级目录访问协议(LDAP )文件夹等。
[0036]在一个实施例中,数据结构206是关系型数据库,它是通过一组正式描述的表格组织的数据项的集合。表格由一个或多个被称为“元组”的行组成。每个元组(由数据存储216a-216n的一个或多个表不)共享共同的属性,在表中其由列标题所描述。每个兀组还包括键,它可以是主键或外键。主键是本地元组的第一数据单元中存储的标识符(例如字母、数字、符号等)。外键典型地和主键相同,除了其存储在远程元组的第一数据单元中,从而允许本地元组逻辑地连接到外键。
[0037]在一个实施例中,数据结构206是存储对象(由数据存储216a_216n中的一个或多个表示)的面向对象的数据库。正如计算机软件领域中的技术人员所理解,对象包含两个属性,它是数据(即整数、字符串、实数、对另一个对象的引用等)以及方法两者,其类似于程序/功能,且其定义对象的行为。因此,面向对象的数据库包含可执行代码和数据两者。
[0038]在一个实施例中,数据结构206是电子数据表,其由单元(由数据存储216a_216n中的一个或多个表示)的行和列组成。每个单元(由数据存储216a-216n中的一个或多个表示)包含数字或文本数据、或基于电子数据表中的一个或多个其他单元的内容而计算值的公式。
[0039]在一个实施例中,数据结构206是用于识别网页的统一资源定位符(URL)的集合,其中每个URL (或集合或多个URL)由数据存储216a-216n中的一个或多个表示。
[0040]这些所述的数据存储类型是示例性的,不被解释为限制在数据结构206内发现的数据存储类型。
[0041]注意的是,在一个实施例中,数据结构206是同质的,而在另一个实施例中,数据结构206是异质的。例如,假设在第一个示例中,数据结构206是关系型数据库,且所有的数据存储216a-216n是元组。在第一个例子中,数据结构206是同质的,因为所有的数据存储216a-216n是相同类型。然而,假设在第二个例子中,数据存储216a的是文本文档,数据存储216b是MRI图像,数据存储216c是来自关系型数据库的元组,等等。在第二个例子中,数据结构206是异质的数据结构,因为它包含不同格式的数据存储。
[0042]在一个实施例中,合成上下文事件数据库204可包括过滤逻辑(即图1所示的CBDSLP148的一部分),其允许用户指定将定位的数据存储类型。例如,这种过滤可以只请求图像文件(例如MRI图像),或者其可以只请求文本文件(例如杂志文章),或者其可以只请求网站的统一资源定位符(URL),或者其可以只请求来自关系型数据库的元组,或者其可以请求数据存储的任意组合(即,包括某个类型的数据存储和排除其他类型的数据存储的数据存储组合)。
[0043]正如图2所描绘,第一指针指向合成上下文事件节点214a_214n中的一个,而第二指针从合成上下文事件节点214a-214n中的一个指向数据存储216a-216n中的一个。例如,假设图形节点208b表示有过心肌梗塞的人,而来自边210x和/或边210z的信息分别描述那些人与由图形节点208a和图形节点208η表示的实体的关系。在这个例子中,合成上下文事件节点214a包含图形节点208b中存储的信息以及边210x和/或边210z中存储的信息。为了关联合成上下文事件节点214a和图形节点208b及它的边,第一指针218a从图形节点208b指向合成上下文事件节点214a。
[0044]同样地,第一指针218b从包括图形节点208a和图形节点208η以及边2 IOy中信息的图形节点群212指向合成上下文事件节点214b。在一个实施例中,只有图形节点208a、图形节点208η和边210y中发现的信息在合成上下文事件节点214b中表示。在另一个实施例中,图形节点208a、图形节点208η和边210y中发现的信息以及边210x和/或边210z中发现的信息也在合成上下文事件节点214b中表示。
[0045]正如图2中进一步描述,第二指针从由第一个指针所指向的合成上下文事件节点指向数据结构中特定的数据存储,使得第一指针和第二指针通过特定的合成上下文事件节点关联特定的数据存储和图形数据库中表示的特定实体。例如,继续假设图形节点208b表示有过心肌梗塞的人;来自边210x和/或边210z的信息分别描述那些人与由图形节点208a和图形节点208η所表示实体的关系;合成上下文事件节点214a包含图形节点208b中存储的信息以及在边210x和/或边210z中存储的信息;以及第一指针218a从图形节点208b指向合成上下文事件节点214a。第二指针220a现在从合成上下文事件节点214a指向数据存储216a,最终导致图形节点208a通过合成上下文事件节点214a连接到数据存储216a0
[0046]根据合成上下文事件节点214a和数据存储216a之间的逻辑关系,第二指针220a指向(即识别和/或检索)数据存储216a。例如,假设合成上下文事件节点214a包含匹配数据存储216a中发现的描述性数据(例如关键字、元数据、基于上下文的挖掘数据等)的条目(即来自图形节点208b和/或边210x和/或210z的信息)。在一个实施例中,该描述性数据描述与图形节点208b中描述的实体相关的活动。例如,图形节点208b可以描述人的生活方式(即吸烟者、跑步的人等)、病史(即曾有特定的医疗过程、其他疾病、在特定设备中或由特定医生治疗等)、旅行史等。
[0047]如果第一指针218b从图形节点群212指向合成上下文事件节点214b,则第二指针220b指向数据存储216c,和/或第二指针220e指向数据存储216η,从而关联图形节点群212和数据存储216c和/或数据存储216η。[0048]注意的是,在一个实施例中,单个合成上下文事件节点214a具有第一个第二指针220c以及第二个第二指针220d,其指向不同的数据存储216b和216c。也就是说,多个数据存储,其可以是相同(即全部是杂志文章、网络条目等)或不同(即一个是文本文件,一个是视频文件等)类型的数据存储。因此,术语数据存储用于描述任何类型的存储的文件(即文本、视频等)。
[0049]因此,如上所述且如图2所描绘,呈现基于上下文的系统200,用于搜索与图形数据库中一组的一个或多个节点相关的数据存储。图形数据库存储系统(即图1所示的计算机102的部分)包含由多个图形节点208a-208n组成的图形数据库202。多个图形节点208a-208n中的每一个存储特定实体的属性,并且多个图形节点208a_208n中的每一个通过边210x-210z中的一个或多个而逻辑地耦接到另一个图形节点,其中每个边描述由耦接的图形节点所表示的实体之间的关系。
[0050]第一指针(例如第一指针218a)从特定的图形节点(例如图形节点208b)指向合成上下文事件数据库204中特定的合成上下文事件节点(例如合成上下文事件节点214a)。合成上下文事件数据库存储系统(即,也是图1中所示计算机102的部分)包含合成上下文事件数据库204,其包含多个合成上下文事件节点214a-214n。多个合成上下文事件节点214a-214n中的每一个包含由图形节点208b表示的特定实体的一个或多个属性以及该特定实体和由另一个图形节点(例如图形节点208a)表示的另一个实体之间关系(例如在边2IOx中发现)的描述符。
[0051]第二指针(例如第二指针220a)从合成上下文事件数据库204中特定的合成上下文事件节点214a指向数据结构206中特定的数据存储216a。因此,第一指针218a和第二指针220a通过特定的合成上下文事件节点214a将特定的数据存储216a和图形数据库中表示(即由图形节点208b表示)的特定实体相关联。
[0052]注意的是,数据结构206内的数据存储216a_216n不只是描述或提供关于从图形数据库202和/或连接各种图形节点的边210x-210z中所发现信息的额外细节。相反,这些数据存储216a-216n是被视为通过特定的合成上下文事件节点而与特定的图形节点相关的数据存储。也就是说,来自数据存储216a-216n的特定的数据存储被视为凭借在该特定的中间合成上下文事件节点中发现的上下文信息(即由一个或多个图形节点和/或其边提供的信息)而被关联到特定的中间合成上下文事件节点。然而,数据存储本身不只是该上下文信息的扩展,而是描述由相关图形节点所述实体的研究、分析、评估、实体关联等的数据存储。例如,数据存储216a可能是已与合成上下文事件节点214a相关联(例如通过含有某些关键字、元数据等)的医学杂志文章。该医学杂志文章不只是描述从图形节点208b和/或边到该图形节点208b的信息,而是提供了关于特定的医学研究的医学细节。这些医学细节包括未由从图形节点208b和/或边到该图形节点208b的信息所建议的那些细节。
[0053]例如,在一个实施例中,特定的数据存储(例如数据存储216a)描述与由图形节点208b所描绘的特定实体相关的活动(即生活方式、医疗活动/历史、兴趣爱好、旅游史等)。
[0054]在另一个示例性实施例中,特定的数据存储(例如数据存储216a)为由图形节点208b描述的医疗患者描述一组诊断和/或治疗选择。
[0055]在另一个示例性实施例中,特定的数据存储(例如数据存储216a)描述与由图形节点208b描述的商业实体相关的一组金融、法律、技术等的报告。[0056]为了将特定的合成上下文事件节点连接到特定的数据存储,可以利用各种连接处理。例如,在一个实施例中,第二指针220a使用既在特定的合成上下文事件节点214a中也在特定的数据存储216a中的关键字以指向特定的数据存储216a。在另一个示例性实施例中,第二指针220a使用既与特定的合成上下文事件节点214a相关也与特定的数据存储216a相关的元数据以指向特定的数据存储216a。
[0057]在一个实施例中,多个第二指针(例如第二指针220a、220c和220d)从特定的合成上下文事件节点214a指向数据结构206中的多个数据存储216a、216b和216c。
[0058]在一个实施例中,来自第一合成上下文事件节点214a的第一个第二指针220d以及来自第二合成上下文事件节点214b的第二个第二指针220b指向数据结构206中相同的数据存储216c。也就是说,相同的数据存储216c可能与两个合成上下文事件节点相关,因此与两个不同的图形节点和/或图形节点群有关。
[0059]在一个实施例中,数据结构206是关系型数据库,使得特定的数据存储(例如数据存储216a)是关系型数据库内的元组。
[0060]在一个实施例中,数据结构206是文本数据结构,使得特定的数据存储(例如数据存储216a)描述关于图形数据库202中表示的特定实体的研究(即医学杂志文章、医生的笔记、工程笔记、财务报告等)。
[0061]现在参照图3,呈现由计算机处理器实现以定位与由图形数据库中一组的一个或多个节点所表示实体相关的数据存储的一个或多个步骤的高级流程图。启动程序块302之后,处理器(例如使用第一指针,例如图2所示的第一指针218a)从图形数据库(例如图形数据库202)中特定的图形节点(例如图形节点208b)指向合成上下文事件数据库(例如合成上下文事件数据库204)中特定的合成上下文事件节点(例如合成上下文事件节点214a)(块304)。图形数据库包括多个图形节点,其中多个图形节点中的每一个存储由特定的图形节点描述的特定实体的属性。多个图形节点中的每一个通过边而逻辑地耦接到另一个图形节点,所述边描述由耦接的图形节点表示的实体之间的关系。
[0062]合成上下文事件数据库包括多个合成上下文事件节点。多个合成上下文事件节点中的每一个包含特定实体的属性以及特定实体和由图形数据库中另一个图形节点表示的另一个实体之间关系的描述符。
[0063]正如块306中所描述,处理器然后(例如使用第二指针,例如图2中所示的第二指针220a)从合成上下文事件数据库中特定的合成上下文事件节点(例如合成上下文事件节点214a)指向数据结构(例如数据结构206)中特定的数据存储(例如数据存储216a)。因此,指向特定的合成上下文事件节点和特定的数据存储通过特定的合成上下文事件节点而将特定的数据存储与特定的实体(它由图形数据库中的图形节点表示)相关联。
[0064]正如块308中所描述,经识别的数据存储(例如数据存储216a)然后被检索(例如用于显示、打印等)并被发送到计算机系统、请求实体等。该过程结束于结束符块310。
[0065]虽然已在图形节点搜索数据存储的上下文中描述了本发明,但是在一个实施例中,该过程可在另外的方向上工作。也就是说,特定的数据存储可以搜索特定的图形节点。例如,假设数据存储216a是关于特殊疾病(例如癌症)的医学杂志文章。继续假设,如上所述,数据存储216a通过第二指针220a连接到引导用户到达图形节点208b的合成上下文事件节点214a。在这点上,最初只知道被呈现为数据存储216a的医学杂志文章的用户现在还不仅知道图形节点208b,而且知道连接的图形节点208a和208η。例如,如果图形节点208b被表示为可能已经或可能未曾在医学杂志文章中提到的特定的来源标记,而图形节点208a和208η表示其他来源标记,则知道这些相关的来源标记(通过使用本文所述的过程)允许用户扩大他的数据存储搜索。在这个例子中,用户能够从新识别的图形节点群212和/或图形节点208a或图形节点208η遍历到数据存储216c和/或数据存储216η。也就是说,通过使用合成上下文事件节点214b (由第一指针218b从图形节点群212和/或图形节点208a和/或图形节点208η所指),本发明使得用户能够识别数据存储216c和/或数据存储216η。注意的是,数据存储216c和/或数据存储216η可能是另一篇医学杂志文章、一组医疗检查结果(例如X射线、MR1、实验室诊断检查等)等,其可能以任意的数字格式(例如HF、JPEG、MPEG、.doc等)。在此例子中,注意的是,只可通过合成上下文事件节点214b访问数据存储216η,而可通过合成上下文事件节点214a或合成上下文事件节点214b访问数据存储 216c。
[0066]在另一个实施例中,知道数据存储216a使得用户还能够知道数据存储216b和数据存储216c,因为合成上下文事件节点214a不仅指向数据存储216a,而且指向数据存储216b和数据存储216c。因此,由上述图形数据库特征定义的合成上下文事件节点214a允许用户通过合成上下文事件节点214a而在数据结构206内的不同数据存储之间做出直接连接,使得可基于用户知道数据存储216a而定位和/或检索数据存储216b和/或数据存储 216c。
[0067]正如图2所示的例子所述,只可通过合成上下文事件节点214b访问数据存储216η,而可通过合成上下文事件节点214a或合成上下文事件节点214b访问数据存储216c。如果数据存储216a用于定位数据结构206内额外相关的数据存储,则通过合成上下文事件节点214a直接定位数据存储216c。然而,为了基于知道数据存储216a而定位/检索数据存储216η,通过合成上下文事件节点214a的路径必须被遍历到图形数据库202,然后为了通过合成上下文事件节点214b返回,从而通过本文描述的指针而定位/检索数据存储216η。
[0068]附图中的流程图和框图显示了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0069]本文使用的术语仅用于描述具体实施例的目的,而非意图限制本发明。本文使用的单数形式“一”、“一个”和“所述”意图也包括复数形式,除非上下文清楚地另有指示。还将会理解,当在本说明书中使用时,术语“包括”和/或“包含”指定存在陈述的特征、整数、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其它特征、整数、步骤、操作、元件、部件和/或它们的组合。
[0070]以下的权利要求中的所有装置或步骤加功能元素的对应结构、材料、动作和等同物旨在包括用于结合具体要求保护的其它要求保护的要素执行功能的任何结构、材料或动作。为了说明和描述的目的提供本发明的各种实施例的描述,但并非是穷尽的或者把本发明局限于公开的形式。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员而言将会是清楚的。选择并描述实施例,以便最好地解释本发明的原理和实际应用,并且使本领域其他普通技术人员能够针对具有适合设想的具体用途的各种变化的各种实施例理解本发明。
[0071]还需要注意的是,在本公开中描述的任何方法可通过使用VHDL(VHSIC硬件描述语言)程序和VHDL芯片来实现。VHDL是用于现场可编程门阵列(FPGA)、专用集成电路(ASIC)和其它类似电子装置的示例性设计输入语言。因此,这里描述的任何软件实现的方法可由基于硬件的VHDL语言仿真,VHDL语言随后被应用于VHDL芯片,诸如FPGA。
[0072]如此已通过参照本发明的说明性实施例详细描述了本申请的本发明的实施例,将会清楚的是,在不脱离在所附权利要求中定义的本发明的范围的情况下,修改和变化是可能的。
【权利要求】
1.一种基于上下文的系统,用于搜索与图形数据库中一组的一个或多个节点相关的数据存储,该基于上下文的系统包括: 图形数据库存储系统,其中该图形数据库存储系统包含包括多个图形节点的图形数据库,其中多个图形节点中的每一个存储由特定的图形节点描述的特定实体的属性,其中所述多个图形节点中的每一个通过边而逻辑地耦接到另一个图形节点,其中边描述由耦接的图形节点表示的实体之间的关系; 第一指针,其中第一指针从特定的图形节点指向合成上下文事件数据库中特定的合成上下文事件节点; 合成上下文事件数据库存储系统,其中该合成上下文事件数据库存储系统包含合成上下文事件数据库,其中合成上下文事件数据库包括多个合成上下文事件节点,其中所述多个合成上下文事件节点中的每一个包含特定实体的所述属性以及所述特定实体和由另一个图形节点表示的另一个实体之间的所述关系的描述符;以及 第二指针,其中第二指针从合成上下文事件数据库中特定的合成上下文事件节点指向数据结构中特定的数据存储,其中第一指针和第二指针通过特定的合成上下文事件节点而将特定的数据存储和图形数据库中表示的特定实体相关联。
2.根据权利要求1的基于上下文的系统,其中特定的数据存储描述与特定实体相关的活动。
3.根据权利要求1的基于上下文的系统,其中第二指针使用在特定的合成上下文事件节点和特定的数据存储两者中的关键字,用以指向特定的数据存储。
4.根据权利要求1的基于上下文的系统,还包括: 图形数据库中的一群相关的图形节点,其中第一指针指向合成上下文事件节点,该合成上下文事件节点包含该一群相关的图形节点的所有属性以及由连接该一群相关的图形节点的边所描述的所有关系的描述符。
5.根据权利要求1的基于上下文的系统,其中多个第二指针从特定的合成上下文事件节点指向数据结构中的多个数据存储。
6.根据权利要求1的基于上下文的系统,其中来自第一合成上下文事件节点的第一个第二指针以及来自第二合成上下文事件节点的第二个第二指针指向数据结构中的同一数据存储。
7.根据权利要求1的基于上下文的系统,其中数据结构是关系型数据库,并且其中特定的数据存储是关系型数据库内的元组。
8.根据权利要求1的基于上下文的系统,其中数据结构是文本数据结构,并且其中特定的数据存储描述关于图形数据库中表示的特定实体的研究。
9.一种处理器实现的方法,用于搜索与图形数据库中一组的一个或多个图形节点相关的数据存储,该处理器实现的方法包括: 由处理器从图形数据库中特定的图形节点指向合成上下文事件数据库中特定的合成上下文事件节点,其中图形数据库包括多个图形节点,其中多个图形节点中的每一个存储由特定的图形节点描述的特定实体的属性,其中所述多个图形节点中的每一个通过边而逻辑地耦接到另一个图形节点,其中边描述由耦接的图形节点表示的实体之间的关系,其中合成上下文事件数据库包括多个合成上下文事件节点,其中所述多个合成上下文事件节点中的每一个包含特定实体的所述属性以及所述特定实体和由另一个图形节点表示的另一个实体之间的所述关系的描述符;以及 由处理器从合成上下文事件数据库中特定的合成上下文事件节点指向数据结构中特定的数据存储,其中指向特定的合成上下文事件节点和特定的数据存储通过特定的合成上下文事件节点而将特定的数据存储和图形数据库中表示的特定实体相关联。
10.根据权利要求9的处理器实现的方法,其中特定的数据存储描述与特定实体相关的活动。
11.根据权利要求9的处理器实现的方法,其中第二指针使用在特定的合成上下文事件节点和特定的数据存储两者中的关键字,用以指向特定的数据存储。
12.根据权利要求9的处理器实现的方法,还包括: 由处理器从图形数据库中的一群相关的图形节点指向具体的合成上下文事件节点,其中具体的合成上下文事件节点包含该一群相关的图形节点的所有属性以及由连接该一群相关的图形节点的边所描述的所有关系的描述符。
13.根据权利要求9的处理器实现的方法,其中多个第二指针从特定的合成上下文事件节点指向数据结构中的多个数据存储。
14.根据权利要求9的处理器实现的方法,其中来自第一合成上下文事件节点的第一个第二指针以及来自第二合成上下文事件节点的第二个第二指针指向数据结构中的同一数据存储。
15.根据权利要求9的处理器实现的方法,其中数据结构是关系型数据库,并且其中特定的数据存储是关系型数据库内的元组。
16.根据权利要求9的`处理器实现的方法,还包括: 由处理器检索特定的数据存储。
【文档编号】G06F17/30GK103631847SQ201310371164
【公开日】2014年3月12日 申请日期:2013年8月23日 优先权日:2012年8月23日
【发明者】S·S·亚当斯, R·R·弗莱德朗得, J·K·杰尔肯三世, J·R·可里默 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1