CN1299489A - 利用相关数据库实现非循环定向图形结构的方法 - Google Patents
利用相关数据库实现非循环定向图形结构的方法 Download PDFInfo
- Publication number
- CN1299489A CN1299489A CN99805869A CN99805869A CN1299489A CN 1299489 A CN1299489 A CN 1299489A CN 99805869 A CN99805869 A CN 99805869A CN 99805869 A CN99805869 A CN 99805869A CN 1299489 A CN1299489 A CN 1299489A
- Authority
- CN
- China
- Prior art keywords
- node
- record
- lattice structure
- table lattice
- routing table
- 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
Images
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/954—Relational
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种利用计算机关系数据库系统来实施非循环定向图形结构的方法。表示非循环绘图块的一种有利的关系数据库结构可以通过创建三种表格结构来获得,这三种表格结构用于存储绘图块中各节点之间的相互关系及其它特性。节点表格存储绘图块中每个节点之间的相互关系和分配给各节点的特性。边表格存储定向链接的各节点及所链接的方向的指示。路径表格存储定向或非定向链接的各节点及其各路径的方向的指示。还公开了用于以一致方式维护数据库结构的方法。
Description
发明领域
本发明涉及利用相关数据库实现非循环定向图形结构(acyclic directedgraph structure)的方法。非循环绘图块(diagraph)结构频繁地用于模型化现实世界分层系统(model real world hierarchy system)。这种可使用非循环绘图块结构的分层系统举例来说有家庭树结构、面向对象的关系模型、网络路由结构等。
发明背景
尽管非循环绘图块结构在真实世界中很流行,但极少有计算机应用程序实际采用这种模型。应用程序的开发者则是喜欢使用另一种类似模型即定向树结构(directed tree structure)来仿真非循环绘图块系统,或者另外产生非循环绘图块的“景象(views)”并用定向树结构来表示这种景象。
应用程序的编程者门之所以趋向于避免使非循环绘图块结构模型化的主要原因是由于这种结构的复杂性,以及实施和维护这种结构的复杂性。
一个图形是由节点(nodes)(或者点(points)或者顶点(vertices))及边(edges)(或者连线(links)或者弧线(arcs))组成的数学系统。下面是从由Jean-PaulTremblay和Paul G Sorenson所著的一本书中摘录的对于图形的数学定义(ISBN0-07-065157-4):
“一个图形G由下列部分组成:称为该图形的节点(点、顶点)集合的一个非空集合V、作为该图形的边集合的一个集合E、以及从边的集合E到单元对集合V的一个映射。
我们可以假定一个图形的两个集合V和E都是有限集合。也可以方便地将一个图形写作G=(V、E)。请注意一个图形的定义隐含着这样的意思:对于图形G的每一条边,我们可以将该图形的一对节点与其关联。如果一条边x∈E是这样与一对节点(u,v)相关联的,其中u,v∈V,则我们可以说这条边x连接或者接合节点u和v。由一个图形中的一条边连接的任何两个节点都称为相邻节点。
在一个图形G=(V,E)中,从一个节点指向另一个节点的一条边称为一条定向边,而没有特定方向的一条边称为一条非定向边。其中每条边都被定向的图形称为定向图形或者绘图块”。
除了上述定义以外,这本书还给出了下面的附加定义:
“一个绘图块的各条边的任何顺序都定义了该图形的一条路径,其中这种顺序使得该顺序中的任何边的终节点都是该顺序中下一个要出现的边(如果有的话)的始节点。一条路径是指从所述顺序中第一条边的始节点开始,到所述顺序中最后一条边的终节点结束,从而穿过出现在该顺序中的各个节点。”
“以同一个节点开始和结束的一条路径称为一个循环(回路)。”
“没有任何循环的一个简单的绘图块称为非循环式的。”
从上面的定义中,一个非循环绘图块的特性可总结如下:
1.其结构仅由节点和边组成;
2.各条边是非定向的;
3.任何两个节点之间的定向关系由一条边的最大值来表示;
4.任何两个节点之间的非定向关系或路径可通过多个边与其它节点相存在;
5.每个节点可以有一个或多个子节点;
6.每个节点可以有一个或多个父节点;
7.任何给定的节点都可以存在祖先节点,该祖先节点由所有的后续父节点或者特定节点组成;
8.任何给定的节点都可以存在后代节点,该后代节点由所有的后续后代节点或者特定节点组成;
9.一个节点的祖先不能是该相同节点的后代;
10.任何给定的非循环绘图块结构都存在一个逆结构。任何给定的非循环绘图块结构与其逆结构是相同结构,只是所有边的方向相反。
在计算机中存储并操纵非循环绘图块结构的传统方法是采用第三代编程语言来完成的。这基本上涉及将定义的存储器存储区域用作节点,并将指针用作边。采用C代码的例子如下:
struct Node (
char nodename[10]
struct Node *nextnode[4])
其中nodename表示实际节点,而nextnode表示到另一个节点的边。这种结构的运行可采用函数或程序来编程。这种函数的例子有“InsertNode(插入节点)”、“Delete Node(删除节点)”、“Attach Node(附加节点)”等。
尽管这种方法可有效地实施一个非循环绘图块,但还有几点关于这种实施的复杂性和可靠性的考虑:
1.与一个节点相关的各条边的最大数目必须事先知道;
2.很难找出各节点之间路径的存在,因为所有可能的路径都必须在得出结论之前穿过;
3.没有考虑到这种结构关于数据库协调性和整体性方面的可靠性;
4.没有可行的节点锁存机制,因而将这种结构的使用限制为一个用户或者在一个时间内操作;
5.当使用第三代语言时可能会遇到关于存储器分配或丢失指针方面的问题,这些问题可以导致整个程序崩溃。
尽管一个训练的编程者可能能够避开所有这些限制,但忙于避开每一个这些限制只会进一步增加所做编程的复杂性。此外,由于每件事情都是通过编程来完成的,更有可能在系统中隐藏缺陷(bugs),因而系统维护会显得非常困难和耗时。
本发明的概述
本发明提供了一种通过使用关系数据库来存储和操纵非循环定向图形结构的替代方法。
按照本发明,提供了一种利用计算机运行的关系数据库来产生非循环定向图形结构或者非循环绘图块的方法,该非循环绘图块包括相互定向连接的多个节点,这些节点的连接使得每一个节点在前向连接方向上具有至少一个子节点和/或在反向连接方向上具有至少一个父节点,所述方法包括:
产生一个节点表格结构,该节点表格结构表示非循环绘图块中每个节点之间的相互关系和至少一种节点特性;
产生一个边表格结构,该边表格结构表示非循环绘图块中每个定向连接的节点对之间的相互关系;和
产生一个路径表格结构,该路径表格结构表示非循环绘图块中任何两个节点之间路径的存在性。
本发明还提供了一种在关系数据库系统中的计算机存储数据结构,用于表示一非循环绘图块,该非循环绘图块包括相互定向连接的多个节点,这些节点的连接使得每一个节点在前向连接方向上具有至少一个子节点和/或在反向连接方向上具有至少一个父节点,所述数据结构包括:
一个节点表格结构,指示所述非循环绘图块中每个节点之间的相互关系和至少一种节点特性,所述节点表结构包括用于所述非循环绘图块中的每个节点的记录,每个节点表格结构记录包括一节点标识字段和至少一个节点特性字段;
一个边表格结构,指示所述非循环绘图块中每一对连接的父和子节点之间的相互关系,所述边表格结构包括用于每一对父和子连接节点的记录,每个边表格结构记录包括用以识别所述父节点和所述子节点的相应字段;和
一个路径表格结构,指示所述非循环绘图块中任何两个节点之间路径的存在性,所述路径表格结构包括用于每一对父和子连接节点和每一对其中两个节点通过中介连接的祖先和后代连接节点的记录,每个路径表格结构记录包括用以识别每一个节点对的相应字段。
一种维护如上所述的由本发明提供的数据结构的方法,包括:
一节点创建程序,用于通过使用所述节点识别字段中的一个唯一值将一条新记录插入到所述节点表格结构中而在所述非循环绘图块中创建一新节点;
一节点链接程序,用于将所述非循环绘图块中的一子节点链接到一父节点,包括下列步骤:
将一条新记录插入到所述边表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;
将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;
从所述路径表格结构中选择连接到所述父节点的每一个祖先节点,并将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和每一个祖先节点以及从所述祖先节点到所述子节点的连接方向;和
从所述路径表格结构中选择所述子节点所连接的每一个后代节点,并将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和每一个后代节点以及从所述子节点到所述后代节点的连接方向;
一节点解链接程序,用于将所述非循环绘图块中的一子节点与一父节点解链接,包括下列步骤:
从所述边表格结构中去除用以识别所述子节点和所述父节点的记录;
从所述路径表格结构中去除用以识别所述子节点的每一个记录;
从所述路径表格结构中选择并去除用以识别所述父节点的一祖先节点和所述子节点的一后代节点的记录;和
从识别所述父节点的一祖先节点的记录开始,系统化地查看所述边表格结构,以确定从所述父节点的一祖先节点到所述子节点的一后代节点的任何路径,查看所述路径表格结构,以了解是否由一条路径表格结构记录识别出任何这种路径,并且,如果所述路径表格结构中不存在这种路径,则将一条识别所述路径的新记录插入到所述路径表格结构中;和
一去除节点程序,用于从所述非循环绘图块中去除已被解链接的一节点,包括从所述节点表格结构中去除识别所述被解链接的节点的记录。
附图的简要说明
下面将通过举例方式参照附图对本发明进行更详细的说明,附图中:
图1是非循环定向图形结构的典型图示;和
图2是另一种非循环绘图块结构的例子。
优选实施例的详细描述
下面描述的是利用商用相关数据库实现非循环绘图块结构的方法。从如何存储、恢复、更新和维护结构中的各项目这些方面来描述各种操作。
使用商用数据库的优点如下:
1.能以负担得起的价格从市面上当时得到;
2.能加快应用程序开发时间;
3.利用了关系数据库的强度。这包括可靠性、入网工作能力、索引能力等;
4.关系数据库建立在集合原理和拓扑计算法这些数学概念的基础上。将这些概念应用于非循环绘图块结构的操作。
本发明的优选形式采用三种数据库表格。这些表格为:
1.节点表格
这种表格存储每个节点的特性。必须使用一个关键字段来唯一地识别每个节点。任何数目的附加字段也可以用于表示节点的附加特性。因此,这种表格中的每一条记录将表示非循环定向树结构中的一个节点。
2.边表格
这种表格存储任何两个节点之间的相互关系。它必须包括至少两个字段,一个是父字段(或始节点字段),一个是子字段(或终节点字段)。因此,这种表格中的每一条记录将表示非循环定向图形结构中的一条边。
3.路径表格
这种表格列出任何两个节点之间的路径。这种表格必须包括至少两个字段,一个是祖先字段(路径的始节点),一个是后代字段(路径的终节点)。因此,这种表格中的每一条记录将表示非循环定向图形结构中的一条路径。请注意,这种表格没有列出任何两个节点之间的路由,而是仅仅列出任何两个节点之间路径的存在性,所述路由必须通过详细研究(traverse)边表格来得出。这样就足够了,因为它会表示出两个节点之间的相互关系。
保持所有三个表格之间的整体性很重要。下面的规则可用于保证维护整体性:
1.父字段、子字段、祖先字段和后代字段中的每个值必须能够映射到所述节点表格中的一个关键字段记录;
2.在路径表格中表示的所有路径都必须能够通过利用所述边表格详细研究各节点而再现出来;
3.通过详细研究所述边表格中的各节点而可以追踪的所述结构中所有可能的路径都表示在所述路径表格中。
如果保持这三个规则,那么所述的三种表格就会表示一非循环定向图形结构。请注意,这种方法也允许多于一个的非循环绘图块结构在任何一个时间内存在于数据库中,还允许不同的结构合并在一起,或者分裂为两种不同的结构。还请注意,这种技术也允许人们不仅可以表示一非循环定向图形结构,还可以表示其逆结构。关系数据库中这种结构的例子由下面的表1、2和3来表示,并且在图1中以图表形式示出。
表1:节点表格
节点 | 特性(色彩) |
1 | 蓝色 |
2 | 绿色 |
3 | 蓝色 |
4 | 红色 |
5 | 褐色 |
6 | 绿色 |
7 | 红色 |
8 | 蓝色 |
9 | 紫色 |
10 | 褐色 |
11 | 绿色 |
12 | 蓝色 |
13 | 紫色 |
14 | 蓝色 |
15 | 红色 |
表2:边表格
父 | 子 |
1 | 6 |
1 | 4 |
2 | 9 |
2 | 7 |
2 | 5 |
3 | 5 |
3 | 8 |
4 | 9 |
5 | 13 |
6 | 9 |
6 | 10 |
7 | 11 |
7 | 12 |
7 | 13 |
8 | 14 |
9 | 15 |
11 | 15 |
表3:路径表格
祖先 | 后代 |
1 | 4 |
1 | 6 |
1 | 9 |
1 | 10 |
1 | 15 |
2 | 5 |
2 | 7 |
2 | 9 |
2 | 11 |
2 | 12 |
2 | 13 |
2 | 15 |
3 | 5 |
3 | 8 |
3 | 13 |
3 | 14 |
4 | 9 |
4 | 15 |
5 | 13 |
6 | 9 |
6 | 10 |
7 | 11 |
7 | 12 |
7 | 13 |
8 | 14 |
9 | 15 |
11 | 15 |
为了有效地操纵非循环定向图形结构,需要定义几种操作。下面就是对各种操作以及如何实施这些操作的作为样品的Microsoft SQL服务器代码的描述。
创建节点
这种操作在结构中创建一个新的节点。结构中的一个新节点由节点表格中的一条新记录来表示。还必须产生新的关键值以唯一识别该新节点。也可以为新节点规定一个或多个附加特性。新节点一旦建立,则会与结构的其它部分独立存在。它必须链接到已经存在于结构中的一节点并成为该结构的一部分。
例子:
INSERT INTO node_table(node,property)
VALUES(16,Blue);
去除节点
这种操作从结构中完全去除一个节点。请注意该节点在其被去除之前必须首先与所有其它节点解链接。
链接节点
这种操作将结构中的一节点(子节点)链接到另一节点(父节点)。通过链接这两个节点,还可在结构中形成新的路径。这种算法的一部分是要保证结构的整体性。这种算法为:
1.确定是否将由链接操作形成一循环路径。(这可以通过保证要链接的子节点不能已经是要链接的父节点的祖先节点而容易地做到)。如果将会形成循环路径,则程序终止,因为所得的结构将不会是非循环的。
2.将子节点链接到父节点。
3.确定是否有至少一条新路径已经存在于所述结构中。(如果至少一条新路径已经存在,则所有可能的新路径应当已经存在于所述结构中)。
4.如果路径已经存在则结束操作,否则便继续到下一步。
5.产生所有新路径的一列表,并将相应记录增加到所述路径表格中。这可以通过下列操作来完成:
ⅰ)将所述父节点的所有祖先作为所述子节点的后代的祖先而增加到所述路径表格中。
ⅱ)将所述父节点的所有祖先作为所述子节点的祖先而增加到所述路径表格中。
ⅲ)将所述子节点的所有后代作为所述父节点的后代而增加到所述路径表格中。
ⅳ)将所述父节点和子节点分别作为祖先和后代增加到所述路径表格中。
链接操作的例子:
CREAT PROCEDURE Link@parent_node,@child_node AS DECLARE @ancestor int DECLARE @testcount int DECLARE nodeancestor INSENSITIVE CURSOR FOR SELECT DISTINCT ancestor FROM path_table WHERE descendant=@parent_node <dp n="d10"/> BEGIN SELECT @testcount=COUNT(ancestor) FROM path_table WHERE descendant=@parent_node AND ancestor=@child_node IF @testcount>0 BEGIN RAISERROR(‘Illegal Link,Cyclic path not allowed’,16,- l) RETURN END INSERT INTO edge_table(parent,child) VALUES @parent_node,@child_node SELECT @testcount=COUNT(ancestor) FROM path_table WHERE ancestor=@parent_node AND descendant=@child_node IF @testcount>0 BEGIN RETURN /*Path already exist in structure*/ END OPEN nodeancestor FETCH nodeancestor INTO @ancestor WHILE @@fetch_status=0 BEGIN <dp n="d11"/> INSET INTO path_table(ancestor,descendant) SELECT @ancestor,descendant FROM path_table WHERE ancestor=@child_node AND descendant NOT IN (SELECT descendant FROM path_table WHERE ancestor=@ancestor) INSERT INTO path_table(ancestor,descendant) SELECT DISTINCT parent,@child_node FROM edge_table WHERE parent=@ancestor AND child_node NOT IN (SELECT descendant FROM path_table WHERE ancestor=@ancestor) FETCH nodeancestor INTO @ancestor END INSERT INTO path_table(ancestor,descendant) SELECT @parent_node,descendant FROM path_table WHERE ancestor=@child_node AND descendant NOT IN (SELECT descendant FROM path_table WHERE ancestor=@parent_node ) INSERT INTO path_table(ancestor,descendant) SELECT DISTINCT parent,@child_node <dp n="d12"/> FROM edge_table WHERE parent=@parent_node AND @child_node NOT IN (SELECT descendant FROM path_table WHERE ancestor=@parent_node ) END
对节点解链接
这种操作将结构中的一节点(子节点)与另一节点(父节点)解链接。通过对任意两个节点解链接,路径表格需要被更新以反映某些路径不再有效。用于解链接操作的算法可表达为:
1.从边表格中去除所述父节点和子节点之间的链接。将该子节点链接到父节点。
2.从路径表格中去除所述父节点的各祖先和所述子节点的各后代之间的所有链接。
3.从路径表格中去除所述父节点和子节点之间的链接。
4.在路径表格之后增加可通过可替代路径存在于所述父节点的各祖先和所述子节点的各后代之间的所有链接。
5.在路径表格之后增加经由可替代路由的所述父节点和所述子节点之间的链接(如果这种路径的确存在的话)。
解链接操作的例子:
CREAT PROCEDURE unlink @parent_node@child_node AS DECLARE @ancestor int DECLARE @testcount int DECLARE nodeancestor SCROLL CURSOR FOR SELECT DISTINCT path_table1.ancestor FROM path_table as path_tablel INNER JOIN path_table as path_table2 ON path_table1.ancestor=path_table2.ancestor <dp n="d13"/> WHERE path_table1.descendant=@child_node AND (path_table2.descendant=@parent_node OR path_table1.ancestor=@parent_node) BEGIN SELECT FROM edge_table WHERE parent=@parent_node AND child=@child_node OPEN nodeancestor FETCH FIRST nodeancestor INTO @ancestor WHILE @@fetch_status=0 BEGIN DELETE FROM path_table WHERE ancestor=@ancestor AND (descendant IN ( SELECT descendant FROM path_table WHERE ancestor=@child_node) OR descendant=@class_node) FETCH NEXT nodeancestor INTO@ancestor END FETCH FIRST nodeancestor INTO@ancestor WHILE @@fetch_status=0 BEGIN INSERT INTO path_table(ancestor,descendant) SELECT @ancestor,child FROM edge_table INNER JOIN path_table ON parent=descendant WHERE ancestor=@ancestor <dp n="d14"/> AND child NOT IN (SELECT descendant FROM path_table WHERE ancestor=@ancestor) INSERT INTO path_table(ancestor,descendant) SELECT @ancestor,child FROM edge_table WHERE parent=@ancestor AND child NOT IN (SELECT descendant FROM path_table WHERE ancestor=@ancestor) FETCH NEXT FROM nodeancestor INTO@ancestor END END
这种技术如何应用的一个例子是分类系统(Classification System)。一个商业目录可能会有数百个产品和服务类别。这些类别可以组织到定向图形结构中。一种样品分类结构的一部分示例示于图2中。
利用所描述的表示这种分类系统的技术,可列出下列表格:
表4:节点表格
节点 | 分类 |
1 | 流量控制设备 |
2 | 阀门 |
3 | 泵 |
4 | 废物处理设备 |
5 | 空气泵 |
6 | 酸剂泵 |
7 | 污水泵 |
8 | 污水过滤器 |
表5:边表格
父 | 子 |
1 | 2 |
1 | 3 |
3 | 5 |
3 | 6 |
3 | 7 |
4 | 7 |
4 | 8 |
表6:路径表格
祖先 | 后代 |
1 | 2 |
1 | 3 |
1 | 5 |
1 | 6 |
1 | 7 |
3 | 5 |
3 | 6 |
3 | 7 |
4 | 7 |
4 | 8 |
因此就有可能将公司(company)与任何给定的类别相联系,为此,确保所有的祖先类别也可以“固有(inherit)”这种相互关系。例如,假定想要通过将一条记录插入到一个被特殊建立以表示这种相互关系的一表格中,而将公司“Caterpillar Pumps Ltd(凯特比勒泵有限公司)”与“空气泵”联系起来。下面的表格就是结果:
公司分类表
分类节点 | 公司 |
5 | 凯特比勒泵有限公司 |
然后,该路径表格可用于将同样的关系反映到祖先类别。用SQL语句实现的样例为:
INSERT INTO company_classification_table SELECT ancestor,“Caterpillar Pumps Ltd” FROM path_table WHERE descendant=5
于是,所得表格为:
分类节点 | 公司 |
1 | 凯特比勒泵有限公司 |
3 | 凯特比勒泵有限公司 |
5 | 凯特比勒泵有限公司 |
如果还有公司想加入到该系统,比如说将“Calpeda Valves Ltd(凯尔比达阀门有限公司)”加到类别“阀门”,并且将“Green Treatment Ltd(格林处理有限公司)”加到类别“污水泵”,则所得表格为:
同样的表格,但通过分类而存储之后,将成为
分类节点 | 公司 |
1 | 凯特比勒泵有限公司 |
3 | 凯特比勒泵有限公司 |
5 | 凯特比勒泵有限公司 |
1 | 凯尔比达阀门有限公司 |
2 | 凯尔比达阀门有限公司 |
1 | 格林处理有限公司 |
3 | 格林处理有限公司 |
4 | 格林处理有限公司 |
7 | 格林处理有限公司 |
分类节点 | 公司 |
1 | 凯特比勒泵有限公司 |
1 | 凯尔比达阀门有限公司 |
1 | 格林处理有限公司 |
2 | 凯尔比达阀门有限公司 |
3 | 凯特比勒泵有限公司 |
3 | 格林处理有限公司 |
4 | 格林处理有限公司 |
5 | 凯特比勒泵有限公司 |
7 | 格林处理有限公司 |
因此,能够快速维护正确的“遗传(inheritance)”结构,而不需要找出根节点,也不需要详细研究任何路径。
上面对本发明优选实施例的详细描述已经通过举例形式表示出,但并不打算将由所附权利要求书限定的本发明限制为上述说明。
Claims (21)
1.一种利用计算机运行的关系数据库来产生非循环定向图形结构或者非循环绘图块的方法,该非循环绘图块包括相互定向连接的多个节点,这些节点的连接使得每一个节点在前向连接方向上具有至少一个子节点和/或在反向连接方向上具有至少一个父节点,所述方法包括:
产生一个节点表格结构,该节点表格结构表示非循环绘图块中每个节点之间的相互关系和至少一种节点特性;
产生一个边表格结构,该边表格结构表示非循环绘图块中每个定向连接的节点对之间的相互关系;和
产生一个路径表格结构,该路径表格结构表示非循环绘图块中任何两个节点之间路径的存在性。
2.如权利要求1所述的方法,其中,所述节点表格结构包括用于所述非循环绘图块中的每个节点的记录,每个节点表格结构记录包括一节点标识字段和至少一个节点特性字段。
3.如权利要求1所述的方法,其中,所述边表格结构包括用于每个定向连接的节点对的记录,每个边表格结构记录包括用以识别每个节点对的相应字段。
4.如权利要求3所述的方法,其中,每个边表格结构记录中的字段顺序表示在该记录中识别的各节点的连接方向。
5.如权利要求1所述的方法,其中,所述路径表格结构包括用于每个定向连接的节点对和每个非定向连接的节点对的记录,每个路径表格结构记录包括用以识别每一个节点对的相应字段。
6.如权利要求5所述的方法,其中,包含在所述边表格结构中的数据包括包含在所述路径表格结构中的数据的子集。
7.如权利要求5所述的方法,其中,每个路径表格结构记录中的字段顺序表示在该记录中识别的各节点的连接方向。
8.如权利要求1所述的方法,其中:
所述节点表格结构包括用于所述非循环绘图块中每个节点的记录,每个节点表格结构记录包括一节点标识字段和至少一个节点特性字段;
所述边表格结构包括用于每个定向连接的节点对的记录,每个边表格结构记录包括用以识别每个节点对的相应字段,每个边表格结构记录中的字段顺序表示在该记录中识别的各节点的连接方向;和
所述路径表格结构包括用于每个定向连接的节点对和每个非定向连接的节点对的记录,每个路径表格结构记录包括用以识别每个节点对的相应字段,每个路径表格结构记录中的字段顺序表示在该记录中识别的各节点的连接方向。
9.如权利要求8所述的方法,包括一节点创建程序,用于通过使用所述节点识别字段中的一个唯一值将一条新记录插入到所述节点表格结构中而在所述非循环绘图块中创建一新节点。
10.如权利要求9所述的方法,包括一节点链接程序,用于将所述新节点作为子节点链接到所述非循环绘图块中的一个父节点,包括下列步骤:
将一条新记录插入到所述边表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;
将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;和
从所述路径表格结构中选择连接到所述父节点的每一个祖先节点,并将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和每一个祖先节点以及从所述祖先节点到所述子节点的连接方向。
11.如权利要求8所述的方法,包括一节点链接程序,用于将一子节点链接到所述非循环绘图块中的一个父节点,包括下列步骤:
将一条新记录插入到所述边表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;
将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;
从所述路径表格结构中选择连接到所述父节点的每一个祖先节点,并将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和每一个祖先节点以及从所述祖先节点到所述子节点的连接方向;和
从所述路径表格结构中选择所述子节点所连接的每一个后代节点,并将一条新记录插入到所述路径表格结构中,该记录用以识别所述父节点和每一个后代节点以及从所述父节点到所述后代节点的连接方向;
12.如权利要求8所述的方法,包括一节点解链接程序,用于将所述非循环绘图块中的一子节点与一父节点解链接,包括下列步骤:
从所述边表格结构中去除用以识别所述子节点和所述父节点的记录;
从所述路径表格结构中去除用以识别所述子节点的每一个记录;
从所述路径表格结构中选择并去除用以识别所述父节点的一祖先节点和所述子节点的一后代节点的每一个记录;和
从识别所述父节点的一祖先节点的记录开始,系统化地查看所述边表格结构,以确定从所述父节点的一祖先节点到所述子节点的一后代节点存在的任何其它路径,查看所述路径表格结构,以了解是否由一条路径表格结构记录识别出任何这种路径,并且,如果所述路径表格结构中不存在这种路径,则将一条识别所述路径的新记录插入到所述路径表格结构中。
13.如权利要求12所述的方法,包括一去除节点程序,用于从所述非循环绘图块中去除已被解链接的一节点,包括从所述节点表格结构中去除识别所述被解链接的节点的记录。
14.一种在关系数据库系统中的计算机存储数据结构,用于表示一非循环绘图块,该非循环绘图块包括相互定向连接的多个节点,这些节点的连接使得每一个节点在前向连接方向上具有至少一个子节点和/或在反向连接方向上具有至少一个父节点,所述数据结构包括:
一个节点表格结构,存储所述非循环绘图块中每个节点之间的相互关系和至少一种节点特性,所述节点表结构包括用于所述非循环绘图块中的每个节点的记录,每个节点表格结构记录包括一节点标识字段和至少一个节点特性字段;
一个边表格结构,存储所述非循环绘图块中每一对连接的父和子节点之间的相互关系,所述边表格结构包括用于每一对父和子连接节点的记录,每个边表格结构记录包括用以识别所述父节点和所述子节点的相应字段;和
一个路径表格结构,存储所述非循环绘图块中任何两个节点之间路径的出现性,所述路径表格结构包括用于每一对父和子连接节点和每一对其中两个节点通过中介连接的祖先和后代连接节点的记录,每个路径表格结构记录包括用以识别每一个节点对的相应字段。
15.一种包括如权利要求14所定义的计算机存储数据结构的产品和/或服务分类系统,其中,所述节点表格结构中的至少一种节点特性表示与所述非循环绘图块的相应节点相关的一种特定产品或服务。
16.如权利要求15所述的产品和/或服务分类系统,包括一分类表格结构,用于存储供应者或消费者与所述非循环绘图块中的一节点之间的相互关系,所述分类表格结构具有至少一条包括一节点识别字段和一公司识别字段的记录,所述节点识别字段用于识别所述非循环绘图块中的一个所述节点,而所述公司识别字段用于识别相应的供应者或消费者。
17.如权利要求16所述的产品和/或服务分类系统,其中所述分类表格结构包括一记录,该记录具有一相应的公司识别字段,用于相应于所述路径表格结构的、所述分类表格中识别的任何节点的每一个祖先节点。
18.一种维护如权利要求14所述的数据结构的方法,包括:
一节点创建程序,用于通过使用所述节点识别字段中的一个唯一值将一条新记录插入到所述节点表格结构中而在所述非循环绘图块中创建一新节点;
一节点链接程序,用于将所述非循环绘图块中的一子节点链接到一父节点,包括下列步骤:
将一条新记录插入到所述边表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;
将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;
从所述路径表格结构中选择连接到所述父节点的每一个祖先节点,并将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和每一个祖先节点以及从所述祖先节点到所述子节点的连接方向;和
从所述路径表格结构中选择所述子节点所连接的每一个后代节点,并将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和每一个后代节点以及从所述子节点到所述后代节点的连接方向;
一节点解链接程序,用于将所述非循环绘图块中的一子节点与一父节点解链接,包括下列步骤:
从所述边表格结构中去除用以识别所述子节点和所述父节点的记录;
从所述路径表格结构中去除用以识别所述子节点的每一个记录;
从所述路径表格结构中选择并去除用以识别所述父节点的一祖先节点和所述子节点的一后代节点的每一个记录;和
从识别所述父节点的一祖先节点的记录开始,系统化地查看所述边表格结构,以确定从所述父节点的一祖先节点到所述子节点的一后代节点的任何路径,查看所述路径表格结构,以了解是否由一条路径表格结构记录识别出任何这种路径,并且,如果所述路径表格结构中不存在这种路径,则将一条识别所述路径的新记录插入到所述路径表格结构中;和
一去除节点程序,用于从所述非循环绘图块中去除已被解链接的一节点,包括从所述节点表格结构中去除识别所述被解链接的节点的记录。
19.一种维护如权利要求15到17所述的产品和/或服务分类系统的方法,包括:
一节点创建程序,用于通过使用所述节点识别字段中的一个唯一值和所述节点特性字段中的一产品或服务标识将一条新记录插入到所述节点表格结构中,而在所述非循环绘图块中创建一新节点;
一节点链接程序,用于将所述非循环绘图块中的一子节点链接到一父节点,包括下列步骤:
将一条新记录插入到所述边表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;
将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;
从所述路径表格结构中选择连接到所述父节点的每一个祖先节点,并将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和每一个祖先节点以及从所述祖先节点到所述子节点的连接方向;和
从所述路径表格结构中选择所述子节点所连接的每一个后代节点,并将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和每一个后代节点以及从所述子节点到所述后代节点的连接方向;
一节点解链接程序,用于将所述非循环绘图块中的一子节点从一父节点中解链接,包括下列步骤:
从所述边表格结构中去除用以识别所述子节点和所述父节点的记录;
从所述路径表格结构中去除用以识别所述子节点的每一个记录;
从所述路径表格结构中选择并去除用以识别所述父节点的一祖先节点和所述子节点的一后代节点的每一个记录;和
从识别所述父节点的一祖先节点的记录开始,系统化地查看所述边表格结构,以确定从所述父节点的一祖先节点到所述子节点的一后代节点的任何路径,查看所述路径表格结构,以了解是否由一条路径表格结构记录识别出任何这种路径,并且,如果所述路径表格结构中不存在这种路径,则将一条识别所述路径的新记录插入到所述路径表格结构中;和
一去除节点程序,用于从所述非循环绘图块中去除已被解链接的一节点,包括从所述节点表格结构中去除识别所述被解链接的节点的记录。
20.如权利要求19所述的维护产品和/或服务分类系统的方法,包括一公司分类程序,用于通过下列步骤产生一公司分类表格结构:
指定与所述非循环绘图块中的至少一个节点相关联的至少一个供应者或消费者公司;
系统化地查看所述路径表格结构,以确定到与所指定的公司相关联的所述至少一个节点的每一个祖先节点;和
产生一公司分类表格结构,该结构具有用以识别每一个确定的祖先节点和与其相关的至少一个指定公司的记录。
21.如权利要求20所述的维护产品和/或服务分类系统的方法,其中所述公司分类表格包括一存储的对应关系,该对应关系是指所述至少一个指定公司和相应于来自所述节点表格结构的每一个确定的祖先节点的产品和/或服务之间的对应关系。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG98005002 | 1998-03-06 | ||
SG9800500-2 | 1998-03-06 | ||
SG1998000500A SG77163A1 (en) | 1998-03-06 | 1998-03-06 | A method of implementing an acyclic directed graph structure using a relational database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1299489A true CN1299489A (zh) | 2001-06-13 |
CN1115644C CN1115644C (zh) | 2003-07-23 |
Family
ID=20429948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99805869A Expired - Fee Related CN1115644C (zh) | 1998-03-06 | 1999-03-06 | 利用相关数据库实现非循环定向图形结构的方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6633886B1 (zh) |
EP (1) | EP1068578A4 (zh) |
JP (1) | JP2002506252A (zh) |
CN (1) | CN1115644C (zh) |
AU (1) | AU765248B2 (zh) |
SG (1) | SG77163A1 (zh) |
WO (1) | WO1999045479A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100442288C (zh) * | 2006-04-04 | 2008-12-10 | 华为技术有限公司 | 一种确定变量相关关系的方法 |
CN102117263A (zh) * | 2011-03-22 | 2011-07-06 | 无锡永中软件有限公司 | 基于电子表格的图论分析装置及方法 |
CN104662535A (zh) * | 2012-07-24 | 2015-05-27 | 起元科技有限公司 | 数据模型中的实体映射 |
CN107798044A (zh) * | 2016-07-18 | 2018-03-13 | Sap欧洲公司 | 层次窗口数据库查询进行 |
US10191862B2 (en) | 2014-03-14 | 2019-01-29 | Ab Initio Technology Llc | Mapping attributes of keyed entities |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7343413B2 (en) * | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
US7130856B2 (en) | 2002-07-20 | 2006-10-31 | Microsoft Corporation | Map and data location provider |
US6932024B2 (en) * | 2003-01-09 | 2005-08-23 | Cargill, Incorporated | Compact pedigrees showing heritable traits for many individuals |
US20040239674A1 (en) * | 2003-06-02 | 2004-12-02 | Microsoft Corporation | Modeling graphs as XML information sets and describing graphs with XML schema |
US7454428B2 (en) * | 2003-10-29 | 2008-11-18 | Oracle International Corp. | Network data model for relational database management system |
US7614037B2 (en) * | 2004-05-21 | 2009-11-03 | Microsoft Corporation | Method and system for graph analysis and synchronization |
US20060053174A1 (en) * | 2004-09-03 | 2006-03-09 | Bio Wisdom Limited | System and method for data extraction and management in multi-relational ontology creation |
US20060053172A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for creating, editing, and using multi-relational ontologies |
US20060053171A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for curating one or more multi-relational ontologies |
US20060053175A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for creating, editing, and utilizing one or more rules for multi-relational ontology creation and maintenance |
US7505989B2 (en) | 2004-09-03 | 2009-03-17 | Biowisdom Limited | System and method for creating customized ontologies |
US7496593B2 (en) | 2004-09-03 | 2009-02-24 | Biowisdom Limited | Creating a multi-relational ontology having a predetermined structure |
US20060074833A1 (en) * | 2004-09-03 | 2006-04-06 | Biowisdom Limited | System and method for notifying users of changes in multi-relational ontologies |
US20060053173A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for support of chemical data within multi-relational ontologies |
US20060053382A1 (en) * | 2004-09-03 | 2006-03-09 | Biowisdom Limited | System and method for facilitating user interaction with multi-relational ontologies |
US7493333B2 (en) | 2004-09-03 | 2009-02-17 | Biowisdom Limited | System and method for parsing and/or exporting data from one or more multi-relational ontologies |
GB2419700B (en) * | 2004-10-29 | 2010-03-31 | Hewlett Packard Development Co | Methods for indexing data, systems, software and apparatus relng thereto |
US7546549B2 (en) * | 2005-11-15 | 2009-06-09 | Microsoft Corporation | Constrained creation of data hierarchies |
US20070136326A1 (en) * | 2005-12-14 | 2007-06-14 | Business Objects | Apparatus and method for defining relationships between component objects in a business intelligence system |
US8120610B1 (en) * | 2006-03-15 | 2012-02-21 | Adobe Systems Incorporated | Methods and apparatus for using aliases to display logic |
US8332386B2 (en) * | 2006-03-29 | 2012-12-11 | Oracle International Corporation | Contextual search of a collaborative environment |
US8059011B2 (en) * | 2006-09-15 | 2011-11-15 | Itron, Inc. | Outage notification system |
US8321841B2 (en) * | 2008-01-08 | 2012-11-27 | International Business Machines Corporation | Validation framework for service oriented architecture (SOA) application adoption |
US8019787B2 (en) * | 2008-03-07 | 2011-09-13 | International Business Machines Corporation | Relationship based tree structure with scoped parameters |
US20090319564A1 (en) * | 2008-06-24 | 2009-12-24 | Vitit Kantabutra | Intentionally-Linked Entities: A General-Purpose Database System |
US8346814B2 (en) * | 2009-05-29 | 2013-01-01 | Nokia Corporation | Method and system of splitting and merging information spaces |
WO2011038491A1 (en) | 2009-09-30 | 2011-04-07 | Evan V Chrapko | Systems and methods for social graph data analytics to determine connectivity within a community |
US20110099164A1 (en) | 2009-10-23 | 2011-04-28 | Haim Zvi Melman | Apparatus and method for search and retrieval of documents and advertising targeting |
WO2011106897A1 (en) | 2010-03-05 | 2011-09-09 | Chrapko Evan V | Systems and methods for conducting more reliable assessments with connectivity statistics |
US8407340B2 (en) * | 2010-04-09 | 2013-03-26 | Microsoft Corporation | Page load performance analysis |
WO2011134086A1 (en) * | 2010-04-30 | 2011-11-03 | Evan V Chrapko | Systems and methods for conducting reliable assessments with connectivity information |
US9419888B2 (en) | 2011-12-22 | 2016-08-16 | Itron, Inc. | Cell router failure detection in a mesh network |
WO2013097026A1 (en) | 2011-12-28 | 2013-07-04 | Chrapko Evan V | Systems and methods for visualizing social graphs |
CN104205095B (zh) | 2012-04-05 | 2017-11-17 | 微软技术许可有限责任公司 | 用于连续图更新和计算的平台 |
US8799329B2 (en) * | 2012-06-13 | 2014-08-05 | Microsoft Corporation | Asynchronously flattening graphs in relational stores |
US9235652B1 (en) * | 2012-06-27 | 2016-01-12 | Groupon, Inc. | Optimizing a data integration process |
US8819078B2 (en) * | 2012-07-13 | 2014-08-26 | Hewlett-Packard Development Company, L. P. | Event processing for graph-structured data |
US9300569B2 (en) * | 2012-07-31 | 2016-03-29 | Cisco Technology, Inc. | Compressing data packet routing information using bloom filters |
US8996492B2 (en) | 2012-12-13 | 2015-03-31 | Sap Se | Graph traversal operator inside a column store |
US9898707B2 (en) * | 2013-12-16 | 2018-02-20 | Dassault Systemes Americas Corp. | Validation of end-item completeness for product demands |
US9614854B2 (en) | 2014-03-25 | 2017-04-04 | Open Text Sa Ulc | System and method for maintenance of transitive closure of a graph and user authentication |
US10038713B2 (en) * | 2014-05-06 | 2018-07-31 | Cisco Technology, Inc. | Predicted attack detection rates along a network path |
US10164774B2 (en) * | 2014-05-22 | 2018-12-25 | Puccini World Limited | Securing a directed acyclic graph |
CN104361134B (zh) * | 2014-12-10 | 2018-10-19 | 用友网络科技股份有限公司 | 关系层次计算装置和方法 |
US9578043B2 (en) | 2015-03-20 | 2017-02-21 | Ashif Mawji | Calculating a trust score |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US20170235792A1 (en) | 2016-02-17 | 2017-08-17 | Www.Trustscience.Com Inc. | Searching for entities based on trust score and geography |
US9679254B1 (en) | 2016-02-29 | 2017-06-13 | Www.Trustscience.Com Inc. | Extrapolating trends in trust scores |
US9438619B1 (en) | 2016-02-29 | 2016-09-06 | Leo M. Chan | Crowdsourcing of trustworthiness indicators |
US9721296B1 (en) | 2016-03-24 | 2017-08-01 | Www.Trustscience.Com Inc. | Learning an entity's trust model and risk tolerance to calculate a risk score |
US10339179B2 (en) | 2016-04-11 | 2019-07-02 | Oracle International Corporation | Graph processing system that can define a graph view from multiple relational database tables |
US10180969B2 (en) | 2017-03-22 | 2019-01-15 | Www.Trustscience.Com Inc. | Entity resolution and identity management in big, noisy, and/or unstructured data |
US11315204B2 (en) * | 2018-04-12 | 2022-04-26 | Coursera, Inc. | Updating sequence of online courses for new learners while maintaining previous sequences of online courses for previous learners |
US11120082B2 (en) | 2018-04-18 | 2021-09-14 | Oracle International Corporation | Efficient, in-memory, relational representation for heterogeneous graphs |
US11093459B2 (en) | 2020-01-21 | 2021-08-17 | Oracle International Corporation | Parallel and efficient technique for building and maintaining a main memory, CSR-based graph index in an RDBMS |
US11507579B2 (en) | 2020-10-26 | 2022-11-22 | Oracle International Corporation | Efficient compilation of graph queries involving long graph query patterns on top of SQL based relational engine |
US11989178B2 (en) | 2020-10-26 | 2024-05-21 | Oracle International Corporation | Efficient compilation of graph queries including complex expressions on top of sql based relational engine |
US11567932B2 (en) | 2020-10-26 | 2023-01-31 | Oracle International Corporation | Efficient compilation of graph queries on top of SQL based relational engine |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4918621A (en) * | 1986-08-13 | 1990-04-17 | Intellicorp, Inc. | Method for representing a directed acyclic graph of worlds using an assumption-based truth maintenance system |
US5222233A (en) * | 1990-07-09 | 1993-06-22 | The United States Of America As Represented By The Secretary Of The Navy | Method for restructuring a database using a relational database scheme derived by selecting subscheme joins to avoid cycles |
DE69225544T2 (de) * | 1991-08-13 | 1998-12-03 | Xerox Corp | Elektronische Bilderzeugung |
GB9220272D0 (en) * | 1992-09-25 | 1992-11-11 | Leo Pharm Prod Ltd | Chemical compounds |
US5394556A (en) * | 1992-12-21 | 1995-02-28 | Apple Computer, Inc. | Method and apparatus for unique address assignment, node self-identification and topology mapping for a directed acyclic graph |
WO1994015305A1 (en) * | 1992-12-21 | 1994-07-07 | Apple Computer, Inc. | Method and apparatus for transforming an arbitrary acyclic topology collection of nodes into an acyclic directed graph |
CA2097232C (en) * | 1993-05-28 | 1999-01-19 | Phillip J. Beaudet | Displaying partial graphs by expanding and collapsing nodes |
US5615325A (en) * | 1994-09-29 | 1997-03-25 | Intel Corporation | Graphical viewer for heirarchical datasets |
US5819257A (en) * | 1997-01-31 | 1998-10-06 | Lucent Technologies Inc. | Process for providing transitive closure using fourth generation structure query language (SQL) |
-
1998
- 1998-03-06 SG SG1998000500A patent/SG77163A1/en unknown
-
1999
- 1999-03-06 US US09/623,572 patent/US6633886B1/en not_active Expired - Lifetime
- 1999-03-06 AU AU29692/99A patent/AU765248B2/en not_active Ceased
- 1999-03-06 WO PCT/SG1999/000015 patent/WO1999045479A1/en active IP Right Grant
- 1999-03-06 EP EP99910938A patent/EP1068578A4/en not_active Withdrawn
- 1999-03-06 CN CN99805869A patent/CN1115644C/zh not_active Expired - Fee Related
- 1999-03-06 JP JP2000534953A patent/JP2002506252A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100442288C (zh) * | 2006-04-04 | 2008-12-10 | 华为技术有限公司 | 一种确定变量相关关系的方法 |
CN102117263A (zh) * | 2011-03-22 | 2011-07-06 | 无锡永中软件有限公司 | 基于电子表格的图论分析装置及方法 |
CN102117263B (zh) * | 2011-03-22 | 2016-03-16 | 无锡永中软件有限公司 | 基于电子表格的图论分析装置及方法 |
CN104662535A (zh) * | 2012-07-24 | 2015-05-27 | 起元科技有限公司 | 数据模型中的实体映射 |
CN104662535B (zh) * | 2012-07-24 | 2018-05-18 | 起元科技有限公司 | 数据模型中的实体映射 |
US10191862B2 (en) | 2014-03-14 | 2019-01-29 | Ab Initio Technology Llc | Mapping attributes of keyed entities |
US11281596B2 (en) | 2014-03-14 | 2022-03-22 | Ab Initio Technology Llc | Mapping attributes of keyed entities |
CN107798044A (zh) * | 2016-07-18 | 2018-03-13 | Sap欧洲公司 | 层次窗口数据库查询进行 |
CN107798044B (zh) * | 2016-07-18 | 2024-02-09 | Sap欧洲公司 | 层次窗口数据库查询进行 |
Also Published As
Publication number | Publication date |
---|---|
CN1115644C (zh) | 2003-07-23 |
AU2969299A (en) | 1999-09-20 |
JP2002506252A (ja) | 2002-02-26 |
EP1068578A1 (en) | 2001-01-17 |
AU765248B2 (en) | 2003-09-11 |
WO1999045479A1 (en) | 1999-09-10 |
US6633886B1 (en) | 2003-10-14 |
SG77163A1 (en) | 2000-12-19 |
EP1068578A4 (en) | 2006-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1115644C (zh) | 利用相关数据库实现非循环定向图形结构的方法 | |
Schwarz et al. | Advanced procedural modeling of architecture | |
Nguyen et al. | A study of repetitiveness of code changes in software evolution | |
Kehrer et al. | A rule-based approach to the semantic lifting of model differences in the context of model versioning | |
US6125351A (en) | System and method for the synthesis of an economic web and the identification of new market niches | |
US7376668B2 (en) | Dynamic filtering in a database system | |
US7082433B2 (en) | Translation of object queries involving inheritence | |
Hernández et al. | HIL: a high-level scripting language for entity integration | |
CN1704934A (zh) | 流程图的编辑、重组验证、创建和转换的方法和装置 | |
Bronts et al. | A unifying object role modelling theory | |
CN1653418A (zh) | 向作为不同类实例的对象提供通用内存管理代码 | |
Vagavolu et al. | A mocktail of source code representations | |
Ford et al. | Behavioural preorders via graded monads | |
De Oca et al. | A visual representation model for software subsystem decomposition | |
CN1855052A (zh) | 一种从树型结构数据和一组代码片断结构体生成目标源代码的方法 | |
Mancas | MatBase—A tool for transparent programming while modeling data at conceptual levels | |
Lakshmi et al. | A comparative study of frequent subgraph mining algorithms | |
CN110633084B (zh) | 基于单个样例的代码转换推导方法和装置 | |
Hassoun et al. | Regularity extraction via clan-based structural circuit decomposition | |
Hussain et al. | A new hierarchical clustering technique for restructuring software at the function level | |
Sinkala et al. | Towards Hierarchical Code-to-Architecture Mapping Using Information Retrieval. | |
Hellal et al. | Nodar: mining globally distributed substructures from a single labeled graph | |
Doucet et al. | Integrity constraints in multiversion databases | |
Beyhl | A framework for incremental view graph maintenance | |
Jørgensen | Information Modelling: foundation, abstraction mechanisms and approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1066671 Country of ref document: HK |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1038082 Country of ref document: HK |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030723 |