表格数据的消歧方法和系统的制作方法

文档序号:6583037阅读:141来源:国知局
专利名称:表格数据的消歧方法和系统的制作方法
技术领域
本发明总体上涉及基于计算机的数据表示,并且更具体地涉及表格数据的消歧 (disambiguation)。
背景技术
以表格形式表示相关数据的方法有时候会带来错误解释数据的风险。例如,如图 1A所示,数据实体"PERSONS (人)"被示为与数据实体"CHILDREN(孩子)"具有一对多关系, 以及与数据实体"HOBBIES(爱好)"具有一对多关系。在图IB中示出表示人"Personj" 和与PersonJ有关的孩子及爱好的笛卡尔乘积。图IB中的表中草草一瞥可能使人错 误地解释数据,如通过将第一记录解释为意味着PersonJ具有以"阅读"为爱好的孩子 "Childj"。按照稍微不同的方式显示数据,如图1C所示,可以认为是有歧义的。在图IB 和图1C两者中,需要图1A的数据关系的先验知识和/或对图1B和图IC两者中列首的小 心注意,来无歧义地解释数据。

发明内容
本发明在其实施例中公开了新颖的表格数据的消歧的系统和方法。 在本发明的一个方面中,提供了一种用于创建数据表格的方法,该方法包括在代
表多个数据实体和数据实体之间的基数(cardinal)关系的树中,识别多个路径,其中每个
路径包括多个数据实体和任何数据实体之间的任何关系,其中,每个路径从同一个数据实
体起源,包括终止数据实体,该终止数据实体是终止该路径的一个数据实体,其中所述终止
数据实体位于与沿着该路径的另一数据实体之间的一对多关系和多对多关系之一的对多
端(to-many end)处,并且不包括沿着从该终止数据实体递降的任何路径、且位于与沿着从
该终止数据实体递降的路径的另一数据实体之间的一对多关系和多对多关系之一的对多
端处的其他数据实体;以及对于每个路径,在计算机可读介质上创建单独的表格,其中每个
表格包括对其创建表格的路径的每个数据实体的列。 在本发明的另一方面中,该方法还包括在任何表格中,包括针对沿着从对其创建
表格的路径的终止数据实体递降(descending)的任何路径的任何数据实体的列。 在本发明的另一方面中,该方法还包括在任何表格中,包括针对沿着从对其创建
表格的路径的任何数据实体递降的任何路径的任何数据实体的列,其中递降路径至少部分
地沿着除了对其创建表格的路径之外的路径,并且其中,沿着递降路径的数据实体与沿着
整个递降路径的任何数据实体具有一对一基数(cardinality)。 在本发明的另一方面中,该方法还包括在多个表格中包括不沿着任何识别的路 径的任何数据实体。 在本发明的另一方面中,该方法还包括在仅仅一个表格中包括不沿着任何识别 的路径的任何数据实体。 在本发明的另一方面中,提供了一种表格数据消歧系统,包括核心路径识别器,
4被配置为识别多个数据实体的树中如下的任何路径从共同根数据实体起源,包括终止该 路径的终止数据实体,其中该终止数据实体位于与沿着该路径的任何数据实体之间的一对 多关系和多对多关系之一的对多端处,并且不包括沿着从终止数据实体递降的任何路径、 且位于与沿着从终止数据实体递降的路径的任何数据实体之间的一对多关系和多对多关 系之一的对多端处的其他数据实体;以及表格创建器,被配置为对于核心路径识别器识别 的路径,在计算机可读介质上创建单独的表格,其中每个表格包括对其创建表格的路径的 每个数据实体的列。 在本发明的另一方面中,该系统还包括树构造器,被配置为构造包括路径组中的 所有路径的树,其中路径组中的所有路径从共同根数据实体起源。 在本发明的另一方面中,任何路径定义了从路径中第一个数据实体到路径中最后 一个数据实体的遍历顺序。 在本发明的另一方面中,在任何路径中,除了最后一个数据实体之外的每个数据 实体与紧接在它之后的数据实体具有基数关系。 在本发明的另一方面中,提供了一种计算机实现的程序,被实现在计算机可读介 质上,计算机程序包括操作来实现以下步骤的代码段,在代表多个数据实体和数据实体之 间的基数关系的树中,识别多个路径,其中每个路径包括多个数据实体和任何数据实体之 间的任何关系,其中,每个路径从同一个数据实体起源,包括终止数据实体,该终止数据实 体是终止该路径的一个数据实体,其中该终止数据实体位于与沿着路径的另一数据实体之 间的一对多关系和多对多关系之一的对多端处,以及不包括沿着从终止数据实体递降的任 何路径、且位于与沿着从终止数据实体递降的路径的另一数据实体之间的一对多关系和多 对多关系之一的对多端处的其他数据实体;以及操作来实现以下步骤的代码段,对于每个 路径,在计算机可读介质上创建单独的表格,其中每个表格包括对其创建表格的路径的每 个数据实体的列。


