CN1299489A - 利用相关数据库实现非循环定向图形结构的方法 - Google Patents

利用相关数据库实现非循环定向图形结构的方法 Download PDF

Info

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
Application number
CN99805869A
Other languages
English (en)
Other versions
CN1115644C (zh
Inventor
约翰·F·K·Y·张
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHONG KAH-YUEN
CHONG KAH YUEN
Original Assignee
CHONG KAH-YUEN
CHONG KAH YUEN
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CHONG KAH-YUEN, CHONG KAH YUEN filed Critical CHONG KAH-YUEN
Publication of CN1299489A publication Critical patent/CN1299489A/zh
Application granted granted Critical
Publication of CN1115644C publication Critical patent/CN1115644C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/954Relational
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating 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所述的维护产品和/或服务分类系统的方法,其中所述公司分类表格包括一存储的对应关系,该对应关系是指所述至少一个指定公司和相应于来自所述节点表格结构的每一个确定的祖先节点的产品和/或服务之间的对应关系。
CN99805869A 1998-03-06 1999-03-06 利用相关数据库实现非循环定向图形结构的方法 Expired - Fee Related CN1115644C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

Cited By (9)

* Cited by examiner, † Cited by third party
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