CN105404662A - 不使用结构化查询语言的数据库 - Google Patents
不使用结构化查询语言的数据库 Download PDFInfo
- Publication number
- CN105404662A CN105404662A CN201510746628.0A CN201510746628A CN105404662A CN 105404662 A CN105404662 A CN 105404662A CN 201510746628 A CN201510746628 A CN 201510746628A CN 105404662 A CN105404662 A CN 105404662A
- Authority
- CN
- China
- Prior art keywords
- inquiry
- data
- computing
- dijection
- set storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 18
- 230000009467 reduction Effects 0.000 claims description 17
- 230000001052 transient effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000000295 complement effect Effects 0.000 claims description 4
- 230000008447 perception Effects 0.000 description 35
- 239000011159 matrix material Substances 0.000 description 28
- 230000006870 function Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 238000011084 recovery Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 241001465754 Metazoa Species 0.000 description 5
- 210000004556 brain Anatomy 0.000 description 5
- 239000000047 product Substances 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 3
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 3
- 230000037308 hair color Effects 0.000 description 3
- 230000003340 mental effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000212384 Bifora Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 241000124008 Mammalia Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000002864 sequence alignment Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2445—Data retrieval commands; View definitions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mathematical Physics (AREA)
Abstract
数据库系统使用迭代集合以并行方式存储数据和数据间的关系。与受限于表示二维关系(即,表对之间的关系)的关系数据库不同,本发明的数据库系统可在三维坐标系中表示N维关系。此外,本发明的数据库系统可将所有数据库数据存储在单个迭代集合中,而无需使用多个表。作为本发明实施例存储数据和数据间关系的这种方式的结果,本发明的实施例可用于在无需以诸如SQL的形式查询语言制定查询的情况下搜索数据库。
Description
技术领域
本公开涉及数据库查询领域。
背景技术
关系数据库已经成为存储大型数据集的标准。一般来说,关系数据库包括多个表。每个这种表中的每一行(也被称为一条“记录”)包括多个列(也被称为“字段”)。每个表具有一个特殊的列,它被称为该表的“主键”,并且它用于唯一标识表中的每条记录。例如,表可具有“唯一标识符”列,并且该表中每条记录中该唯一标识列的值在该表的所有记录中可能是唯一的。通过在第二表的一列内引用第一表的主键,可以将关系数据库中不同的表彼此相关。在这种情况下,在第二表内的第一表的主键扮演着第二表内“外键”的角色。例如,雇员生日表可通过他们的社会保险号(外键)指代雇员,其中社会保险号是包括其他雇员相关信息的另一表的主键。
与仅包括单个表的数据库相比,关系数据库的一个优点是关系数据库可表示多个数据集之间的关系。所以,已存在的但互不相同的数据集可在单个关系数据库中联系在一起,而无需所有数据集为了共享相同的结构而均被重新格式化。取而代之的是,为了将截然不同的数据集一起归置在单个关系数据库中,仅需要将关系(主键和外键)编码在数据集中。这使得能够以比将所有数据集组合在单个表中的精力相对较少的精力在不同的数据集上执行操作,诸如搜索和排序,
虽然关系数据库具有优点,但关系数据库还具有多种缺陷。例如,为了搜索关系数据库,通常需要以形式查询语言制定查询,诸如结构化查询语言(SQL)。SQL是一种复杂的语言,并且以SQL制定查询会需要大量的专业技术。此外,以SQL制定查询需要要搜索的关系数据库的结构的详细知识(例如,列、主键以及主-外键关系)。所以,以SQL制定查询可能是繁冗、耗时且易于出错的。
此外,由于关系数据库中的关系基于不同表中预定主键间的关系,在关系数据库中可表示的关系固有地受限于在关系数据库中的主键间可形成的关系。所以,以SQL制定并在关系数据上执行的查询仅可用于搜索在关系数据库中已经使用现有的、预定主键间的关系而被编码至数据库中的关系。
因此,需要用于克服关系数据库和基于SQL的搜索的这些限制的技术。
发明内容
数据库系统使用迭代集合以存储数据以及所述数据之间的关系。与受限于表示二维关系(即,表对之间的关系)的关系数据库不同,本发明的数据库系统可在三维坐标系中表示N维关系。此外,本发明的数据库系统可在单个迭代集合中存储所有的数据库数据,而无需使用多个表。作为本发明实施例存储数据和数据间关系的方式的结果,本发明实施例可用于在不需要以诸如SQL的形式查询语言制定查询的情况下搜索该数据库。
本发明多个方面和实施例的其他特征和优点将通过下文的描述和权利要求而显现。
附图说明
图1是根据本发明一个实施例的非确定性图灵机的图;
图2是说明根据本发明一个实施例的双射集合存储器的图;
图3A-3C是表示根据传统关系数据库系统实现的表的图;
图4A-4C是本发明实施例所使用的单个表的各部分;以及
图5A-5B表示根据本发明实施例的搜索图4A-4C的表的方法。
具体实施方式
本专利申请涉及于2014年4月4日提交的题为“APolynomialMethodofConstructingaNon-Deterministic(NP)TuringMachine”的申请号为PCT/US2014/032965的PCT专利申请,通过引用将该申请包含在此。该专利申请描述了用于通过确定性图灵机(DTM)构造非确定性图灵机(NTM)的技术。如该文件所述,非确定性图灵机可被认为是知识推理机,它以与人脑相似的方式工作。在每种情况下,非确定性图灵机为了使问题得到解决可并行作出多种选择。相反地,确定性图灵机是转移函数机;也就是说,在任何给定的情况下,确定性图灵机精确地作出一种选择,并不具有并行追寻其他选择的能力。因此,确定性图灵机和非确定性图灵机之间的最显著差别在于前者不能并行进行处理,而后者可并行进行处理。
一般来说,根据上文引用的专利申请实现的非确定性图灵机(NTM)包括四个子系统:(1)空间二进制枚举系统;(2)3维关系系统;(3)仿真的人类逻辑系统;以及(4)双射集合存储器系统。上文引用的专利申请提供了与每个这种子系统以及与这些子系统彼此间如何交互有关的进一步细节。
例如,参见图1,示出了根据本发明一个实施例的非确定性图灵机(NTM)100的图。NTM100包括存储器102,本文中称之为“双射集合”存储器,因为它包括表示双向关系的数据,如将在下文更具体地描述的。存储器102在本文中还被称为“知识库”,正如该术语在美国专利6,611,841中所使用的那样。NTM100还包括仿真的人类逻辑系统104,它在本文中还被称为认知逻辑单元或并行信息处理器。该认知逻辑单元104并不以与传统的中央处理器(CPU)相同的方式工作。相反,该认知逻辑单元104作为“集合算符”工作,这使得整个NTM100作为集合算符工作。认知逻辑单元104读取输入106并基于该输入和存储器102的内容,生成输出108。例如,并如将在下文更详细描述的那样,认知逻辑单元104可对其输入106(例如,演绎地和/或还原地)执行一个或多个集合运算以生成其输出108,它表示对输入106执行该集合运算的结果。由于NTM100是非确定性的,双射集合存储器102可包括以在上文背景技术部分中所描述的含义来表示数据间关系的数据。然而,整个NTM100可使用确定性图灵机(DTM)实现。在这种实施例中,NTM100使用DTM执行NTM的功能。因此,NTM100可使用DTM来构造NTM。
双射集合存储器102以及在双射集合存储器中存储数据的技术的示例在于2003年8月26日提交的题为“KnowledgeAcquisitionandRetrievalApparatusandMethod”的美国专利US6,611,841、于2013年3月15日提交的题为“SequenceAlignment”的美国临时专利申请US61/798,848、以及于2014年3月14日提交的题为“SpatialArithmcticMcthodofSequcnceAlignment”的PCT申请PCT/US2004/027455中进行了更详细的描述,通过引用将它们全部结合在此。
这里对双射集合存储器102做非常简要的总结。在上文引用的文档中可获得进一步细节。一般来说,双射集合存储器102基于对人脑运行的理解,并以类似人脑运行的方式进行操作。具体的,双射集合存储器102可包括两个存储器:感知存储器110和概念存储器112。感知存储器110存储表示感知的数据,诸如对象的感知。概念存储器112存储表示观念的数据(本文中也被称为概念和类)。由存储在概念存储器112中的数据表示的观念可视为集合,而由存储在感知存储器110中的数据所表示的感知可视为由存储在概念存储器112中的数据表示的集合的元素。
NTM100包括归纳(induction)模块114(本文中也被称为学习模块或概念形成模块),它使用归纳过程学习由存储在感知存储器110中的数据所表示的感知和由存储在概念存储器112中的数据所表示的概念之间的自然关系。对于由学习模块114学习的感知存储器110中的感知和概念存储器112中的相应概念之间的每个关系,学习模块114生成并存储表示感知存储器110中的感知的数据与表示概念存储器112中的相应概念的数据之间的双向映射。由学习模块114执行的针对数量逐渐增多的感知和相应概念而生成并存储这种映射的过程模拟了人脑执行的学习过程。所获得的映射集合是“知识库”的一个示例,正如该术语在本文中所使用的并且在美国专利US6,611,841中所使用的那样。
一旦学习模块114已经开发出包括由存储在感知存储器110中的数据表示的感知和存储在概念存储器112中的数据表示的概念之间的双向映射的知识库,存储在知识库102中的知识可以多种方式的任意一种进行检索。例如,NTM100包括演绎(deduction)模块116,它可使用演绎从知识库102中检索知识。具体的,如果表示感知存储器110中的感知的数据被提供为至演绎模块116的输入,那么该演绎模块116可遵循从感知存储器110中的感知至概念存储器112中的相应概念的映射(即,关系),从而检索出对应于该感知的概念。
作为另一示例,NTM100包括还原(reduction)模块118,它可使用还原从知识库中检索知识。具体的,如果表示概念存储器112中的类(本文中也被称为概念、观念或集合)的数据被提供为至还原模块118的输入,那么该还原模块118可遵循从概念存储器112中的概念至感知存储器110中的相应感知的映射,从而检索出对应于该概念的感知。
如上文所述,根据本发明实施例实现的NTM包括空间二进制枚举系统,它是指基于由两个基本(原始)元素组成的集合枚举数字的枚举系统,这两个基本元素可设想为表示+1和-1。
因此,虽然传统二进制数字系统同样基于两个基本(原始)元素,即0和1,但本文公开的空间二进制枚举系统具有超出基于0和1的传统二进制数字系统的多种优点。具体的,本文公开的空间二进制枚举系统基于具有彼此间幅值相等且方向相反(即,互补)的原始元素,例如-1和+1。相反,传统二进制数字系统中的原始值0和1彼此间并不相等且并不相反。空间二进制枚举系统使用彼此间值相等但方向相反的原始值使得能够与使用传统二进制数字系统相比更有效率地执行计算。
正如将在下文中更详细描述的,将+1和-1用作原始值使表示为+1和-1的组合的数字能够与表示为+1和0的组合的数字相比更为简单和直接地被表示为三维空间中的三维点。相比于由原始值0和1组成的传统二进制数,这进一步有利于使用这些数字更简单地执行算术(诸如乘、除、加或减)、因式分解以及其他算术和逻辑运算。
由于使用+1和-1表示数字是新颖的,没有现有的术语指代具有由集合{+1,-1}组成的可允许值的数字。现有的术语“比特”指具有由集合{+1,0}组成的可允许值的范围的数字。为了简化说明,并且因为本发明的实施例可使用基于{+1,0}或者{+1,-1}的表示,将在本文中使用术语“比特”同时来指代具有由集合{+1,0}组成的可允许值的范围的数字以及具有由集合{+1,-1}组成的可允许值的范围的数字。类似的,本文中将使用术语“二进制数”指代由比特组成的任意数,无论这些比特具有{+1,0}还是{+1,-1}的范围。例如,本文中将数10011010和数+1-1-1+1+1-1+1-1两者均称为“二进制数”,即使数+1-1-+111+1+1-1+1-1并不包含传统意义上的“比特”。当它需要具体这代这种数字时,将使用术语“空间二进制数”具体指代包括具有{+1,-1}范围的比特的数。
如上文所述,根据本发明实施例实现的NTM包括三维关系系统。在2014年2月26日提交并于2014年7月24日公布的题为“SpatialArithmeticMethodofIntegerFactorization”的申请号为US14/191,384且公开号为US2014/0207839A1的美国专利申请中详细描述了这一系统,通过引用将该专利申请合并于此。
如上文进一步提到的,根据本发明实施例的NTM包括仿真的人类逻辑系统。基于对于三维关系系统并更一般地对于知识来说存在自然次序这一认识建立根据本发明实施例实现的仿真人类逻辑系统。例如,人脑自然地将信息进行分类以对其组织。相似地,大自然自动地将蛋白质以特定而非其他次序彼此相连。相似地,根据本发明实施例实现的逻辑系统自动在双射集合存储器102内将信息组织在关系中。
认知逻辑单元104可执行多种功能,诸如上文结合图1中的学习模块114(它学习并存储关系)、演绎模块116(它将元素信息映射至集合信息)以及还原模块118(它将集合信息映射至元素信息)公开的归纳、演绎以及还原功能。例如,认知逻辑单元104可接收输入106(例如从NTM100的用户接收的输入)。响应于接收输入106,认知逻辑单元104可控制学习模块114对输入106(并可能对由NTM100接收的在前输入和/或已经存储在知识库102中的数据)执行归纳,从而在知识库102中创建并存储新学习的知识。认知逻辑单元104然后可基于新学习的知识产生输出108,诸如表示归纳模块114基于输入106学习的概念的输出。
作为另一示例,响应于接收输入106,认知逻辑单元104可控制演绎模块116对输入106(并可能对由NTM100接收的在前输入和/或已经存储在知识库102中的数据)执行演绎,从而从表示由输入106表示的对象是其一个成员的一个或多个类的知识库102中提取现有数据。认知逻辑单元104然后可基于演绎的结果产生输出108,诸如表示包含由输入106表示对象的类的输出。
作为另一示例,响应于接收输入106,认知逻辑单元104可控制还原模块118对输入106(并可能对由NTM100接收的在前输入上和/或已经存储在知识库102中的数据)执行还原,从而从表示作为由输入106表示的类的成员的一个或多个对象的知识库102中提取已有的数据。认知逻辑单元104然后可基于还原的结果产生输出108,诸如表示作为由输入106表示的类的成员的一个或多个对象的输出。
正如这些示例所说明的,认知逻辑单元104可触发学习模块114、演绎模块116以及还原模块118中的一个或多个对输入106执行它们各自的功能,并且认知逻辑模块104可基于由这些模块执行的功能的结果产生输出108。因此,认知逻辑单元104可充当NTM100的用户与模块114、116以及118之间的接口。因此,认知逻辑单元104还可充当模块114、116以及118的控制器。认知逻辑模块104可使用模块114、116以及118从知识库102中检索(表示已有知识的)数据。此外,认知逻辑模块104可使用模块114、116以及118将(表示新知识的)数据存储在知识库102中。
在根据本发明实施例的认知逻辑单元104中实现的逻辑系统执行多种功能并带来了多种优点。例如,这种逻辑系统使得知识能够以本文公开的方式自动学习。在自然语言和自然数中存在自然关系和自然逻辑。人类可自动察觉这些隐藏的关系,但当前的计算机并没有能力处理这些关系。认知逻辑单元104提供识别自然关系的能力,诸如以自然语言和自然数表达的自然关系。作为另一示例,认知逻辑单元104能够实现知识的并行处理。作为再一示例,认知逻辑单元104通过使用学习然后提取所学知识的过程代替编程,消除了大部分的传统“编程”工作。例如,如下文所述,认知逻辑单元104可在不进行编程的情况下从知识库102提取知识。图1的NTM100可接收输入106,然后:
·认知逻辑单元104可对输入106应用演绎116,以从表示在知识库102中与提出的数据相关联的一个或多个概念的知识库102中提取已有的知识;和/或
·认知逻辑单元104可对输入106应用还原116,以从表示在知识库102中与提出的数据相关联的一个或多个对象(感知)的知识库102中提取已有的知识。
·在任一情况下,无需在NTM100上进行任何特定编程来实现从知识库102中提取概念或感知。相反,可对输入106应用演绎116和/或还原118的操作,以在不编写单独程序的情况下提取概念和感知。
认知逻辑单元104可对由演绎模块116和/或还原模块118生成的输出执行集合运算。例如,认知逻辑单元104可从演绎模块116和还原模块118的任一个或两者接收一个或多个输出,然后对这一输出执行一个或多个集合运算。这种集合运算的示例包括交、并、差以及补运算。认知逻辑单元104然后可产生表示执行该一个或多个集合运算的结果的输出。作为一个简单示例,考虑以下情况:
·还原模块116具有表示哺乳动物类的输入,并基于存储在知识库102中的关系,对该输入执行还原以产生表示作为哺乳动物的一个或多个动物的输出;
·还原模块具有表示生活在海洋中的动物的类,并基于存储在知识库102中的关系,对该输入执行还原以产生表示生活在海洋中的一个或多个动物的输出。
本发明特别涉及双射集合存储器102,它的一个实施例作为双射集合存储器200更详细地示出在图2中。图2的双射集合存储器200可用于实现图1的知识库102的全部或一部分。在图2的实施例中,双射集合存储器200包括两个存储器:存储元素信息(也被称为“对象”信息和“感知”信息)的存储器110,以及存储集合信息(也被称为“类信息”、“概念”信息和“概念性”信息)的存储器112。关系201表示存储器110和112之间的1对1关联。此1对1关联201指示两个存储器110和112像镜子一样工作,尽管存储器110是对象(元素)存储器而存储器112是类存储器。关系202指示“隶属”关系,诸如(-+)属于(-++)和(+-+)。双射集合存储器200具有迭代结构,它包括属于集合的元素。因此,存储在双射集合存储器200中的数据也被称为迭代集合。也就是说,存储在存储器200中第一级中的元素为-1和+1。存储器200中的这些最低级(原始)元素在本文中也被称为“文字(literals)”、“字母”或“字符”。存储在存储器200第二级中的元素是两个字母的组合(例如,(-+)、(--)),它在本文中被称为“词”。第一级中的字符属于第二级中的特定词。存储在存储器200的第三级中的元素是三个字母的组合,例如(-+-)和(++-),它们在本文中被称为“子句”或“三连字”。第二级中的词属于第三极中的特定三连字。存储在存储器200中高于第三级的任意级别的元素可表示为三连字的组合。此方法提供的优点之一是一种新的折叠图数据结构。此折叠图数据结构能够作为双向映射而不是作为单向函数来处理NP问题。因此,此方法能够在多项式时间内解决NP问题。
图1的NTM100可用于实现在双射集合存储器102中存储数据的数据库系统,其表示存储在双射集合存储器102中的数据间的关系,并且可用于搜索存储在双射集合存储器102中的数据而无需使用SQL或其他形式查询语言。如上文所述,关系数据库受限于使用主-外键对存储二维关系。相反地,本发明实施例可使用双射集合存储器102来存储在双射集合存储器102中存储的数据间的如上文所述的那种三维关系。此外,本发明的实施例可用于将所有数据存储在单个双射集合存储器102中,而无需使用多个表。存储在双射集合存储器102中的整个数据库可在无需使用SQL或其他形式查询语言的情况下进行搜索。由于所有数据可存储在单个双射集合存储器102中而无需使用多个表,可搜索整个双射集合存储器102并且可在无需执行“连接(join)”操作的情况下产生搜索结果。
虽然本发明的实施例可用于克服关系数据库系统的诸多限制,但是无需用本发明的实施例替代关系数据库系统的所有方面。例如本发明的实施例可使用传统关系数据库系统以传统方式存储数据,诸如使用以传统关系数据库的方式组织的多个表。然而,本发明的实施例可用于在无需使用SQL或其他形式查询语言的情况下搜索这些数据。
作为另一实施例,本发明的实施例可将数据以将这些数据表示为以传统关系数据库的方式组织的多个表的格式存储在双射集合存储器102中。换句话说,双射集合存储器102可用于以传统关系数据库的形式存储数据,而并不使用本文公开的三维关系。然后可用本发明的实施例在无需使用SQL或其他形式查询语言的情况下搜索这些数据。
虽然本发明的实施例可用于克服关系数据库系统的诸多限制,但是在现有的关系数据库中存储有大量数据。因此,可能有用的是将现有数据从现有关系数据库转移到根据本发明实施例存储的数据库中,也就是通过将存储在现有关系数据库中的数据转移至存储在双射集合存储器102中的迭代集合中。这一转移可按如下方式执行。
如上文所述,双射集合存储器102可存储数据以及那些数据间的“包含”和“隶属”关系。因此,为了将现有关系数据库转换(转移)至双射集合存储器中的迭代集合中,可对关系数据库中的数据执行下述操作:
·关系数据库每个字段的每个值可存储在双射集合存储器102的元素(感知)存储器110中。
·关系数据库中的每个表可由双射集合存储器102的概念存储器112中的数据表示。
·双射集合存储器102可存储指示感知存储器110中每个字段值和概念存储器112中该字段值所属的相应表之间的“隶属”关系的数据。
·关系数据库中每个表中的每列(字段)可由双射集合存储器102的概念存储器112中的数据表示。
·双射集合存储器102可存储指示概念存储器110中每个字段值和概念存储器112中包含该字段值的列之间的“隶属”关系的数据。例如,如果“头发颜色”字段的值为“黑”,那么值“黑”可存储在感知存储器110中,字段(列)类型“头发颜色”可存储在概念存储器112中,双射集合存储器102可存储指示该字段值“黑”属于“头发颜色”字段的数据。
这一转换的结果是包含在双射集合存储器102中的数据库。这一数据库表示与原始关系数据库相同的数据和关系,但形式不同。
查询包含在双射集合存储器102中的数据库包括提供描述了数据和该数据间关系的查询。作为响应,NTM100提供具有由该查询指定的关系的数据的形式的查询结果。例如,查询可请求表示与具有指定名字(如“约翰史密斯”)的人具有“收款方”关系的人的所有数据(其中,通过指定“约翰史密斯”属于“名字”列,“约翰史密斯”由该查询指示为名字)。由于数据间的关系(诸如“收款方”关系)在双射集合存储器102中被存储为感知存储器110和概念存储器112之间的关系,本发明的实施例可执行这一查询并提供包含数据库中满足这一查询的所有数据的搜索结果。
注意,上述示例查询并不需要指定要搜索的任何特定表。这可能是由于整个数据库存储在双射集合存储器102中,它可以不包括多个表。然而,即使NTM100搜索存储在多个表中的数据,提供至图1的NTM100的查询也可不指定要搜索的任何特定表。如果将要使用该查询搜索的数据存储在一个或多个表中,那么NTM100可基于该查询自动确定要搜索的(多个)表,即使该查询并不指定该表。
此外,注意上述示例查询并不指定连接操作。这可能由于双射集合存储器102中的所有数据在执行该查询前已被连接在一起。
如上述示例所述,根据本发明多个实施例由NTM100执行的查询可具有下述特征的任意一个或多个:
·当执行该查询时,该查询可缺少对要搜索的任意表的任何引用。
·该查询可缺少对连接操作的任何引用。
·该查询可不以SQL或任意其他形式查询语言编写。
·该查询可指定一个或多个集合关系,诸如“是下述类的一个成员”或“是包括下述成员的一个类”。
本发明的实施例可使用两个或更多个下述操作种类的每一个执行查询(搜索):
·演绎。演绎包括演绎指定实例(感知)的类(概念)。参考双射集合存储器102,演绎包括遵循从表示感知存储器110中实例的数据至表示概念存储器112中类的相应数据的关系。本发明的实施例可非常高效地执行演绎,这是因为数据间的实例-类关系已经存储在双射集合存储器102中。本发明的实施例可使用演绎执行查询中的项,所述项指定了特定实例并请求该实例作为其中一个成员的一个或多个类,诸如“哪种动物是主教鸟?”。
·还原。还原包括识别作为指定类(概念)的成员的实例(感知)。参考双射集合存储器102,还原包括遵循从表示概念存储器112中的类的数据至表示感知存储器110中的实例的相应数据的关系。本发明的实施例可非常高效地执行还原,这是因为数据间的实例-类关系已经存储在双射集合存储器102中。本发明的实施例可使用还原执行查询中的项,所述项指定了特定类并请求作为该类成员的实例,诸如“哪些动物是鸟?”。
为了说明本发明的某些实施例,现在将描述传统关系数据库的特定示例和本发明实施例的特定示例。
参考图3A,示出了根据传统关系数据库系统实现的第一表300。表300包括行(记录)302a-c和列304a-d。出于示例的目的,列304a包括“姓名”字段中的数据,列304b包括“车辆”字段中的数据,列304c包括“SSN”字段中的数据,以及列304d包括“位置”字段中的数据。因此,此表300包括表示在特定位置(列304d)购买了由特定车辆制造商(列304b)所制造的车辆的人(列304a)的数据。列304c包括表示每个人的社会保险号(SSN)的数据。
本发明的实施例可用于存储和/或搜索图3A的表格300中的数据。例如,图3A的表300可存储在位于图1的NTM100外部的关系数据库中。作为另一示例,本发明的实施例可使用三维关系或者使用传统关系数据库所使用类型的传统关系,将来自图3A的表300的数据存储在NTM100的双射集合存储器102中。不管表300的数据如何存储以及存储在何处,图1的NTM100都可用于使用本文公开的技术搜索该数据。
参见图3B,示出了根据图3A的传统关系数据库系统实现的第二表320。此表320包括与人相关的数据,诸如表示为图3A的表300中的车辆购买者中的一人或多人。表320包括行(记录)322a-c和列324a-d。每一行322a-c都包括与特定人相关的数据。出于示例的目的,列324a包括“姓名”字段中的数据、列324b包括“电话”字段中的数据,以及列324c包括“SSN”字段中的数据。对于表示特定人的每一行,“姓名”列324a包括表示人名的数据,“电话”列324b包括表示人的电话号码的数据,以及“SSN”列324c包括表示人的社会保险号的数据。
本发明的实施例可用于存储和/或搜索图3B的表320中的数据。例如,图3B的表320可存储在位于图1的NTM100外部的关系数据库中。作为另一示例,本发明的实施例可使用三维关系或者使用传统关系数据库所使用类型的传统关系,将来自图3B的表320的数据存储在NTM100的双射集合存储器102中。不管表320的数据如何存储以及存储在何处,图1的NTM100都可用于使用本文公开的技术搜索该数据。
参见图3C,示出了根据图3B的传统关系数据库系统实现的第三表340。此表340包括与人相关的数据,诸如表示为图3A的表300中的车辆购买者中的一人或多人。表340包括行(记录)342a-c和列344a-d。每一行342a-c都包括与特定人相关的数据。为了示例的目的,列344a包括“姓名”字段中的数据、列344b包括“年龄”字段中的数据,以及列344c包括“SSN”字段中的数据。对于表示特定人的每一行,“姓名”列344a包括表示人名的数据,“年龄”列344b包括表示人的年龄的数据,以及“SSN”列344c包括表示人的社会保险号的数据。
本发明的实施例可用于存储和/或搜索图3C的表340中的数据。例如,图3C的表340可存储在位于图1的NTM100外部的关系数据库中。作为另一示例,本发明的实施例可使用三维关系或者使用传统关系数据库所使用类型的传统关系,将来自图3C的表340的数据存储在NTM100的双射集合存储器102中。不管表340的数据如何存储以及存储在何处,图1的NTM100都可用于使用本文公开的技术搜索该数据。
正如可从表300、320以及340的视觉观察看到的,表300、320以及340都包括与名叫凯伦布朗的人相关的数据。在传统关系数据库系统中,为了对包括表300、320、340的数据库执行查询以提取与凯伦布朗有关的信息,需要基于表300、320、以及340的结构的先验知识(例如,表300、320、340中列的知识、以及哪列用作彼此相关的主键和外键的知识)以形式查询语言(诸如SQL)编写查询,然后执行该查询。在传统关系数据库系统中执行这一查询涉及对存储在表300、320以及340中的数据执行连接操作。
相反地,本发明的某些实施例可存储表示与图3A-3C所示信息相似的信息的数据,但无需使用多个表,尽管在本发明某些其他实施例中图3A-3C的数据可使用多个表进行存储。此外,本发明的某些实施例可对这些数据执行查询而无需搜索多个表,尽管本发明的某些其他实施例中该NTM100可搜索多个表。此外,本发明的实施例可搜索图3A-3C的数据而无需执行连接操作。此外,由本发明实施例执行的查询无需以形式查询语言(诸如SQL)编写,并且无需基于要搜索的数据的结构的先验知识。
例如,参考图4A,示出了根据本发明一个实施例实现的表的第一部分400。这一表部分400可存储在双射集合存储器102中。此表部分400包括键列404a以及属性列404b。表部分400包括行402a-f,每行包括键和相应的属性名或标识符。这样,表部分400提供键和属性间的统一映射。
类似地,参考图4B,示出了根据本发明一个实施例实现的表的第二部分410。这一表部分410可存储在双射集合存储器102中。注意,图4A的表部分400以及图4B的表部分410在双射集合存储器102中可存储为相同表的不同部分或作为不同的表。图4B示出的表部分410包括键列414a和值列414b。表部分410包括行412a-i,每行包括键和相应值。这样,表部分410提供键和值之间的统一映射。注意,虽然列414b在图4B中被标示为“值”而列404b在图4A中被标示为“属性”,但这些列两者都可为相同表中的相同列,只不过彼此的解释不同。
参考图4C,示出了根据本发明一个实施例实现的该表的第三部分420。注意,图4A的表部分400、图4B的表部分410以及图4C的表部分420可在双射集合存储器102中存储为相同表的不同部分或存储为不同表。图4C中示出的表部分420包括键列424a和元组列424b。表部分420包括行422a-c,每行包括键和相应的元组。例如,行422a包括键021和相应的元组302;202;058-44-1234;505。这意味着键021关联于:
键302(它与图4B的表部分410中的值“凯伦布朗”相关联);
键202(它与图4B的表部分410中的值“丰田”相关联);
键058-44-1234(它应假定为附图未示出的另一表部分中的键);以及
键505(它与图4B的表部分410中的值“波士顿”相关联)
如上文的示例说明的,图4C的表部分420提供了统一键集合与多个元组之间的统一映射。这样,图4C的表部分420使用键和元组间映射表示关系。如上文的示例进一步说明的,本发明实施例可使用单个表(诸如包括图4A、4B和4C的所有表部分400、410和420的单个表)至少表示与传统关系数据库需要多个表来表示的相同的关系。
图3A、3B、3C、4A、4B和4C表示的表可使用根据本发明实施例的高效技术进行搜索(查询)。例如,图5示意了根据本发明一个实施例的查询表的一种方法。出于示例的目的,假设由图5A的方法执行的查询为查询“在波士顿购买丰田的人的电话号码是什么?”。注意,此查询并不指定要查询的任何表,并不指定连接操作,并且并不以SQL或其他形式查询语言进行编写。
图5A示出了与图4C相同的表部分420。为了执行该查询“在波士顿购买丰田的人的电话号码是什么?”,图5A的方法可搜索表部分420中表示由该查询指定的值的键,诸如“丰田”和“波士顿”。该方法可搜索表部分420并查找任何这种匹配的键,诸如键202,它表示值“丰田”(根据图4B的表部分410),以及键505,它表示值“波士顿”(根据图4B的表部分410)。
然后图5A的方法可识别包含匹配值“丰田”和“波士顿”的记录,也就是记录422a。图5A的方法可断定此记录422表示在波士顿购买了丰田的人。该方法然后可识别所识别出的记录422的主键,也就是键302。图5A的方法可断定此键302是在波士顿购买了丰田的人的标识符。现在图5A的方法必须找到这个人的电话号码。
图5A的方法可通过在表部分420中搜索作为主键的值302来查找在波士顿购买丰田的人的电话号码。该方法在记录422b中找到此键。该方法然后可检查记录422b除键302以外的每个元素并确定是否各元素表示一个电话号码。该方法可通过例如确定每个元素在表中的别处或在相同数据库中的另一表中是否被分类为电话号码而作出这一决定。例如,图5A的方法可基于表部分410(图4B)中的记录412e确定主键302涉及凯伦布朗。然后图5A的方法可基于图3B确定凯伦布朗的电话号码是570-524-3333,因为图3B中表320的列324b被标记为“电话”,并且因为表示凯伦布朗的记录322b中的列324b的内容包括570-524-3333。因此,该方法可断定表部分420中的号码570-524-3333是一个电话号码。
该方法可基于上文的推理断定在波士顿购买丰田的人的电话号码是570-524-3333。注意,该方法可在不执行连接操作的情况下得出这一结论。附加地或备选地,该方法可通过执行不以SQL或另一形式查询语言编写的查询得出这一结论。
图5A通过参考查询的一个特定示例和数据库的一个特定示例示意了根据本发明一个实施例的查询数据库的方法。现在参考图5B,示出说明根据本发明多个实施例的用于查询数据库的更一般方法520的流程图。该方法520可由图1的NTM100执行。
图5B的方法520接收查询(操作522)。输入106(图1)例如可表示查询,并且输入106可提供至认知逻辑单元104。认知逻辑单元104可从各种源中的任意一个接收该查询,诸如手动使用多种输入设备(诸如键盘、鼠标、轨迹板和/或触控屏)中的任意一个将该查询提供至认知逻辑单元104的人类用户。作为另一示例,认知逻辑单元104可从计算机程序或计算设备接收该查询。该查询可存储在非顺泰计算机可读介质中(诸如在双射集合存储器102中)。该查询可以任何可由NTM100读取的格式进行存储。
如上文所述,该查询无需以SQL或其他形式查询语言表示。该查询可以多种形式中的任意一种进行表示。例如,如图5A的示例所示,该查询可使用英文或另一自然语言编写。作为另一示例,当该查询由NTM100执行时,该查询可不指定要查询的任何特定表,无论该查询是否以形式语言编写。作为另一示例,该查询可不指定连接操作,并且NTM100当它执行该查询时可不执行连接操作,无论该查询是否以形式语言编写。
该查询可指定下述内容中的一个或多个:
·要对类的指定实例执行的演绎运算。例如,该查询可指定特定人(例如,凯伦布朗)并指定该演绎运算要对此实例执行,使得当NTM100执行该查询时,演绎模块116对指定实例(例如,凯伦布朗)执行演绎并识别该指定实例作为其中一个成员的一个或多个类(例如,丰田的购买者)。
·对指定类执行的还原运算。例如,该查询可指定特定类(例如,丰田的购买者)并指定还原操作要对此类执行,使得当NTM100执行该查询时,还原模块118对指定类(例如,丰田的购买者)执行还原并识别作为指定类的成员的一个或多个实例(例如,凯伦布朗)。
·要对一个或多个类执行的任何集合运算,诸如交、并、差和补。例如,该查询可指定将要对购买丰田的人的类和在波士顿购买车辆的人的类执行交运算。当NTM100执行这一查询时,NTM100可对指定类执行指定的集合运算,并产生获得的类(集合)作为输出。例如,NTM100可对购买丰田的人的类和在波士顿购买车辆的人的类执行交运算,并产生在波士顿购买丰田的人的类作为输出。
上文记载了该查询可“指定”一个或多个运算。应当理解,查询可以多种方式中的任意一种指定运算。例如,查询可显式地指定运算,诸如通过包括显式表示运算的关键词(例如,“演绎”)。作为另一示例,查询可隐式地指定运算,如在自然语言查询的情况下,“在波士顿购买丰田的人的电话号码是什么?”。这一查询隐式指定了演绎运算,但而不显式包括术语“演绎”或显式表示演绎运算的任意其他相似术语。取而代之的是,本发明的实施例可推断出这一自然语言查询使用本文公开的技术指定了演绎运算。
该查询可包括任意组合、任意顺序并可通过任意逻辑运算符进行连接(例如,AND,OR,NOT以及XOR)的上文指示的任意种类的运算中的一个或多个。如果该查询并不以形式查询语言编写,那么NTM100可使用多种技术的任意一种,诸如多种已知自然语言处理(NLP)技术中的任意一种,来识别由该查询指定的运算符和操作数。NTM100然后可通过对所识别的操作数执行所识别的运算符来执行查询以产生输出108,它表示对指定的操作数执行指定运算符的结果。因此,NTM100可执行以自然语言编写的查询,而无需编写该查询的人员以SQL或任意其他结构化语言编写该查询。
回到图5B,NTM100可识别并从该查询中提取由该查询指定的一个或多个运算(诸如演绎、还原、交集、并集、差集和补集)(图5B,操作524)。NTM100还可识别并从该查询中提取由该查询指定的一个或多个操作数(诸如类和/或实例)(图5B,操作526)。作为操作524和526的一部分,NTM100可指定所识别的运算和操作数之间的关联。例如,NTM100可识别出该查询指定要对由该查询指定的特定类执行特定的还原运算。作为另一示例,NTM100可识别该查询指定要对由该查询指定的特定实例执行特定的演绎运算。作为另一示例,NTM100可识别该查询指定将要对由该查询指定的两个特定类执行特定的交集运算。
然后NTM100可对每个识别的操作数执行每个识别的操作以产生查询输出,它可采用图1的输出108的形式(图5B,操作528)。执行该查询中的运算可包括执行第一运算以产生第一中间输出,然后执行第二运算以执行第二中间输出,以此类推直到产生最终输出108。可对之前产生的中间结果执行运算。
在操作524中识别的运算以及在操作526中识别的操作数可不指定任何特定的表。NTM100可自动识别要对其执行在操作524中识别的运算的表。例如,如果特定运算指定要识别作为车辆购买者的类的成员的人,那么NTM100可自动识别包含车辆购买者的表,然后可搜索该表作为执行该查询的一部分。这样,NTM100当执行该查询时可搜索一个或多个适当的表,即使该查询没有指定要搜索的表。
此外,NTM100可在不执行连接操作的情况下执行该查询。这可能是因为如上文所述双射集合存储器102中的数据已经通过将数据间的关系存储在双射集合存储器102中而被有效连接。
本发明实施例的另一优点在于它们可用于将来自两个或更多个传统数据库中的信息容易地集成在单个数据库中。例如,本发明的实施例可用于容易地合并两个或更多个银行数据库。产生的合并数据库可划分为两个或更多个分离的域。这一能力使得本发明实施例能够同时确保一致性、可用性以及分区容错性三者,相悖于CAP定理(也被称为布鲁尔定理)。CAP定理认为对于分布式计算机系统来说不可能同时提供下述三种保证:一致性(所有节点在同一时间看到相同数据),可用性(保证每个请求都接收到与它是成功还是失败相关的响应),以及分区容错性(系统继续运行,尽管由于网络故障导致产生随意分区)。本发明的实施例在分布式计算机系统中可同时提供所有这三种保证。
应理解,虽然在上文已经就特定实施例对本发明进行了描述,上述实施例仅以说明性质提供,而不限制或限定本发明的范围。多种其他实施例,包括但不限于下文,也处于权利要求的范围中。例如,本文描述的元素和组件可进一步划分为附加的组件或组合在一起形成更少的组件以执行相同的功能。
本文公开的任何功能可使用执行这些功能的装置实现。这些装置包括但不限于本文公开的组件(诸如下文描述的计算机相关组件)中的任一个。
上述技术可实现为诸如硬件、有形地存储在一个或多个计算机可读介质上的一个或多个计算机程序、固件或它们的任意组合。上述技术可实现为在可编程计算机上执行(或可由其执行的)一个或多个计算机程序,该可编程计算机包括任意数量的下述组件的任意组合:处理器、可由处理器读取和/或写入的存储介质(包括,例如,易失性和非易失性存储器和/或存储元件)、输入设备和输出设备。计算机代码可应用于使用输入设备录入的输入,以执行描述的功能并使用输出设备产生输出。
本发明的实施例包括仅仅使用一个或多个计算机、计算机处理器和/或计算机系统的其他元件才可能和/或可行的特征。这些特征或者通过脑力或者通过手动实现都是不可能的或者是不实际的。例如,本发明的实施例可在小于一秒的时间内搜索包括数千或数百万记录的知识库。作为特定示例,本发明的实施例可在小于一秒的时间内搜索包括至少一千、至少一万、至少一百万或至少一千万个记录的知识库。没有人类可那么快地执行这一搜索。如此快执行该搜索的能力为本发明的实施例提供了手动或脑力搜索无法获得的益处。
本文中的必然需要计算机、处理器、存储器或类似的计算机相关元件的任何权利要求意在需要这些元件,并且不应当被解释为如同这些元件没有出现在这些权利要求中或不被这些权利要求需要。这些权利要求不意在并且不应当被理解为覆盖缺少所记载的计算机相关元件的方法和/或系统。例如,此处记载了要求保护的方法由计算机、处理器、存储器和/或类似的计算机相关元件执行的任何方法权利要求意在并应当仅仅理解为包含由所记载的计算机相关元件执行的方法。这一方法权利要求不应当被理解为例如包含通过脑力或手动(例如,使用笔和纸)执行的方法。相似地,此处记载了要求保护的产品包括计算机、处理器、存储器和/或类似的计算机相关元件的任何产品权利要求意在并应当仅仅理解为包含包括所记载的计算机相关元件的产品。这一产品权利要求不应当被理解为例如包含不包括所记载的计算机相关元件的产品。
下文权利要求的范围内的每个计算机程序可以任何编程语言实现,诸如汇编语言、机器语言、高级程序编程序言或面向对象的编程语言。该编程语言可例如为编译或解释型的编程语言。
每个这样的计算机程序可实现在有形地实现在机器可读存储设备中的计算机程序产品中以由计算机处理器执行。本发明的方法步骤可由执行有形地实现在计算机可读介质上的程序的一个或多个处理器所执行,以通过对输入进行操作并产生输出来执行本发明的功能。作为举例,适当的处理器包括通用和专用微处理器两种。一般来说,处理器从存储器(诸如只读存储器和/或随机存取存储器)接收(读取)指令和数据并将指令和数据写入(存储至)存储器。适于有形实现计算机程序指令和数据的存储设备包括,例如,所有形式的非易失性存储器,例如半导体存储设备,包括EPROM、EEPROM和闪存设备;磁盘(诸如内部硬盘和可移动磁盘);磁光盘;以及CD-ROM。上述任意内容可通过专门设计的ASIC(专用集成电路)或FPGA(现场可编程门阵列)补充或合并在所述ASCI或FPGA中。计算机一般还可从非易失性计算机存储介质中接收(读取)程序和数据并将程序和数据写入(存储至)所述非易失性计算机存储介质中,诸如内部磁盘(未示出)或可移除磁盘。这些元件还将在传统台式或工作站计算机以及其他适于执行实现本文所述方法的计算机程序的计算机中找到,所述计算机可与任何数字打印引擎或标记引擎、显示监视器或能够在纸、胶片、显示屏或其他输出介质上产生颜色或灰度像素的其他光栅输出设备结合使用。
本文公开的任何数据可实现为诸如有形地存储在非瞬态计算机可读介质上的一个或多个数据结构。本发明的实施例可将这些数据存储在这些数据结构中并从这些数据结构中读取这些数据。
Claims (24)
1.一种由至少一个计算机处理器执行的方法,所述方法包括:
(1)在双射集合存储器中存储表示多个类和多个实例的数据;
(2)在双射集合存储器中存储表示多个类和多个实例之间的类成员关系的数据;
(3)接收表示查询的数据,其中所述查询并不指定任何表;
(4)识别由查询指定的运算;
(5)识别由查询指定的操作数;
(6)执行所述查询,包括:
(6)(a)基于所述查询,识别要搜索的表;以及
(6)(b)对操作数执行所述运算,以产生输出,所述对操作数执行所述运算包括搜索所识别的表。
2.权利要求1的方法,其中所述查询以自然语言编写。
3.权利要求1的方法,其中所述查询并不以结构化查询语言编写。
4.权利要求1的方法,其中所述查询并不以结构化语言编写。
5.权利要求1的方法,其中(1)包括在双射集合存储器中在单个表中存储表示多个类和多个实例的数据,并且其中(2)包括在双射集合存储器中在单个表中存储表示多个类和多个实例之间的类成员关系的数据。
6.权利要求1的方法,其中所述运算包括还原运算。
7.权利要求1的方法,其中所述运算包括演绎运算。
8.权利要求1的方法,其中所述运算包括交运算。
9.权利要求1的方法,其中所述运算包括并运算。
10.权利要求1的方法,其中所述运算包括差运算。
11.权利要求1的方法,其中所述运算包括补运算。
12.权利要求1的方法,其中(1)、(2)、(3)、(4)、(5)和(6)由非确定性图灵机执行。
13.包括存储于其上的计算机程序指令的非瞬态计算机可读介质,其中所述计算机程序指令可由至少一个计算机处理器执行以执行方法,所述方法包括:
(1)在双射集合存储器中存储表示多个类和多个实例的数据;
(2)在双射集合存储器中存储表示多个类和多个实例之间的类成员关系的数据;
(3)接收表示查询的数据,其中所述查询并不指定任何表;
(4)识别由查询指定的运算;
(5)识别由查询指定的操作数;
(6)执行所述查询,包括:
(6)(a)基于所述查询,识别要搜索的表;以及
(6)(b)对操作数执行所述运算,以产生输出,所述对操作数执行所述运算包括搜索所识别的表。
14.权利要求13的非瞬态计算机可读介质,其中所述查询以自然语言编写。
15.权利要求13的非瞬态计算机可读介质,其中所述查询并不以结构化查询语言编写。
16.权利要求13的非瞬态计算机可读介质,其中所述查询并不以结构化语言编写。
17.权利要求13的非瞬态计算机可读介质,其中(1)包括在双射集合存储器中在单个表中存储表示多个类和多个实例的数据,并且其中(2)包括在双射集合存储器中在单个表中存储表示多个类和多个实例之间的类成员关系的数据。
18.权利要求13的非瞬态计算机可读介质,其中所述运算包括还原运算。
19.权利要求13的非瞬态计算机可读介质,其中所述运算包括演绎运算。
20.权利要求13的非瞬态计算机可读介质,其中所述运算包括交运算。
21.权利要求13的非瞬态计算机可读介质,其中所述运算包括并运算。
22.权利要求13的非瞬态计算机可读介质,其中所述运算包括差运算。
23.权利要求13的非瞬态计算机可读介质,其中所述运算包括补运算。
24.权利要求13的非瞬态计算机可读介质,其中(1)、(2)、(3)、(4)、(5)和(6)由非确定性图灵机执行。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462043465P | 2014-08-29 | 2014-08-29 | |
US62/043,465 | 2014-08-29 | ||
US14/835,231 US9418137B2 (en) | 2014-08-29 | 2015-08-25 | Database without structured query language |
US14/835,231 | 2015-08-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105404662A true CN105404662A (zh) | 2016-03-16 |
CN105404662B CN105404662B (zh) | 2018-06-19 |
Family
ID=55402746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510746628.0A Expired - Fee Related CN105404662B (zh) | 2014-08-29 | 2015-08-29 | 不使用结构化查询语言的数据库 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9418137B2 (zh) |
CN (1) | CN105404662B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205453A (zh) * | 2017-12-28 | 2018-06-26 | 深圳市国华光电科技有限公司 | 面向大数据的时限图灵机方法和系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10936613B2 (en) | 2017-05-03 | 2021-03-02 | Servicenow, Inc. | Table-per-partition |
KR20210064959A (ko) * | 2019-11-26 | 2021-06-03 | 주식회사 넥슨코리아 | 플랫폼 서버를 통해 제공되는 광고를 관리하는 광고 관리 장치 및 광고 관리 장치의 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611841B1 (en) * | 1999-04-02 | 2003-08-26 | Abstract Productions, Inc. | Knowledge acquisition and retrieval apparatus and method |
CN1622095A (zh) * | 2004-12-27 | 2005-06-01 | 中国科学院软件研究所 | 可扩展标记语言文件存储及插入关系数据库表的方法 |
CN1838159A (zh) * | 2006-02-14 | 2006-09-27 | 北京未名博思生物智能科技开发有限公司 | 一种认知逻辑机器及其处理信息的方法 |
US7418369B2 (en) * | 2001-09-07 | 2008-08-26 | The Trustees Of Princeton University | Method and system for efficient implementation of boolean satisfiability |
CN101542460A (zh) * | 2006-11-20 | 2009-09-23 | 微软公司 | 并行化的约束满足问题解算机中的无锁状态合并 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247164B1 (en) | 1997-08-28 | 2001-06-12 | Nec Usa, Inc. | Configurable hardware system implementing Boolean Satisfiability and method thereof |
US6038392A (en) | 1998-05-27 | 2000-03-14 | Nec Usa, Inc. | Implementation of boolean satisfiability with non-chronological backtracking in reconfigurable hardware |
US6728728B2 (en) | 2000-07-24 | 2004-04-27 | Israel Spiegler | Unified binary model and methodology for knowledge representation and for data and information mining |
DE10214675A1 (de) | 2002-04-03 | 2003-10-16 | Haarmann & Reimer Gmbh | Neue alicyclische Ester mit Moschusgeruch |
US7120569B2 (en) | 2003-05-19 | 2006-10-10 | Javier Armando Arroyo-Figueroa | Sequential machine for solving boolean satisfiability (SAT) problems in linear time |
US7197502B2 (en) | 2004-02-18 | 2007-03-27 | Friendly Polynomials, Inc. | Machine-implemented activity management system using asynchronously shared activity data objects and journal data items |
US7194710B2 (en) | 2004-03-23 | 2007-03-20 | Fujitsu Limited | Scheduling events in a boolean satisfiability (SAT) solver |
US7565634B1 (en) | 2004-10-20 | 2009-07-21 | The Regents Of The University Of California, Santa Cruz | Massively parallel boolean satisfiability implication circuit |
WO2007006144A1 (en) | 2005-07-11 | 2007-01-18 | D-Wave Systems Inc. | Systems, methods and apparatus for factoring numbers |
US8126831B2 (en) | 2008-01-24 | 2012-02-28 | Nec Laboratories America, Inc. | System and method for dynamically inferring data preconditions over predicates by tree learning |
US8001072B2 (en) | 2008-06-19 | 2011-08-16 | Microsoft Corporation | Determining satisfiability of a function with arbitrary domain constraints |
US8214352B2 (en) | 2008-11-26 | 2012-07-03 | Hewlett-Packard Development Company | Modular query optimizer |
US8700674B2 (en) | 2009-07-14 | 2014-04-15 | Hewlett-Packard Development Company, L.P. | Database storage architecture |
US8290931B2 (en) | 2010-02-22 | 2012-10-16 | Hewlett-Packard Development Company, L.P. | Database designer |
US20110218978A1 (en) | 2010-02-22 | 2011-09-08 | Vertica Systems, Inc. | Operating on time sequences of data |
US20130179378A1 (en) | 2010-08-04 | 2013-07-11 | Sherwin Han | Knowledge Reasoning Method of Boolean Satisfiability (SAT) |
US9031890B2 (en) | 2010-08-04 | 2015-05-12 | Sherwin Han | Inverse function method of boolean satisfiability (SAT) |
US10380269B2 (en) | 2011-06-07 | 2019-08-13 | Entit Software Llc | Sideways information passing |
US20140207839A1 (en) | 2011-07-26 | 2014-07-24 | Sherwin Han | Spatial Arithmetic Method of Integer Factorization |
US8862609B2 (en) * | 2012-09-28 | 2014-10-14 | International Business Machines Corporation | Expanding high level queries |
CN104395900B (zh) | 2013-03-15 | 2017-08-25 | 北京未名博思生物智能科技开发有限公司 | 序列比对的空间计数运算方法 |
CN105190632B (zh) | 2013-04-04 | 2018-06-05 | 韩小文 | 构造非确定性(np)图灵机的多项式方法 |
-
2015
- 2015-08-25 US US14/835,231 patent/US9418137B2/en active Active
- 2015-08-29 CN CN201510746628.0A patent/CN105404662B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611841B1 (en) * | 1999-04-02 | 2003-08-26 | Abstract Productions, Inc. | Knowledge acquisition and retrieval apparatus and method |
US7418369B2 (en) * | 2001-09-07 | 2008-08-26 | The Trustees Of Princeton University | Method and system for efficient implementation of boolean satisfiability |
CN1622095A (zh) * | 2004-12-27 | 2005-06-01 | 中国科学院软件研究所 | 可扩展标记语言文件存储及插入关系数据库表的方法 |
CN1838159A (zh) * | 2006-02-14 | 2006-09-27 | 北京未名博思生物智能科技开发有限公司 | 一种认知逻辑机器及其处理信息的方法 |
CN101542460A (zh) * | 2006-11-20 | 2009-09-23 | 微软公司 | 并行化的约束满足问题解算机中的无锁状态合并 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205453A (zh) * | 2017-12-28 | 2018-06-26 | 深圳市国华光电科技有限公司 | 面向大数据的时限图灵机方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US9418137B2 (en) | 2016-08-16 |
US20160063084A1 (en) | 2016-03-03 |
CN105404662B (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kyzirakos et al. | Strabon: A semantic geospatial DBMS | |
CN107622103B (zh) | 管理数据查询 | |
Arora et al. | Modeling and querying data in mongodb | |
US10831752B2 (en) | Semantic relational database operations | |
Hamouda et al. | Document-oriented data schema for relational database migration to NoSQL | |
US9342788B2 (en) | Polynomial method of constructing a non-deterministic (NP) turing machine | |
Petersohn et al. | Flexible rule-based decomposition and metadata independence in modin: a parallel dataframe system | |
Michel et al. | Translation of Heterogeneous Databases into RDF, and Application to the Construction of a SKOS Taxonomical Reference | |
CN115617773A (zh) | 数据迁移的方法、装置和系统 | |
CN105404662A (zh) | 不使用结构化查询语言的数据库 | |
Ha et al. | Translating a distributed relational database to a document database | |
Barret et al. | Exploring heterogeneous data graphs through their entity paths | |
Dourhri et al. | A new algorithm for data migration from a relational to a nosql oriented column database | |
Rahm et al. | Holistic Schema Matching. | |
Sattler et al. | Interactive example-driven integration and reconciliation for accessing database federations | |
Hasan et al. | An approach for data transformation in homogeneous and heterogeneous information systems | |
CN108241624A (zh) | 一种查询脚本的生成方法及装置 | |
US11423027B2 (en) | Text search of database with one-pass indexing | |
Fathollahzadeh et al. | GIO: Generating Efficient Matrix and Frame Readers for Custom Data Formats by Example | |
Ilyas | Data unification at scale: data tamer | |
US11422782B1 (en) | Transforming logic programming language code into structured query language code | |
Ravindra et al. | Scalable processing of flexible graph pattern queries on the cloud | |
van Leeuwen | Lambda Calculus Syntax’s Definition and Completeness As Graph Database Querying Language | |
JP2023162084A (ja) | 一般化エンティティマッチングのためのシステムおよび方法 | |
Vasconcelos | On the support of the similarity-aware division operator in a relational database management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180619 |