结合附图,根据以下详细说明,将更完整地理解和认识本发明,附图中 图1A-1C是用于理解本发明的相关数据实体及其表格数据的简化图示; 图2A是根据本发明实施例构造和操作的表格数据消歧系统的简化概念图示; 图2B是根据本发明实施例操作的图2A的系统的操作的示例方法的简化流程图 示; 图2C是根据本发明实施例构造和操作的示例数据实体树的简化图形图示;以及 图3是根据本发明实施例构造和操作的计算系统的示例硬件实现方式的简化框 示。
具体实施例方式
现在在一个或多个实施例的上下文中描述本发明,但是该描述是要在整体上说明 本发明,而不应理解为将本发明限于所示的实施例。应理解,尽管在此未特别示出,但本领 域技术人员可进行各种修改,仍然在本发明的真实精神和范围内。 如本领域技术人员将理解的,本发明可实施为系统、方法或计算机程序产品。因此,本发明可采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面的实施例的形式,它们在此可统称为"电路"、"模块"或"系统"。另外,本发明可采取以任何有形表达介质(在该介质上实现计算机可用程序代码)实现的计算机程序产品的形式。 可采用一个或多个计算机可用或计算机可读介质的任何组合。计算机可用或计算机可读介质可以是(例如但不限于)电子、磁、光、电磁、红外或半导体系统、设备、装置或传播介质。计算机可读介质的更具体的例子(非穷尽列表)可包括以下具有一条或多条导线的电连接、便携式计算机盘碟、硬盘、随机存取存储器(RAM)、只读存储器(R0M)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式紧致盘只读存储器(CDROM)、光存储装置、例如支持因特网或内部网的传输介质、或磁存储装置。注意,计算机可用或计算机可读介质甚至可以是上面打印了程序的纸张或其它合适的介质,作为可电子捕捉的程序,例如经由对纸张或其它介质的光学扫描、然后编译、解释,或者另外以合适的方式处理,如果有必要,随后存储到计算机存储器中。在本文的上下文中,计算机可用或计算机可读介质可以是能包含、存储、通信、传播或传送由或结合指令执行系统、设备或装置使用的程序的任何介质。计算机可用介质可包括基带中或作为载波的一部分、实现计算机可用程序代码的传播数据信号。计算机可用程序代码可使用任何适当的介质传输,包括但不限于无线、有线、光纤线缆、RF等。 用于执行本发明的操作的计算机程序代码可用一个或多个编程语言的任何组合编写,包括面向对象的编程语言,如Java、 Smalltalk、C++等,以及传统过程性编程语言,如"C"编程语言或类似编程语言。程序代码可全部在用户计算机上执行,部分在用户计算机上执行,作为单机软件包执行,部分在用户计算机部分在远程计算机上执行,或全部在远程计算机或服务器上执行。在后一场景中,远程计算机可通过任何类型的网络连接到用户计算机,包括局域网(LAN)或广域网(WAN),或可连接到外部计算机(例如,使用因特网服务供应商通过因特网)。 下面参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图示和/或框图,描述本发明。将理解,流程图示和/或框图的每个块以及流程图示和/或框图中的块的组合可由计算机程序指令实现。这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器,以产生机器,使得经由计算机或其他可编程处理设备的处理器执行的指令产生用于实现流程图和/或框图块中指定的功能/动作的装置。 这些计算机程序指令还可存储在计算机可读介质中,其可引导计算机或其他可编程数据处理设备按特定方式操作,使得计算机可读介质中存储的指令产生制造品,包括实现在流程图和/或框图块中指定的功能/动作的指令装置。 计算机程序指令还可加载到计算机或其他可编程数据处理设备上,以产生要在计算机或其他可编程设备上执行的一系列操作步骤,以产生计算机实现的进程,使得在计算机或其他可编程设备上执行的指令提供用于实现在流程图和/或框图块中指定的功能/动作的进程。 现在参照图2A,它是按照本发明实施例构造和操作的表格数据消歧系统的简化概念图示。在图2A的系统中,定义了数据实体的两个或多个路径的组200,其中路径定义了
6从该路径中的第一数据实体到该路径中的最后数据实体的遍历顺序,并且其中,路径中除 了最后数据实体之外的每个数据实体与紧接着其后面的数据实体具有基数关系(cardinal relationship)。例如,在包含路径"Persons. Children. Teachers (教师),,禾口 "Persons. Friends (朋友) Spouses (配偶)"的组中,路径"Persons. Children. Teachers"定义了从 根数据实体"Persons"到数据实体"Children"(其中"Persons"具有m_ > n基数)以及 从数据实体"Children"到数据实体"Teachers"(其中"Children"具有m_ > n基数)的 路径。组中每个路径具有相同的根数据实体,即每个路径中的第一数据实体。例如,路径组 可被定义为队列的一部分,其中路径中每个数据实体的值被提供于表格中,路径中的每个 数据实体对应于表格的不同列。 —旦定义了路径组200,则定义了一个或多个表格202,从而按照防止上面参照图 1B和图IC描述的数据的错误解释的方式,在表格中提供所有路径中的所有数据实体的值。 树构造器204构造单个树206,其包括路径组200中的所有路径,其中路径组中的所有路径 从它们共同的根数据实体起源。核心路径识别器208识别树206中的每个"核心路径",其 中核心路径被定义为树中任何如下的路径其从根数据实体起源,在位于与沿路径的另一 数据实体之间的一对多关系或多对多关系的对多端处的数据实体终止,并且不包括沿着从 终止数据实体递降的任何路径的、位于与沿从终止数据实体递降的路径的另一数据实体之 间的一对多关系或多对多关系的对多端处的其他数据实体。核心路径的终止数据实体不需 要是树的叶子。表格创建器210随后对于所识别的每个核心路径,在表格202中创建单独 的表格,其中表格的每列对应于该表格相关核心路径的不同数据实体。优选地,每个表格还 包括与沿着从核心路径的终止数据实体递降的任何路径的任何数据实体相对应的列。如果 存在除沿着核心路径自身之外的从核心路径中的任何数据实体递降、且其数据实体具有沿 着整个路径的一对一基数的任何路径,则来自这样的路径的任何数据实体可被包括为与核 心路径相关联的表格中的列。这样的数据实体被称为在它们所源自的核心路径数据实体的 "奇点邻居(neighborhood of singularity)"中。 一旦已经定义了表格202,则使用任何已 知技术,表格202中每个表格的行和列可以被填充来自表格中代表的数据实体的数据。
图2A中的任何元件优选地由计算机212执行或可由计算机212访问,例如根据传 统技术,通过用计算机硬件和/或计算机可读介质中包含的计算机软件实现图2A所示的任 何元件。 现在参照图2B,它是根据本发明实施例操作的图2A的系统的操作的示例方法的 简化流程图示。在图2B的方法中,定义了数据实体的两个或多个路径的组,其中路径定义 了从该路径中的第一数据实体到该路径中的最后数据实体的遍历顺序,并且其中,路径中 除了最后数据实体之外的每个数据实体与紧接着其后面的数据实体具有基数关系。组中 每个路径具有相同的根数据实体,即每个路径中的第一数据实体。 一旦定义了路径组,则构 建包括路径组中所有路径的单个树,其中路径组中的所有路径从它们共同的根数据实体起 源。识别树中的每个核心路径。随后对于所识别的每个核心路径,创建单独的表格,其中表 格的每列对应于其相关核心路径中的数据实体。优选地,每个表格还包括与沿着从核心路 径的终止数据实体递降的任何路径的任何数据实体相对应的列。还可将从核心路径中任何 数据实体递降的奇点邻居中的任何数据实体包括为与核心路径相关联的表格中的列。 一旦 已经定义了表格,则使用任何已知技术,表格的行和列被填充来自表格中代表的数据实体
7的数据。 还可在以下例子的上下文中理解图2B的方法,其中,用于数据实体{A, B, C, D, E,
F, G, H, 1}的路径组被定义为具有以下路径 l)A. B 2)A.B.D.H 3)A.B.E 4)A.C.F 5)A. C. G. I 构造包括路径组中所有路径的单个树,产生如图2C所示的树,其中还示出了数据 实体之间的关系的基数,"l"代表n-〉 l基数,"f代表n-〉多基数。因此,树中的核心路 径是 l)A. B. D. H
2)A.B.E
3)A.C.G 每个核心路径中的终止数据实体(即,E、G和H)位于一对多关系或多对多关系的
对多端处,并且不包括沿着从终止数据实体递降的任何路径的、位于一对多关系或多对多
关系的对多端处的其他数据实体。对于所识别的每个核心路径创建单独的表格,其中,表格
的列由其相关核心路径中的数据实体构成,产生以下表格 表格1,列A,B,D,H 表格2,列A,B,E 表格3,列A,C,G 因为表格还可包括沿从其相关核心路径的终止数据实体递降的任何路径的任何 数据实体,所以表格3还可包括数据实体I,产生以下表格
表格1,列A,B,D,H
表格2,列A,B,E
表格3,列A,C,G,1 最后,表格还可包括从相关核心路径中的任何数据实体递降的奇点邻居中的任何
数据实体。每个核心路径包括如下数据实体 l)A.B.D.H:C.F源自A 2)A.B.E :C.F源自A 3)A. C.G:C.F源自A,F源自C, I源自G 由此,表格可包括如下的附加列 表格l,列A, B, C, D, F, H 表格2,列A, B, C, E, F 表格3,歹lj A, C, F, G, I 不沿着任何核心路径、但可被包括在超过一个的上述表格中的数据实体,可以被 包括在每个表格中(如C和F被包括在上面每个表格中),或者可以被包括在仅仅一个表格 中,从而不重复。因此,例如,可将C和F仅仅包括在表格3中,如下
表格1,列A,B,D,H
表格2,列A,B,E
表格3,歹lj A, C, F, G, I 现在参照图3,框图300示出了根据本发明实施例,通过其可实现本发明的一个或 多个组件/方法(例如,图2A-2B的环境下描述的组件/方法)的计算系统的示例硬件实 现方式。 如所示,可根据经由计算机总线318或其他连接布置耦连的处理器310、存储器 312、 I/O装置314和网络接口 316,实现用于控制对至少一个资源的存取的技术。
应理解,这里使用的术语"处理器"意图包括任何处理装置,例如包括CPU(中央处 理单元)和/或其他处理电路的处理装置。还应理解,术语"处理器"可指代超过一个的处 理装置,并且可由其他处理装置共享与处理装置相关的各种元件。 这里使用的术语"存储器"意图包括与处理器或CPU相关联的存储器,例如RAM、 ROM、固定存储装置(例如,硬盘驱动器)、可移除存储装置(例如,盘碟)、闪存等。这样的 存储器可当作计算机可读存储介质。 此外,这里使用的短语"输入/输出装置"或"I/O装置"意图包括例如用于向处理
单元输入数据的一个或多个输入装置(例如,键盘、鼠标、扫描仪等),和/或用于呈现与处
理单元相关联的结果的一个或多个输出装置(例如,扬声器、显示器、打印机等)。 附图中的流程图和框图示出了根据本发明各种实施例的系统、方法和计算机程序
产品的可能的实现方式的体系、功能性和操作。为此,流程图或框图中的每个块可以代表模
块、段或代码部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。还应注意,在
一些替换实现方式中,块中注明的功能可不按照图中注明的顺序进行。例如,根据所涉及的
功能性,连续示出的两个块实际上可基本同时执行,或者该块有时可按相反顺序执行。还将
注意,可由执行指定功能或动作的专用的基于硬件的系统,或专用硬件和计算机指令的组
合,实现框图和/或流程图示中的每个块、以及框图和/或流程图示中的块的组合。 尽管已经参照特定计算机硬件或软件可能描述了或可能未描述这里的方法和设
备,应理解,这里描述的方法和设备可使用传统技术以计算机硬件或软件容易地实现。 尽管已经参照一个或多个实施例描述了本发明,但该描述是为了整体上例示本发
明,而不应理解为将本发明限于所示的实施例。应理解,尽管在此未特别示出,但本领域技
术人员可进行各种修改,仍然在本发明的真实精神和范围内。
9
权利要求
一种用于创建数据表格的方法,该方法包括在代表多个数据实体和所述数据实体之间的基数关系的树中,识别多个路径,其中每个所述路径包括多个所述数据实体和任何所述数据实体之间的任何所述关系,其中,每个所述路径从同一个所述数据实体起源,包括终止数据实体,所述终止数据实体是终止所述路径的一个所述数据实体,其中所述终止数据实体位于与沿着所述路径的另一所述数据实体之间的一对多关系和多对多关系之一的对多端处,以及不包括沿着从所述终止数据实体递降的任何路径、且位于与沿着从所述终止数据实体递降的所述路径的另一所述数据实体之间的一对多关系和多对多关系之一的对多端处的其他所述数据实体;以及对于每个所述路径,在计算机可读介质上创建单独的表格,其中每个所述表格包括对其创建所述表格的所述路径的每个所述数据实体的列。
2. 根据权利要求1的方法,还包括在任何所述表格中,包括针对沿着从对其创建所述 表格的所述路径的所述终止数据实体递降的任何路径的任何所述数据实体的列。
3. 根据权利要求1的方法,还包括在任何所述表格中,包括针对沿着从对其创建所述 表格的所述路径的任何所述数据实体递降的任何路径的任何所述数据实体的列,其中所述 递降路径至少部分地沿着除了对其创建所述表格的所述路径之外的路径,并且其中,所述 沿着所述递降路径的所述数据实体与沿着整个所述递降路径的任何所述数据实体具有一 对一基数。
4. 根据权利要求1的方法,还包括在多个所述表格中包括不沿着任何所述识别的路 径的任何所述数据实体。
5. 根据权利要求1的方法,还包括在仅仅一个所述表格中包括不沿着任何所述识别 的路径的任何所述数据实体。
6. —种表格数据消歧系统,包括核心路径识别器,被配置为识别多个数据实体的树中如下的任何路径 从共同根数据实体起源,包括终止所述路径的终止数据实体,其中,所述终止数据实体位于与沿着所述路径的 任何所述数据实体之间的一对多关系和多对多关系之一的对多端处,以及不包括沿着从所述终止数据实体递降的任何路径、且位于与沿着从所述终止数据实体 递降的所述路径的另一所述数据实体之间的一对多关系和多对多关系之一的对多端处的 其他所述数据实体;以及表格创建器,被配置为对于所述核心路径识别器识别的任何的所述路径,在计算机可 读介质上创建单独的表格,其中每个所述表格包括对其创建所述表格的所述路径的每个所 述数据实体的列。
7. 根据权利要求6的系统,还包括树构造器,被配置为构造包括路径组中的所有路径 的树,其中所述路径组中的所有所述路径从所述共同根数据实体起源。
8. 根据权利要求6的系统,其中,任何所述路径定义了从所述路径中第一个所述数据 实体到所述路径中最后一个数据实体的遍历顺序。
9. 根据权利要求6的系统,其中,在任何所述路径中,除了最后一个数据实体之外的每 个所述数据实体与紧接在它之后的数据实体具有基数关系。
10. —种计算机实现的程序,包含在计算机可读介质上,计算机程序包括操作来实现权 利要求1-5的任何方法的代码段。
全文摘要
通过识别数据实体和关系的树中的路径,创建数据表格,树包括数据实体和实体之间的关系,其中每个路径从同一数据实体起源,包括位于与沿着该路径的另一数据实体之间的一对多关系或多对多关系的对多端处的终止数据实体,并且不包括沿着从该终止数据实体递降的任何路径、且位于与沿着从该终止数据实体递降的路径的另一数据实体之间的一对多关系或多对多关系的对多端处的其他数据实体;以及对于每个路径,在计算机可读介质上创建单独的表格,其中每个表格包括对其创建该表格的路径的每个数据实体的列。
文档编号G06F17/30GK101727483SQ200910210169
公开日2010年6月9日 申请日期2009年10月29日 优先权日2008年10月29日
发明者施洛默·斯坦哈特, 鲍里斯·梅拉米德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1