WO2006001241A1 - ノードを挿入する方法、装置及びプログラム - Google Patents
ノードを挿入する方法、装置及びプログラム Download PDFInfo
- Publication number
- WO2006001241A1 WO2006001241A1 PCT/JP2005/011237 JP2005011237W WO2006001241A1 WO 2006001241 A1 WO2006001241 A1 WO 2006001241A1 JP 2005011237 W JP2005011237 W JP 2005011237W WO 2006001241 A1 WO2006001241 A1 WO 2006001241A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- parent
- child
- nodes
- slave
- Prior art date
Links
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/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
Definitions
- the present invention relates to a method of handling a tree-type data structure, and more particularly to a method of inserting a node into a tree-type data structure.
- the present invention also relates to an information processing apparatus that performs the method.
- the present invention relates to a program for executing the method and a recording medium on which the program is recorded.
- RDB relational databases
- the second reason for the inefficiency is that it takes time to express the search results. If you try to express a node group that hits the search, you must also express the node that is a descendant of that node, but unlike the RDBMS, the data structure is atypical, so to express the descendant node It takes time.
- RDB which is the mainstream of databases
- a method of converting tree-format data to RDB for example, see Patent Document 1. Proposed.
- RDB data is broken down into tables. Therefore, to convert the actual tree format data into RDB, it is necessary to push the tree format data into the table.
- system construction based on RDB is a very laborious work.
- An example approach to creating a database of XML data as is is to take a copy of the data entered in the tree structure. For example, if the item is "age" Separate search index data is stored (for example, see Patent Document 2). This makes full use of the merits of XML data that allows attributes to be added to the data itself, and allows the relational structure of each item expressed using tags to be stored as is.
- Patent Document 1 Japanese Unexamined Patent Publication No. 2003-248615
- Patent Document 2 Japanese Patent Laid-Open No. 2001-195406
- Non-Patent Document 1 SECK, Inc., "Karearea White Paper", [online], [February 19, 2004 search], Internet ⁇ URL: http: //www.sec. Co.jp/products/karearea /
- Non-Patent Document 2 W3C, "Extensible Markup Language (XML) 1.0 (Third Edition)" ⁇ [onl ine], February 4, 2004, [Search February 19, 2004], Internet URL: http : ⁇ ww w.w3.org/TR/2004/REC-xml-20040204/>
- Non-Patent Document 3 R. Alan, Iku, Brad Lupen, Sultan Luman, “Programming XML”, Nikkei DP Soft Press, 2002, p.59—84
- this mechanism is a search that uses the relationship between nodes as a problem (for example, extraction of a tree that includes “60 years old” and “age” as ancestors and “1 year” and “age” as descendants) Not available for
- the fundamental problem of such a conventional technique is that the tree-type data structure is expressed by focusing on only individual data and connecting the nodes that store the data with pointers.
- the relationship between them for example, parent-child, ancestor, descendant, sibling (generation), generation, etc., cannot be traced efficiently.
- the value of the pointer is not constant, it cannot be used for the purpose of indicating the data storage address, and the relationship between the nodes cannot be expressed directly.
- it has been difficult to edit the topology of a tree-type data structure in particular, to insert a descendant node into a node with tree-structured data.
- the above DOM only specifies the interface for operations that edit the topology of the tree-type data structure, not the specific method of operation.
- the present invention can efficiently insert a node into a tree-type data structure.
- the purpose is to provide a law, an information processing apparatus, a program, and a recording medium on which the program is recorded.
- the present invention relates to a parent-child relationship between nodes constituting a tree-type data structure, and a parent node to a child node that is not a parent-child relationship in which a child node is associated with a parent node. If the node is represented by a “child-to-parent” relationship, the node is inserted into the master data of the tree type data structure from the slave side data of the tree type data structure. .
- a node insertion method for inserting a node of slave side data having a tree type data structure into master side data having a tree type data structure includes:
- a unique node identifier is given to a node including a root node, and is given to each non-root node that is a node other than the root node.
- the node identifier given to each parent node of the non-root 'node is associated with the node identifier, thereby expressing the parent-child relationship between the nodes,
- the node insertion method is
- a parent-child relationship when a parent-child relationship is expressed by a known “parent ⁇ child” relationship, a single parent node may correspond to a plurality of child nodes.
- the parent-child relationship cannot be defined without specifying. That is, even if a parent node is specified, a child node having a parent-child relationship with the parent node cannot be specified.
- the parent-child relationship when the parent-child relationship is expressed by a “child ⁇ parent” relationship as in the present invention, since only one parent node always corresponds to one child node, this child node can be identified by specifying this child node. Supports child nodes The only parent node that can be immediately identified. As a result, the master side specific node of the master side data and the slave side specific data of the slave side data can be specified, and the descendant node of the slave side specific data can be inserted as the descendant node of the master side specific node. .
- the parent-child relationship by the expression "child ⁇ parent" is a depth priority mode in which a child node is prioritized over a node of the same generation, and is continuously assigned to a node as a node identifier. Represented by an array of integers. For this reason, in the node insertion method according to the preferred embodiment, the unique node identifier given to the node is a continuous integer given in preference to a child node over a node of the same generation.
- the descendant nodes of the slave-side specific node of the slave-side data are determined by the continuous region of the array expressing the parent-child relationship, and the new parent-child of the master-side data and the descendant nodes of the slave-side specific node are determined. Generate an array that represents the relationship. For this reason, in a more preferred embodiment, the node insertion method is:
- the parent-child relationship between the nodes is related to the non-root 'node associated with each other in the order of the node identifier given to each of the non-root' nodes. It is represented by an array of node identifiers assigned to each parent node,
- a node identifier assigned to the slave side specific node in the array representing the parent-child relationship of the slave side data is stored. In this way, all descendant nodes of the slave side specific node are identified by extracting a continuous area in which a value greater than or equal to the value of the node identifier assigned to the slave side specific node is extracted Includes steps to perform.
- the step of inserting the descendant node of the slave side specific node into the master side data is performed in the master side data.
- the descendant node of the slave side specific node is inserted into the descendant node of the master side specific node in the master side data in the descendant node of the slave side specific node in the slave side data
- children no more than nodes of the same generation The slave side data is assigned to an array representing the parent-child relationship between the nodes of the master side data by assigning node identifiers with priority given to the nodes and associating the node identifiers of the corresponding parent nodes in the order of the node identifiers. Generating an array representing a new parent-child relationship into which an array representing the parent-child relationship of the descendant node of the slave side specific node is inserted.
- the address storing the node identifier of the parent node corresponding to the node can be easily obtained from the node identifier.
- Node identifier power of node It is possible to speed up the process of drawing the node identifier of the parent node.
- the parent-child relationship of nodes assigned consecutive numbers with depth priority is arranged based on the “child-to-parent” relationship, an excellent property that descendant nodes of a certain node appear in the continuous region is obtained. By using this property, it is possible to identify the descendant nodes of the slave side specific node.
- a node identifier is given to a child node in preference to a node of the same generation until the specific node on the master side appears, and the node identifier of the parent node of the node is assigned to the node identifier of the node A step of associating with
- a node identifier is assigned to the master side specific node, and the child node is given priority over the descendant node of the slave side specific node as a descendant node of the master side specific node. And associating each of the descendant nodes with a node identifier of its parent node;
- a node identifier is given to the remaining node in favor of a child node over a node of the same generation, and the remaining node Associating the node identifier of the parent node with the node identifier of
- an array representing a new parent-child relationship can be generated in three steps: processing up to the insertion point, processing at the insertion point, and processing after the insertion point.
- an information processing apparatus that implements the node insertion method as described above.
- An object of the present invention includes storage means for storing master side data having a tree type data structure and slave side data having a tree type data structure,
- Each of the master side data and the slave side data stored in the storage means is given a unique node identifier to a node including a root 'node, and is a non-root which is a node other than the root' node.
- the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each of the nodes, thereby expressing the parent-child relationship between the nodes.
- a descendant node specifying means for specifying a descendant node of the slave side specific node in the slave side data
- the unique node identifier assigned to the node gives priority to the child node over the node of the same generation. Are consecutive integers.
- the parent-child relationship between the nodes is related to the non-root 'node associated with each other in the order of the node identifier given to each of the non-root' nodes. It is represented by an array of node identifiers assigned to each parent node,
- the descendant node specifying means stores a node identifier assigned to the slave side specific node in the array expressing the parent-child relationship of the slave side data. All the descendant nodes of the slave side specific node are specified by extracting a continuous area in which a value greater than or equal to the value of the node identifier assigned to the slave side specific node is extracted from the next position.
- the node insertion means includes the slave side in the master side data and the descendant node of the slave side specific node in the slave side data.
- the node identifier is given with priority over the node of the same generation, and the node identifier
- the parent-child relationship of the descendant node of the slave-side specific node in the slave-side data is represented in the array expressing the parent-child relationship between the nodes of the master-side data.
- An array expressing a new parent-child relationship in which the array to be expressed is inserted is generated.
- the node insertion means includes
- a node identifier is given to the node in preference to a child node over a node of the same generation, and the parent identifier of the node is assigned to the node identifier of the node.
- a recording medium in which the above program is recorded is provided.
- the parent-child relationship between the nodes of the tree-type data structure is described based on the expression "child ⁇ parent", so one storage location is provided for one node. Can define parent-child relationships.
- the amount of memory accessed when manipulating the tree-type data structure is reduced, thereby speeding up the node insertion operation.
- FIG. 1 is a block diagram showing a hardware configuration of a computer system that handles a tree-type data structure that is useful in the embodiment of the present invention.
- this computer system 10 has a configuration similar to a normal one, and a CPU 12 that controls the entire system and individual components by executing a program, a RAM that stores work data, etc. Random Access Memory) 14, ROM (Read Only Memory) for storing programs, etc. 16, Fixed storage medium 18 such as hard disk, CD—ROM driver 20 for accessing CD-ROM 19, CD—ROM driver 20 and external network ( An interface (IZF) 22 provided between an external terminal (not shown) and a connected external terminal, an input device 24 composed of a keyboard and a mouse, and a CRT display device 26 are provided.
- the CPU 12, RAMI 4, ROM 16, external storage medium 18, I / F 22, input device 24, and display device 26 are connected to each other via a bus 28.
- a program for building a tree-type data structure on a storage device and a program for converting the tree-type data structure on the storage device according to the present embodiment are accommodated in a CD-ROM 19, and a CD-ROM driver 20 may be read or stored in the ROM 16 in advance.
- a CD-ROM driver 20 may be read or stored in the ROM 16 in advance.
- what is once read from the CD-ROM 19 may be stored in a predetermined area of the external storage medium 18.
- the program may be supplied from the outside via a network (not shown), an external terminal, and the IZF 22.
- an information processing apparatus useful for the embodiment of the present invention is connected to the computer system 10. This is realized by executing a program for building a tree-type data structure on a storage device and a program for converting a tree-type data structure on the storage device.
- FIGS. 2A and 2B are explanatory diagrams of POS data, which is an example of tree format data.
- Fig. 2A is an example of a visual representation of the data structure (ie topology) and data values of this tree format data
- Fig. 2B is an example of the same tree format data expressed in XML format.
- the present invention is directed to the topology of the tree-type data structure, the following description will mainly describe the topology of the tree-type data structure.
- such a tree-type data structure is expressed by connecting nodes that store data with pointers.
- the pointer representation has the disadvantage that the pointer value is not necessary. That is, in some cases, a specific node A is stored at a certain address (for example, address 100), and in other cases, the same node A is stored at another address (for example, address 200).
- a pointer value that is not constant essentially represents the storage address of the node. Therefore, for example, when nodes are connected with a pointer according to the depth priority rule, it is difficult to reconnect these nodes with a pointer according to the width priority rule.
- An arc list is a list of arcs that represent parent-child relationships between nodes.
- 3A to 3C are explanatory diagrams of an example of an expression format of a tree type data structure using an arc list.
- tree type data consisting of 12 nodes with node identifiers (ID) of 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 and 110 The structure is shown.
- Figure 3A shows the entire tree data structure.
- the numbers in the center of the circles and heart shapes represent the node ID, and 0, 10> etc.
- Number of The pair represents an arc.
- the node ID is not limited to a character string, and may be a numerical value, particularly an integer.
- 3B shows an arc list from a parent node (From—ID) to a child node (To—ID), and
- FIG. 3C shows a node list consisting of a list of node ID / node type pairs. Note that there is no need for a node list for the purpose of simply representing a single data structure. In principle, by using such an arc list, it is possible to describe the relationship between nodes directly without using pointers.
- the arc list is described based on a “parent ⁇ child” relationship in which a child node is associated with a parent node. Therefore, since there are three child nodes 10, 60, and 80 in one parent node, for example, root 'node 0, the same node ID 0 appears three times in the From—ID of the arc list. ing. In other words, since the child node cannot be specified even if the parent node is specified, the arc list is composed of the element From—ID array and the element To—ID array. When using an arc list, a node appears in both the From—ID array and the To—ID array.
- the parent-child relationship can also be expressed by a “child ⁇ parent” relationship.
- the parent-child relationship between the nodes is represented by an array of pairs of each of the non-root nodes that are nodes other than the root 'node and the associated parent node.
- this “child ⁇ parent” relationship there is an important characteristic that cannot be obtained in the case of the “parent ⁇ child” relationship. That is, since only one parent node always corresponds to one child node, the only parent node corresponding to this child node can be immediately identified by specifying the child node.
- the arc list actually requires only an array of element To-IDs. As a result, the storage capacity for storing the arc list is reduced. This reduction in storage capacity has the effect of reducing the number of accesses to the memory, and as a result, high-speed processing can be realized.
- FIGS. 4A to 4C are explanatory diagrams of a method for expressing a tree-type data structure based on a “child ⁇ parent” relationship according to an embodiment of the present invention.
- 4A is an explanatory diagram of the entire tree
- FIG. 4B is an arc list based on the “child ⁇ parent” relationship.
- the arc list in FIG. 4B includes the storage area of the parent node for the root node, so that the parent node for the root node is conveniently Is set. However, since there is no parent node corresponding to the root node, the storage area of the parent node for the root node may be excluded from the arc list based on the “child ⁇ parent” relationship, as shown in FIG. 4C. .
- a parent-child relationship between nodes is expressed by associating a parent node of a non-root 'node with each non-root' node that is a node other than the root 'node. . Then, the node power of the child expressed as “child ⁇ parent” can express the tree topology by hitting the list of parent nodes.
- a tree-type data structure based on such a "child-to-parent" relationship is routed to the computer system 10 shown in FIG. 1 as shown in FIG.
- the parent-child relationship defining step 502 for associating the node identifier assigned to the parent node is executed on the RAM 14.
- Node identifier power of child node The tree topology can be expressed by subtracting (lookup) the node identifier of the parent node.
- the node definition step uses a numerical value as the node identifier, more preferably a consecutive integer, and more preferably an integer sequence number from 0 or 1.
- the node identifier of the parent node corresponding to the node is stored from the node identifier, and the address can be easily obtained. Therefore, the node identifier child power of the child node is subtracted. Processing can be performed at high speed.
- FIGS. 6A to 6C are explanatory diagrams of processing for converting the tree structure type data in the ID format into the tree structure type data in the integer serial number format according to one embodiment of the present invention.
- FIG. 6A shows tree-structured data with each node assigned an ID number
- Fig. 6B shows conversion rules
- Fig. 6C shows a tree structure with each node assigned an integer sequence number.
- Type data is shown.
- the conversion rule in this example is a rule that assigns serial numbers with depth priority. Specifically, when there are multiple child nodes, the minimum number is assigned to the first child (top brother) node. Assign a higher number to the youngest child (bottom brother) node, and give the child node a priority over the sibling node. In this example, numbering is performed in ascending order, but numbering may be performed in descending order.
- FIGS. 7A to 7C are explanatory diagrams of processing for converting tree structure type data in the ID format into tree structure type data in the integer serial number format according to another embodiment of the present invention.
- Fig. 7A shows tree-structured data with ID numbers assigned to each node
- Fig. 7B shows conversion rules
- Fig. 7C shows a tree structure with integer sequential numbers assigned to each node.
- Type data is shown.
- the conversion rule of this example is a rule that assigns consecutive numbers with width priority. Specifically, when there are multiple child nodes, the smallest number is assigned to the first child (top brother) node, and the last child ( Assign a higher number to the lowermost brother) node, and give a priority to the sibling node over the child node. In this example, numbers are assigned in ascending order, but numbers may be assigned in descending order.
- the address at which the stored value related to the node is stored can be subtracted immediately from the node number, that is, in the order of 0 (1).
- the parent-child relationship as “child ⁇ parent”
- the parent node can be drawn immediately from the child node, that is, in the order of O (l).
- a tree-type data structure based on depth priority as shown in FIGS. 6A-C is stored in the computer system 10 shown in FIG.
- a node definition step in which a child node is given priority over a node of the same generation, and a unique continuous integer is given to a node including a root 'node;
- An array formed by arranging the integers assigned to each parent node of the non-root node in the order of the integers assigned to each of the non-root nodes that are nodes other than the root node is stored in the storage device.
- nodes are assigned consecutive integers with depth priority, and the parent-child relationship between nodes is represented by an array of “child-to-parent” relationships.
- FIG. 8 is a flowchart of node definition processing based on depth priority according to an embodiment of the present invention. This node definition process is performed by computer system 10.
- step 802 for assigning the number next to the number assigned to that particular node to the child node; If there is more than one child node in a given node, the brother node is assigned the next number after all the descendant nodes of the immediately above brother node are numbered according to the sibling relationship between the child nodes.
- Step 803 for assigning numbers from the top brother node to the bottom brother node so that
- FIG. 9 is an explanatory diagram of an array of parent-child relationships based on the “child ⁇ parent” expression created from the depth-first tree-type data structure shown in FIGS. 6A to C according to one embodiment of the present invention. is there.
- subtree 1 or subtree 2 when the parent-child relationship of nodes assigned consecutive numbers with depth priority is arranged based on the “child ⁇ parent” relationship, the descendant nodes of a node An excellent property that appears in a continuous region is obtained.
- a value greater than or equal to an integer assigned to a certain node is stored from the array! All descendant nodes of the certain node are specified by extracting the continuous region. Thereby, a node group representing a descendant node of a certain node can be acquired as a continuous block in the array. For example, if the size of a continuous block is m, the processing speed for specifying all descendant nodes of a node is on the order of O (m).
- the parent-child relationship between nodes can be expressed not only by an array of “child ⁇ parent” relationship but also by an array of “parent ⁇ child” relationship.
- the parent-child relationship array stores the child node number for each node, the array Aggr for indicating the area, and the child node number is Consists of two stored arrays P ⁇ C.
- the value of the second element Aggr [1] from the beginning of the array Aggr is "3", which means that the child node number for the node [1] is the element P ⁇ C [3] of the array P ⁇ C It is stored after that !.
- the node [0] that is, the child node for the root 'node has three elements from the beginning of the array P ⁇ C, P ⁇ C [0] 1, P ⁇ C [1] 6, and P ⁇
- the power of C [2] is 8.
- the Aggr value is also obtained for the numbering power of the parent node shown in bold in the figure. This Aggr value represents the starting point of the array P ⁇ C.
- parent-child relationship based on the expression “parent ⁇ child” can be expressed more simply by two arrays: an array of parent node numbers and an array of corresponding child node numbers.
- log (n) access time is required, which is inefficient.
- a tree-type data structure based on breadth-first is stored in the computer system 10 shown in FIG.
- a node definition step that gives priority to a node of the same generation over a child node and gives a unique continuous integer to a node including a root node;
- the array formed by arranging the integers assigned to each parent node of the non-root 'node in the order of the integers assigned to each of the non-root' nodes that are nodes other than the root 'node.
- nodes are given consecutive integers in the breadth-first mode, and the parent-child relationship between nodes is expressed by an array of “child ⁇ parent” relationships.
- FIG. 11 is a flowchart of node definition processing based on width priority according to an embodiment of the present invention. This node definition process is performed by the computer system 10
- First 1102 assigning a number to the root node
- Step 1013 in which a unique integer continuously changing from the number next to the number assigned immediately before from the top brother node to the bottom brother node is assigned in order,
- FIG. 12 is an explanatory diagram of an array of parent-child relationships based on the “child ⁇ parent” expression created from the breadth-first tree-type data structure shown in FIGS. 7A to C according to one embodiment of the present invention. .
- the child nodes of a node will appear in the continuous region. Excellent properties are obtained. This is because when the parent-child relationship of nodes assigned consecutive numbers in the breadth-first mode is arrayed based on the “child ⁇ parent” relationship, the number assigned to the parent node is By appearing in the array in order (ascending or descending).
- a continuous region in which the same value as the integer assigned to a certain node is stored is extracted from the array by using the superior property of the breadth-first mode.
- all child nodes of the certain node are specified.
- a child node of a node can be searched using a technique such as binary search, that is, it can be searched in the order of O (log (n)).
- FIG. 13 is an explanatory diagram of an array of parent-child relationships based on the “parent ⁇ child” expression created for the breadth-first tree-type data structure shown in FIGS. Figure 13—Since there can be multiple child nodes for one parent node, the parent-child relationship array contains an array Ag gr to indicate the area where the child node number for each node is stored, Consists of two arrays P ⁇ C that store node numbers.
- the value of the second element Aggr [1] from the top of the array Aggr is "3", which means that the child node number for node [1] is the element P ⁇ C [3 of array P ⁇ C ] Indicates that it is stored after that.
- the child node for node [0] that is, the root node is the three elements from the beginning of the array P ⁇ C, P ⁇ C [0] 1, P ⁇ C [1] 2, and P ⁇ C [2] 3 is inevitable.
- the Aggr value is also obtained for the numbering power of the parent node shown in bold in the figure. This Aggr value represents the starting point of the array P ⁇ C.
- the computer system includes a “child ⁇ parent” representation format based on depth priority, a “child ⁇ parent” representation format based on width priority, and a “parent ⁇ child” representation format.
- the expression format can be converted to FIG. 14 is a diagram showing the relationship of mutual conversion of three expression formats according to one embodiment of the present invention.
- FIG. 15 is a flowchart of a tree-type data structure construction method realized by a computer system according to an embodiment of the present invention.
- the computer system 10 includes a step 1510 for assigning a continuously changing integer to all nodes for the first time, and a step 1520 for defining a parent-child relationship between the nodes.
- a tree-type data structure is constructed on the storage device.
- the step 1510 of uniquely assigning an integer to all the nodes comprises:
- Step 1511 for selecting whether to grant is assigned to nodes in either the depth priority mode, which gives priority to child nodes over the same generation node, or the breadth priority mode, which gives priority to nodes in the same generation over child nodes.
- a step 1512 of searching for nodes with depth priority and assigning numbers to the nodes in the order of search is selected.
- node number assignment in depth priority mode and node number assignment in width priority mode can coexist in one system, so it is possible to use an appropriate expression format according to the situation.
- the step 1520 of defining a parent-child relationship between the nodes includes:
- Step 1521 for selecting whether to define the parent-child relationship in the child-parent representation mode that defines the relationship from the child node to the parent node or the parent-child representation mode that defines the relationship from the parent node to the child node;
- a sequence of numbers assigned to child nodes corresponding to the parent node is stored in the storage device in the order of numbers assigned to the parent node; 1523;
- a "child ⁇ parent” expression and a "parent ⁇ child” expression for expressing a parent-child relationship can be selectively used to assign numbers to nodes.
- Depth priority mode and width priority mode can be selectively used to assign numbers to nodes.
- FIGS. 16A and 16B are explanatory diagrams of conversion from the depth-first “child ⁇ parent” representation (FIG. 16A) to the width-first “child ⁇ parent” representation (FIG. 16B) according to an embodiment of the present invention.
- FIG. 17 is a flowchart of a conversion method from the depth-first “child ⁇ parent” expression to the width-first “child ⁇ parent” expression according to one embodiment of the present invention.
- the parent-child relationship is defined by storing the numbers assigned to the parent nodes corresponding to the child nodes in the storage device of the computer system 10, for example, the RAM 14, in the order of the numbers assigned to the child nodes.
- the computer system 10 the computer system 10
- the number of nodes belonging to each generation is determined by determining the generation of each node in the tree-type data structure expressed in the depth priority mode that gives priority to child nodes over nodes of the same generation. Step 1701 for counting
- FIG. 18A and 18B are explanatory diagrams of the conversion from the breadth-first “child ⁇ parent” representation (FIG. 18A) to the depth-first “child ⁇ parent” representation (FIG. 18B) according to one embodiment of the present invention.
- FIG. 19 is a flowchart of a conversion method from the width-first “child ⁇ parent” expression to the depth-first “child ⁇ parent” expression according to one embodiment of the present invention.
- the parent-child relationship is defined by storing the numbers assigned to the parent nodes corresponding to the child nodes in the storage device of the computer system 10, for example, the RAM 14, in the order of the numbers assigned to the child nodes.
- the computer system 10 the computer system 10
- Counting the number of descendants of each node in the tree-type data structure expressed in breadth-first mode that gives priority to nodes of the same generation over child nodes and the number to be given to the parent node Is added to the number of sibling nodes derived from the same parent node as that node and the number of sibling nodes numbered before that node and the number of descendants of the sibling node.
- a breadth-first “child ⁇ parent” representation to a depth-first “child ⁇ parent” table According to another embodiment of the present invention, a breadth-first “child ⁇ parent” representation to a depth-first “child ⁇ parent” table.
- the conversion to the present can be realized not only by the high-speed conversion method described with reference to FIG. 19 but also by a conversion method using search. Below, the conversion method using this search is demonstrated.
- the parent-child relationship based on the breadth-first "child-to-parent" expression is such that the numbers assigned to the parent nodes corresponding to the child nodes are stored in the storage device of the computer system 10, for example, the RAM 14, in the order of the numbers assigned to the child nodes. It is defined by storing.
- the computer system 10 searches each node of the tree-type data structure expressed in the breadth-first mode in which the node of the same generation is given priority over the child node and assigns the number to the node in depth-first mode.
- the conversion array created by the conversion method based on this search is the same as the conversion array created in the example of the previous high-speed conversion method.
- FIG. 20 is a flowchart of the conversion method from the “child ⁇ parent” expression to the “parent ⁇ child” expression according to one embodiment of the present invention.
- the numbers assigned to the parent node corresponding to the child node are stored in the storage device of the computer system 10, for example, the RAM 14, in the order of the numbers assigned to the child node. Is defined by The computer system 10
- a step 2001 for counting the number of times the number assigned to the node appears as an element of the first array
- Step 2003 for sequentially storing the node numbers
- the parent-child relationship is converted from the “child ⁇ parent” representation format to the “parent ⁇ child” representation format.
- the parent-child relationship after conversion is defined by storing the numbers assigned to the child nodes corresponding to the parent node in the storage device as the elements of the second array in the order of the numbers assigned to the parent node. Is done.
- the depth-first or width-first property is preserved as it is, so the "child-> parent” expression based on the depth-first mode is changed to the "parent-> child” expression based on the depth-first mode.
- the “child ⁇ parent” expression based on the breadth-first mode is converted to the “parent ⁇ child” expression based on the breadth-first mode.
- FIG. 21 is a flowchart of a conversion method from a breadth-first “child ⁇ parent” representation to a depth-first “child ⁇ parent” representation according to one embodiment of the present invention.
- the parent-child relationship is obtained by storing the numbers given to the child nodes corresponding to the parent node in the order of the numbers given to the parent node in the storage device of the computer system 10, for example, the RAM 14, as the elements of the first array. Is defined.
- Computer system 10
- the parent-child relationship is converted from the “parent ⁇ child” representation format to the “child ⁇ parent” representation format.
- the parent-child relationship after conversion is defined by storing the numbers assigned to the parent nodes corresponding to the child nodes in the order of the numbers assigned to the child nodes in the storage device as elements of the second array. Is done.
- the depth-first or width-first property is preserved as it is, so the "parent->child” expression based on the depth-first mode is changed to the "child->parent” expression based on the depth-first mode.
- the "parent->child” representation based on the breadth-first mode is converted to the "child->parent” representation based on the breadth-first mode.
- node insertion which is an operation for editing the topology of the tree-type data structure.
- FIGS. 22A to 22C are explanatory diagrams of node insertion in a tree-type data structure according to an embodiment of the present invention.
- Figure 22A shows master-side data in depth-first mode in which nodes are numbered with depth priority
- Figure 22B shows slave-side data in depth-first mode
- Figure 22C shows slave-side data.
- the result of inserting some nodes into the master data is expressed in depth priority mode. More specifically, the descendant nodes of node 1 of the slave side data (node 2, node 3 and node 4) are inserted as descendant nodes of node 5 of the master side data, and as descendants of node 9 of the master side data.
- the descendant nodes (node 6 and node 7) of the node 5 of the slave side data are inserted, and all nodes are renumbered with depth priority. Since the descendant node is inserted into node 5 of the master side data, and the numbers of node 6, node 7 and node 8 are assigned to the inserted descendant node, the number of node 6 of the master side data is assigned to node 9. It will be reattached. Similarly, node 6, node 7, node 8, and node 9 of the master side data are renumbered like node 9, node 10, node 11, and node 12, respectively.
- the current node 12 of the master side data (node 9 before renumbering) is inserted with node 6 and node 7 of the slave side data, and renumbered as nodes 13 and 14 respectively. Is done. As a result, the nodes 10 and 11 of the original master data are renumbered as the nodes 15 and 16 respectively.
- the slave node 6 and the child node 7 of the slave side data node 5 are the slave nodes inserted before the child node 10 and the child node 11 of the node 9 of the master side data. It can be configured to be inserted between 10 and the child node 11, or can be configured to be inserted after the child node 10 and the child node 11.
- FIG. 23 is a flowchart of a node insertion method according to an embodiment of the present invention.
- a slave-side data node having a tree-type data structure is inserted into master-side data having a tree-type data structure.
- a unique node identifier is assigned to each node including the root node in each of the master side data and the slave side data.
- the node identifier given to each non-root 'node that is a node other than the' root 'node is associated with the node identifier given to each parent node of the non-root' node, so that Parent-child relationship is expressed.
- the node insertion method adopts a tree-type data structure of “child ⁇ parent” expression, and assigns descendant nodes of slave side specific nodes of slave side data to mass The data is inserted into the master side data as a descendant node of the master side specific node of the master side data.
- the parent-child relationship between the nodes is represented in a “child ⁇ parent” representation format based on the depth priority mode, and the node identifier is a continuous integer.
- the tree-type data structure shown in FIGS. 22A to 22C can be described in the “child ⁇ parent” representation format based on the depth-first mode as shown in FIGS. 24A, B, and C are explanatory diagrams of the “child ⁇ parent” representation format based on the depth-first mode corresponding to the data structures of FIGS. 22A, B, and C, respectively.
- the unique node identifiers assigned to the master-side data and slave-side data nodes are given priority over child nodes over nodes of the same generation. It is a continuous integer.
- the parent-child relationship between the nodes is assigned to each parent node of the non-root 'node, which is associated in the order of the node identifier assigned to each of the non-root' nodes. It is expressed by an array that has a strong node identifier. In other words, the parent-child relationship between the nodes is expressed in a “child ⁇ parent” representation format based on the depth priority mode.
- step 2301 for specifying the descendant node of the slave side specific node in the slave side data the node identifier assigned to the slave side specific node in the array representing the parent-child relationship of the slave side data is stored. All the descendant nodes of the slave side specific node are extracted from the next position of the slave side by extracting a continuous area in which a value equal to or greater than the value of the node identifier assigned to the slave side specific node is stored. Is identified. As described with reference to FIG. 9, this descendant node is specified by arranging a parent-child relationship of nodes assigned consecutive numbers with depth priority based on a “child ⁇ parent” relationship. When descendants of a node appear in a continuous region, they are based on the superior nature of depth-first mode.
- step 2302 for inserting the descendant node of the slave side specific node into the master side data includes the node in the master side data and the descendant of the slave side specific node in the slave side data.
- the node identifier is given to the node in preference to the child node of the same generation, and An array that expresses the parent-child relationship of the descendant nodes of the slave side node in the slave side data in the array that expresses the parent-child relationship between the nodes of the master side data by associating the node identifiers of the corresponding parent nodes in the order of the node identifiers Generating an array representing a new parent-child relationship in which is inserted.
- the parent-child relationship is depth-first, and the node identifier is a continuous integer.
- the descendant nodes are determined by the continuous area, and an array expressing a new parent-child relationship is generated for the descendant nodes in the master side data and the slave side data.
- the step of generating the array representing the new parent-child relationship includes processing up to the insertion point of the descendant node, processing at the insertion point of the descendant node, and processing after the insertion point of the descendant node. It can be realized in 3 steps.
- FIG. 25 illustrates a new embodiment according to one embodiment of the present invention. It is a flowchart of the process which produces
- the step of generating an array representing a new parent-child relationship includes the processing step 2501 up to the descendant node insertion point, the processing step 2502 at the insertion point of the descendant node, and the descendant Processing step 2503 after the insertion point of the node.
- Step 2501 Until the master side specific node appears, a node identifier is given to the child node over the node of the same generation, and the node identifier of the node is assigned to the node of the master side data. Associate the node identifier of the parent node of the node.
- Step 2502 Assign a node identifier to the master side specific node, and then give priority to the child node over the same generation node as the descendant node of the slave side specific node as the descendant node of the master side specific node And assign the node identifier of the parent node to each of the descendant nodes.
- Step 2503 If a node identifier is still assigned to the master-side data and there is a remaining node, the node identifier is given priority over the child node over the node of the same generation for the remaining node. And the node identifier of the parent node is associated with the node identifier of the remaining node.
- step 2501 and step 2502 above when the descendant nodes of two or more nodes of the slave side specific node 1 and the slave side specific node 2 are simultaneously inserted into the master side data, Repeat step 2501 and step 2502 above until there is no master side specific node corresponding to the slave side specific node, and then execute step 2503.
- the node insertion for manipulating the topology of the tree-type data structure is an operation for reattaching the node identifier (for example, the node number) given to the node.
- a node type representing the type of the node and a node value representing the value are associated with the node.
- These node types and node values are specified by associating a pointer to the node information storage area in which information describing the node type and node value is stored with the node identifier, as described with reference to FIGS. 2A and 2B. can do. [0102] FIG.
- the node 2 on the slave side becomes the node 6 after the insertion process by inserting it as a descendant node of the node 5 on the master side.
- the actual value of node 2 on the slave side is stored in the node information storage area of address aaaa, as shown in FIG.
- the address aaaa is copied to the node 6 pointer generated by the insertion.
- the inserted node can be accompanied by a pointer for designating the corresponding node information storage area.
- FIG. 27 is an overall explanatory diagram of node insertion processing according to an embodiment of the present invention.
- the descendant nodes (node 2, node 3 and node 4) of the slave side node 1 are inserted as descendant nodes of the master side node 5 (master side specific node 1).
- the descendant nodes (node 6 and node 7) of the slave side node 5 are inserted as descendant nodes of the master side node 9 (master side specific node 2).
- the slave-side specific node and the master-side specific node used for the node insertion process are matching nodes.
- the slave side specific node and the master side specific node are matched. It is determined that In the example of FIG. 27, the slave side node 1 and the master side node 5 are both drawn in a heart shape, and the node types are the same. Although not shown, the node values held by the nodes also match. Similarly, the node 5 on the slave side and the node 3 on the master side have the same node type, and the node values to be held also match.
- These slave side specific nodes and master side specific nodes may be designated in advance by the user, or may be automatically determined according to the conditions set by the user.
- Fig. 27 the master-side, slave-side, and after node insertion operations are shown as a parent-child relationship in the "child-to-parent" representation format based on the solid data structure and the depth-first mode. Representing array And are shown.
- the tree-type data structure after the node insertion process and the array representing the parent-child relationship also show how the node number that is the node identifier changes.
- a node on the master side and a node on the slave side are matched to determine a node to be subjected to the node insertion process, that is, a specific node and another specific node.
- a node list that is, an array representing a parent-child relationship in the “child ⁇ parent” representation format based on the depth priority mode is synthesized.
- the node list synthesizing process includes a process for identifying descendant nodes, a process up to the first insertion point, an insertion process, a process up to the next insertion point, a second insertion process, and a process after the insertion point. ,including.
- FIGS. 28A to 28F are explanatory diagrams of processing for identifying a descendant node according to an embodiment of the present invention.
- it is necessary to specify the range of descendant nodes (ie, subtrees) of each slave side specific node.
- a specific node that is, a descendant node for the vertex node, exists in a continuous range after the vertex node. Therefore, in the process of specifying descendant nodes, a continuous range after this vertex node is found.
- the bold arrows are for explaining the processing for the slave side specific node 1 and the master side specific node 1
- the white arrows are the slave side specific node 2 and the master side. This is an arrow for explaining the process for the side specific node 2.
- step 2 if the content of ⁇ 3 ⁇ is checked, it is 2, which is a value equal to or higher than vertex node 1, so that node 3 belongs to vertex node [1].
- step 3 when the content of ⁇ 4 ⁇ is checked, it is 1 and is a value equal to or higher than vertex node 1, so that node 4 belongs to vertex node [1].
- step 4 when the contents of ⁇ are checked, it is 0, which is smaller than vertex node 1, so that node 5 (and subsequent nodes) does not belong to vertex node [1].
- the check for vertex node 1 ends here, indicating that the end of the node number of the node belonging to vertex node [1] is ⁇ 4 ⁇ .
- steps 5 and 6 when a node belonging to the vertex node [5] is checked, it is found that the node number of the node belonging to the vertex node [5] ends with ⁇ 7 ⁇ .
- FIG. 29 is an explanatory diagram of an initial state of insertion processing according to an embodiment of the present invention.
- FIGS. 30A to 30C are explanatory diagrams of processing up to the first insertion point according to one embodiment of the present invention.
- Procedure 1 (1) Perform processing for node 0 on the master side (Fig. 30A).
- the conversion array [0] address 0 of the conversion array
- nlns represents the number of nodes where the slave side force is also inserted.
- the value stored in the conversion array indicates how the node number on the master side was reassigned by the node insertion operation.
- the conversion array insertion pointer and the synthesis result array insertion pointer are initially set at the head (ie, address 0), and when a value is stored in the conversion array and the synthesis result array, each is advanced to the next address.
- Step 3 Continue the same operation as step 2 up to the insertion point, that is, node 5 on the master side (Fig. 30C).
- FIG. 31 is an explanatory diagram of an insertion process at the first insertion point according to an embodiment of the present invention.
- step 4 shown in the figure the value of nlns is increased by the number of inserted nodes, that is, by 3.
- step 4 add the offset determined by the following formula to the node numbers (2, 3 and 4) of the three descendant nodes of the specific node 1 on the slave side, and the corresponding synthesis result array [6], synthesis result array Store sequentially in [7] and synthesis result array [8]. here,
- the insertion pointer address of the synthesis result array is fixed at 6 when calculating the offset.
- FIG. 32 is an explanatory diagram of processing up to the next insertion point according to an embodiment of the present invention.
- step 5 repeat the same operation as in step 2 until the next insertion point.
- i represents the node number on the master side.
- the conversion array [j] with the contents j of the C ⁇ P array [i] on the master side as the address, and store the contents of the conversion array [j] in the synthesis result array [conversion array [i]] .
- FIG. 33 is an explanatory diagram of the insertion process at the second insertion point according to one embodiment of the present invention.
- offsets determined by the following formulas are added to the node numbers (6 and 7) of the two descendant nodes of the specific node 2 on the slave side, and the corresponding synthesis result array [13] and synthesis result array [14] ] Sequentially.
- the insertion pointer address of the synthesis result array is fixed to 13. It has been determined.
- FIG. 34 is an explanatory diagram of processing after the insertion point according to one embodiment of the present invention.
- step 7 shown in the figure the same operation as step 2 and step 5 is repeated.
- i represents the node number on the master side.
- the conversion array [j] with the contents j of the C ⁇ P array [i] on the master side as the address, and store the contents of the conversion array [j] in the synthesis result array [conversion array [i]] To do.
- FIG. 35 is an explanatory diagram of the result of the node insertion process according to one embodiment of the present invention. The figure shows a tree structure based on node numbers based on the depth-first mode and a parent-child relationship based on the corresponding depth-first “child ⁇ parent” expression.
- FIG. 36 is a block diagram of an information processing apparatus 3600 that constructs a tree-type data structure according to an embodiment of the present invention.
- the information processing device 3600 includes a storage unit 3601 that stores data representing a tree-type data structure, a descendant node specification unit 3602 that specifies a descendant node of a slave side specific node in the slave side data, a slave side As a descendant node of the master side specific node in the master side data corresponding to the specific node, A node insertion unit 3603 that inserts information into the master side data and stores information representing a new parent-child relationship in the storage unit 3601.
- the unique node identifier assigned to a node is a continuous integer assigned in favor of a child node over a node of the same generation.
- the parent-child relationship between the nodes is related to each parent node of the non-root 'node associated in the order of the node identifier assigned to each of the non-root' nodes. It is expressed by an array of assigned node identifiers.
- the descendant node specifying unit 3602 sends the slave side specific node to the slave side specific node from the position next to the position where the node identifier assigned to the slave side specific node in the array expressing the parent-child relationship of the slave side data is stored. All descendant nodes of the slave side specific node are specified by extracting the continuous area where the value of the assigned node identifier or more is stored.
- the node insertion unit 3603 identifies the slave side node in the master side data and the descendant node in the slave side node as the descendant node in the slave side node in the master side data.
- the master side data An array representing a new parent-child relationship is generated by inserting an array representing the parent-child relationship of the descendant node of the slave-side specific node in the slave-side data into the array representing the parent-child relationship between the nodes.
- the node insertion unit 3603 has a node determination unit 3631 for determining whether the node of the master side data is a master side specific node; If the node of the master side data is not a master side specific node, the node identifier is given to the node in favor of the child node over the node of the same generation, and the node identifier of the parent node of the node is assigned to the node identifier of the node If the node on the master side is a master side specific node, a node identifier is assigned to the master side specific node, and then as a descendant node of the master side specific node, the slave side A node identifier is assigned to a descendant node of a specific node in preference to a child node over a node of the same generation, and the child node of that descendant node is assigned.
- FIG. 1 is a block diagram of a computer system that handles a tree-type data structure useful for an embodiment of the present invention.
- FIGs. 2A and 2B are explanatory diagrams of POS data, which is an example of tree format data.
- Fig. 2A is a visual representation of the data structure (ie, topology) and data values of this tree format data.
- Figure 2B shows an example of the same tree format data expressed in XML format.
- FIGS. 3A to 3C are explanatory diagrams of an example of an expression format of a tree-type data structure using an arc list.
- FIGS. 4A to 4C are explanatory diagrams of a method for expressing a tree-type data structure based on a “child ⁇ parent” relationship according to an embodiment of the present invention.
- FIG. 5 is a flowchart of a method for constructing a tree-type data structure on a storage device according to an embodiment of the present invention.
- FIGS. 6A to 6C are diagrams for explaining processing for converting tree structure type data in the ID format into tree structure type data in the integer serial number format according to one embodiment of the present invention.
- FIGS. 7A to 7C are explanatory diagrams of processing for converting tree structure type data in an ID format into tree structure type data in an integer serial number format according to another embodiment of the present invention.
- FIG. 8 is a flowchart of node definition processing based on depth priority according to an embodiment of the present invention.
- FIG. 9 is an explanatory diagram of an array of parent-child relationships based on the “child ⁇ parent” expression created according to one embodiment of the present invention.
- FIG. 10 is an explanatory diagram of an array of parent-child relationships based on a “parent ⁇ child” expression created from the depth-first tree-type data structure shown in FIGS.
- FIG. 11 is a flowchart of node definition processing based on width priority according to an embodiment of the present invention.
- FIG. 12 shows a parent-child relationship based on a “child ⁇ parent” expression created according to an embodiment of the present invention. It is explanatory drawing of the arrangement
- FIG. 13 is an explanatory diagram of an array of parent-child relationships based on a “parent ⁇ child” expression created from the depth-first tree-type data structure shown in FIGS.
- FIG. 14 is a diagram showing the relationship of mutual conversion of three expression formats according to one embodiment of the present invention.
- FIG. 15 is a flowchart of a method for constructing a tree-type data structure realized by a computer system according to an embodiment of the present invention.
- FIGS. 16A and 16B are explanatory diagrams of conversion from a depth-first “child ⁇ parent” representation to a width-first “child ⁇ parent” representation according to one embodiment of the present invention.
- FIG. 17 is a flowchart of a conversion method from a depth-first “child ⁇ parent” expression to a width-first “child ⁇ parent” expression according to one embodiment of the present invention.
- FIGS. 18A and 18B are explanatory diagrams of conversion from a breadth-first “child ⁇ parent” representation to a depth-first “child ⁇ parent” representation according to one embodiment of the present invention.
- FIG. 19 is an explanatory diagram of a process for converting a parent-child relationship of nodes based on breadth priority into a parent-child relationship of nodes based on depth priority according to an embodiment of the present invention.
- FIG. 20 is a flowchart of a conversion method from a “child ⁇ parent” expression to a “parent ⁇ child” expression according to one embodiment of the present invention.
- FIG. 21 is a flowchart of a conversion method from a “parent ⁇ child” expression to a “child ⁇ parent” expression according to one embodiment of the present invention.
- FIGS. 22A to 22C are explanatory diagrams of node insertion in the tree-type data structure according to one embodiment of the present invention.
- FIG. 23 is a flowchart of a node insertion method according to an embodiment of the present invention.
- FIGS. 24A to 24C are explanatory diagrams of the depth-first “child ⁇ parent” expression format corresponding to FIGS. 22A to 22C, respectively.
- FIG. 25 is a flowchart of a process for generating an array expressing a new parent-child relationship according to an embodiment of the present invention.
- FIG. 26 is an explanatory diagram showing an example of how to handle substantial values of nodes in the node insertion processing according to one embodiment of the present invention.
- FIG. 27 is an overall explanatory diagram of node insertion processing according to an embodiment of the present invention.
- FIGS. 28A to F are explanatory diagrams of a process for specifying a descendant node according to an embodiment of the present invention.
- FIG. 29 is an explanatory diagram of an initial state of insertion processing according to an embodiment of the present invention.
- FIG. 30A to FIG. 30C are explanatory diagrams of processing up to the first insertion point according to one embodiment of the present invention.
- FIG. 31 is an explanatory diagram of an insertion process at the first insertion point according to an embodiment of the present invention.
- FIG. 32 is an explanatory diagram of processing up to the next insertion point according to one embodiment of the present invention.
- FIG. 33 is an explanatory diagram of an insertion process at the second insertion point according to an embodiment of the present invention.
- FIG. 34 is an explanatory diagram of processing after the insertion point according to one embodiment of the present invention.
- FIG. 35 is an explanatory diagram of the result of node insertion processing according to an example of the present invention.
- FIG. 36 is a block diagram of an information processing apparatus that performs a node insertion operation according to an embodiment of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006528509A JP4681555B2 (ja) | 2004-06-23 | 2005-06-20 | ノード挿入方法、情報処理装置、および、ノード挿入プログラム |
US11/571,191 US20090019067A1 (en) | 2004-06-23 | 2005-06-20 | Method, apparatus, and program for inserting node |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004-184497 | 2004-06-23 | ||
JP2004184497 | 2004-06-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006001241A1 true WO2006001241A1 (ja) | 2006-01-05 |
Family
ID=35781724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2005/011237 WO2006001241A1 (ja) | 2004-06-23 | 2005-06-20 | ノードを挿入する方法、装置及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090019067A1 (ja) |
JP (1) | JP4681555B2 (ja) |
WO (1) | WO2006001241A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1857945A1 (en) * | 2005-01-25 | 2007-11-21 | Turbo Data Laboratories, Inc. | Tree search, totalizing, sort method, information processing device, and tree search, totalizing, and sort program |
US8825710B2 (en) * | 2011-05-26 | 2014-09-02 | Planet Technologies | Cloud computing method for dynamically scaling a process across physical machine boundaries |
CA2815156C (en) * | 2013-05-06 | 2020-05-05 | Ibm Canada Limited - Ibm Canada Limitee | Document order management via relaxed node indexing |
US20160217302A1 (en) * | 2015-01-23 | 2016-07-28 | Karim Kassam | High-speed, hacker-resistant computer data storage and retrieval system |
KR102300791B1 (ko) * | 2017-03-20 | 2021-09-09 | 엘지전자 주식회사 | 공기조화기 및 그 제어방법 |
US10872090B2 (en) * | 2018-09-18 | 2020-12-22 | Mastercard International Incorporated | Generating test data based on data value rules of linked data nodes |
US20240160614A1 (en) * | 2022-11-15 | 2024-05-16 | Oracle International Corporation | Method for fast and efficient computing of tree form-factors |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS648448A (en) * | 1987-07-01 | 1989-01-12 | Hitachi Ltd | Expression system for tree structure data |
JP2003271443A (ja) * | 2002-03-15 | 2003-09-26 | Toshiba Corp | 構造化データ格納システムおよび方法、構造化データ検索システムおよび方法、記録媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6426750B1 (en) * | 1998-07-14 | 2002-07-30 | Microsoft Corporation | Run-time geomorphs |
US20030236968A1 (en) * | 2002-06-19 | 2003-12-25 | Anindya Basu | Method and apparatus for generating efficient data structures for use in pipelined forwarding engines |
CN101180623A (zh) * | 2004-06-03 | 2008-05-14 | 特博数据实验室公司 | 数组的生成方法、信息处理装置以及程序 |
EP2077512A1 (en) * | 2004-10-04 | 2009-07-08 | Clearpace Software Limited | Method and system for implementing an enhanced database |
US8209305B2 (en) * | 2006-04-19 | 2012-06-26 | Microsoft Corporation | Incremental update scheme for hyperlink database |
US8392366B2 (en) * | 2006-08-29 | 2013-03-05 | Microsoft Corporation | Changing number of machines running distributed hyperlink database |
-
2005
- 2005-06-20 WO PCT/JP2005/011237 patent/WO2006001241A1/ja active Application Filing
- 2005-06-20 JP JP2006528509A patent/JP4681555B2/ja not_active Expired - Fee Related
- 2005-06-20 US US11/571,191 patent/US20090019067A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS648448A (en) * | 1987-07-01 | 1989-01-12 | Hitachi Ltd | Expression system for tree structure data |
JP2003271443A (ja) * | 2002-03-15 | 2003-09-26 | Toshiba Corp | 構造化データ格納システムおよび方法、構造化データ検索システムおよび方法、記録媒体 |
Non-Patent Citations (1)
Title |
---|
SEDGEWICK R. TRANSLATED BY NOGE K. ET AL.: "Algorithm", vol. 1ST ED., 1990, KISO.SEIRETSU, pages: 39 - 55, XP003005650 * |
Also Published As
Publication number | Publication date |
---|---|
JP4681555B2 (ja) | 2011-05-11 |
JPWO2006001241A1 (ja) | 2008-07-31 |
US20090019067A1 (en) | 2009-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4537391B2 (ja) | ツリー型データ構造を取り扱う方法、情報処理装置、及び、プログラム | |
JP4886693B2 (ja) | 情報処理方法、情報処理装置および情報処理プログラム | |
JP4681544B2 (ja) | 配列の生成方法、情報処理装置、及び、プログラム | |
US7353222B2 (en) | System and method for the storage, indexing and retrieval of XML documents using relational databases | |
JP4653157B2 (ja) | ツリーの検索、集計、ソート方法、情報処理装置、および、ツリーの検索、集計、ソートプログラム | |
JP4796970B2 (ja) | ツリーデータの検索・集計・ソート方法及びプログラム | |
JP4712718B2 (ja) | 配列の生成方法、及び、配列生成プログラム | |
JP5241738B2 (ja) | 表からツリー構造データを構築する方法及び装置 | |
US8935267B2 (en) | Apparatus and method for executing different query language queries on tree structured data using pre-computed indices of selective document paths | |
EP1482431A2 (en) | System and method of multidimensional query results processing | |
IL157575A (en) | Encoding structural information in part for efficient search and browsing of information | |
JP4681555B2 (ja) | ノード挿入方法、情報処理装置、および、ノード挿入プログラム | |
CN114372174A (zh) | 一种xml文档分布式查询方法及系统 | |
KR100660028B1 (ko) | 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법 | |
CA2468372C (en) | System and method of multidimensional query results processing | |
JP2004310249A (ja) | Xmlデータの検索方法及び検索装置、並びにプログラムおよびプログラムを記録した記録媒体 | |
Castro et al. | From XML to relational models | |
KR100555982B1 (ko) | 확장 마크업 언어로 작성된 문서를 위한 정보검색 시스템및 그 방법과 그 방법을 실행시키기 위한 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체 | |
Böttcher et al. | Generalizing and improving SQL/XML query evaluation | |
Lam et al. | Fast Ordering for Changing XML Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DPEN | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2006528509 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 05751100 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11571191 Country of ref document: US |