WO2006054506A1 - ツリーデータの検索・集計・ソート方法及びプログラム - Google Patents
ツリーデータの検索・集計・ソート方法及びプログラム Download PDFInfo
- Publication number
- WO2006054506A1 WO2006054506A1 PCT/JP2005/020808 JP2005020808W WO2006054506A1 WO 2006054506 A1 WO2006054506 A1 WO 2006054506A1 JP 2005020808 W JP2005020808 W JP 2005020808W WO 2006054506 A1 WO2006054506 A1 WO 2006054506A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- tree
- nodes
- root
- parent
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
Definitions
- the present invention relates to a method of handling a tree-type data structure, and more particularly to a method of searching and “aggregating” and sorting data of a tree-type data structure.
- the present invention also relates to an information processing apparatus that implements such a method.
- the present invention relates to a program for executing such a 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 (ThirdEdition)", [online], 2004 February 4, [Search February 19, 2004], Internet URL: http: ⁇ www .w3.org / TR / 2004 / REC-xml-20040204 />
- Non-Patent Document 3 R. Alan Zuiiku, 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.
- the above DOM only specifies the interface for operations that edit the topology of the tree-type data structure, not the specific method of operations.
- the present invention provides a method, an information processing apparatus, a program, and a recording medium on which the program is recorded, which can efficiently search, aggregate, and sort data having a tree-type data structure.
- the purpose is to provide the body.
- 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 data is expressed by a “child-to-parent” relationship that associates the nodes, the tree-type data structure data is searched, aggregated, and sorted based on the parent-child relationship expression.
- a method for retrieving data having a tree-type data structure including a root 'node developed in a storage device and a non-root' node that is a node other than the root 'node. As described in 1,
- a unique node identifier is assigned to all nodes including the root node, and the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each non-root node, This represents the parent-child relationship between the nodes that make up the tree-type data structure,
- Each node is associated with at least one entity information representing data
- search hit information For each node, it is determined whether the entity information associated with the node matches the search condition. If the information matches, the search hit information is associated with the node, and the parent-child relationship between the nodes is determined. Associating search hit information with an ancestor node; a search step;
- entity information can be specified, the entire tree can be inspected, and nodes that meet the conditions can be detected.
- 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. A single parent node corresponding to a child node can be immediately identified. This allows a tree data structure Can be searched at high speed.
- node identifiers are defined by integers
- an array that accommodates child node identifiers is not required when defining a parent-child relationship (ie, the topology of a tree-type data structure is described with one array) Memory usage is reduced and processing speed is increased.
- the node identifier is an integer serial number.
- the present invention provides, as described in claim 2,
- the partial tree is a group of nodes including a specific node of the tree-type data structure and descendant nodes of the specific node.
- the condition specifying step includes a step of specifying at least one partial tree representing the search range
- the method further includes a step of storing an identifier representing a partial tree including a node associated with the search hit information as a search result.
- the search result is obtained as a list of identifiers representing partial trees.
- a method for retrieving data having a tree-type data structure including a root 'node developed in a storage device and a non-root' node that is a node other than the root 'node.
- a unique node identifier is assigned to all nodes including the root node, and the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each non-root node, This represents the parent-child relationship between the nodes that make up the tree-type data structure,
- Each node is associated with at least one entity information representing data
- the partial tree is a group of nodes including a specific node of the tree-type data structure and descendant nodes of the specific node.
- a method for retrieving data of a tree-type data structure including a root 'node developed in a storage device and a non-root' node that is a node other than the root 'node.
- a unique node identifier is assigned to all nodes including the root node, and the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each non-root node, This represents the parent-child relationship between the nodes that make up the tree-type data structure,
- Each node is associated with at least one entity information representing data
- the partial tree is a group of nodes including a specific node of the tree-type data structure and descendant nodes of the specific node.
- each partial tree it is determined whether or not at least one entity information associated with a node belonging to the partial tree matches the search condition based on a parent-child relationship between the nodes, and a matching node exists. Storing an identifier representing the partial tree as a search result;
- entity information can be specified as a search condition, a partial tree can be inspected, and a partial tree identifier can be obtained as a search result.
- a method for retrieving data of a tree-type data structure including a root 'node developed in a storage device and a non-root' node that is a node other than the root 'node.
- a unique node identifier is assigned to all nodes including the root node, and the node identifier given to each of the non-root nodes is added to each parent node of the non-root node.
- Node identifiers which represent the parent-child relationship between the nodes that make up the tree data structure,
- Each node is associated with at least one entity information representing data
- the partial tree is a group of nodes including a specific node of the tree-type data structure and descendant nodes of the specific node.
- an ancestor node of the partial tree is identified by finding a parent-child relationship between the nodes, and at least one entity information associated with the specific node and Z or the ancestor node of the partial tree is searched. Determining whether the condition is met and associating search hit information with the matched node;
- entity information can be specified as a search condition, an ancestor node can be inspected, and a node that matches the search condition can be obtained as a search result.
- a method for retrieving data of a tree-type data structure including a root 'node developed in a storage device and a non-root' node that is a node other than the root 'node.
- a unique node identifier is assigned to all nodes including the root node, and the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each non-root node, This represents the parent-child relationship between the nodes that make up the tree-type data structure,
- Each node is associated with at least one entity information representing data
- the partial tree is a group of nodes including a specific node of the tree-type data structure and descendant nodes of the specific node.
- an ancestor node of the partial tree is identified by finding a parent-child relationship between the nodes, and at least one entity information associated with the specific node and Z or the ancestor node of the partial tree is searched.
- Judges whether the condition is met and matches A step of storing an identifier representing the partial tree as a search result when a node exists;
- entity information can be specified as a search condition, an ancestor node can be inspected, and an identifier of a partial tree having an ancestor node hit in the search can be obtained as a search result.
- data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node developed in the storage device is used as the first search condition and the second search condition.
- the method of searching by logically combining is as described in claim 7,
- a unique node identifier is assigned to all nodes including the root node, and the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each non-root node, This represents the parent-child relationship between the nodes that make up the tree-type data structure,
- Each node is associated with at least one entity information representing data
- the partial tree is a group of nodes including a specific node of the tree-type data structure and descendant nodes of the specific node.
- At least one subtree representing the search scope is specified.
- an identifier representing a partial tree to which a node that matches the first search condition belongs is obtained based on the parent-child relationship between the nodes.
- an identifier representing a partial tree to which a node that matches the first search condition belongs is obtained based on a second search result based on a parent-child relationship between the nodes.
- the first search condition and the second search condition By executing a logical operation corresponding to the logical relationship between the first search condition and the second search condition on the first search result and the second search result, the first search condition and the second search Generating search results that logically combine conditions;
- a search combining search conditions is realized as a search using individual search conditions and a logical operation of the search results of the individual search.
- a unique node identifier is assigned to all nodes including the root node, and the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each non-root node, This represents the parent-child relationship between the nodes that make up the tree-type data structure,
- Each node is associated with at least one entity information representing data
- the partial tree is a group of nodes including a specific node of the tree-type data structure and descendant nodes of the specific node.
- For each partial tree identify the node group belonging to the partial tree based on the parent-child relationship between the nodes, and determine whether there is a node associated with the entity information representing the target of aggregation in the node group. And, if present, a step of aggregating entity information associated with the node;
- a method for aggregating data of a tree-type data structure including a root 'node developed on a storage device and a non-root' node that is a node other than the root 'node is provided. As described in
- a unique node identifier is assigned to all nodes including the root node, and the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each non-root node, This represents the parent-child relationship between the nodes that make up the tree-type data structure,
- Each node is associated with at least one entity information representing data
- the partial tree is a group of nodes including a specific node of the tree-type data structure and descendant nodes of the specific node. Specifying entity information representing a classification target for aggregation, specifying entity information representing an aggregation target, and specifying at least one partial tree representing a range of aggregation;
- For each partial tree identify the node group belonging to the partial tree based on the parent-child relationship between the nodes, and determine whether there is a node associated with the entity information representing the target of aggregation in the node group. And, if present, summing entity information associated with the node for each entity information representing a classification target of aggregation related to the node group belonging to the partial tree;
- an order is given to at least two node groups of data of a tree-type data structure including a root 'node expanded in a storage device and a non-root' node that is a node other than the root 'node.
- the method is as described in claim 10
- a unique node identifier is assigned to all nodes including the root node, and the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each non-root node, This represents the parent-child relationship between the nodes that make up the tree-type data structure,
- Each node is associated with at least one entity information representing data
- a partial tree is a group of nodes including a specific node of data of a tree-type data structure and descendant nodes of the specific node,
- For each partial tree identify the node group belonging to the partial tree based on the parent-child relationship between the nodes, and determine whether there is a node associated with the entity information representing the target of aggregation in the node group. And, if present, a step of aggregating entity information associated with the node;
- the partial tree can be sorted using the aggregation result.
- at least two node groups of data of a tree-type data structure including a root 'node developed in a storage device and a non-root' node that is a node other than the root 'node are included. How to order
- a unique node identifier is assigned to all nodes including the root node, and the node identifier assigned to each parent node of the non-root node is associated with the node identifier assigned to each non-root node, This represents the parent-child relationship between the nodes that make up the tree-type data structure,
- Each node is associated with at least one entity information representing data
- a partial tree is a group of nodes including a specific node of data of a tree-type data structure and descendant nodes of the specific node,
- the node group belonging to the partial tree is identified through the parent-child relationship between the nodes, and the entity information associated with the node associated with the entity information as an index of ordering in the node group Step to get the
- each entity information is item name information representing an item of data or item value information representing an item value of data.
- a partial tree including a specific node and a descendant node of the specific node is defined by a node identifier of the specific node. expressed.
- a partial tree can be represented by one vertex node. It becomes possible to describe the result of search and the target range of search and aggregation by this vertex node.
- the unique node identifiers assigned to all nodes including the root 'node are more than nodes of the same generation. Is also given priority over child nodes.
- the data of the tree-type data structure includes a plurality of tree data to which a tree identifier is assigned. This makes it possible to process multiple tree data as search, aggregation, and sort targets.
- the information processing apparatus of the present invention has a storage device for storing data of a tree-type data structure including a non-root node that is a node other than a root node and a root 'node.
- An information processing device for retrieving data stored in a storage device is described in claims 16 to 30.
- Condition specifying means for specifying a search condition related to at least one entity information, and for each node, it is determined whether at least one entity information associated with the node matches the search condition.
- a search means for associating search hit information with each other and associating search hit information with an ancestor node of the node based on a parent-child relationship between the nodes;
- the partial tree is a group of nodes including a specific node of the tree-type data structure and descendant nodes of the specific node.
- the condition specifying means includes means for specifying at least one partial tree representing the search range,
- the search means identifies the partial tree containing the node with which the search hit information is associated Means for saving the child as a search result;
- the information processing apparatus has a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node.
- An information processing device that retrieves data stored in a storage device and assigns a unique node identifier to all nodes including the root node, giving priority to child nodes over nodes of the same generation.
- 'Node identifier assigned to each of the nodes is associated with the node identifier assigned to each parent node of the non-root' node, thereby expressing the parent-child relationship between the nodes that make up the tree-type data structure.
- a data expansion means for associating at least one entity information representing data with each other and constructing a tree-type data structure on the storage device;
- a partial tree is a group of nodes including a specific node of a tree-type data structure and descendant nodes of the specific node, and specifies at least one sub-tree representing a search range by specifying a search condition for at least one entity information.
- a search means for associating search hit information with a matched node For each partial tree, identify the node group belonging to the partial tree by determining the parent-child relationship between the nodes, determine whether at least one entity information associated with the node group matches the search condition, A search means for associating search hit information with a matched node;
- An information processing apparatus includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node.
- An information processing device for retrieving data stored in a device includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node.
- All nodes including the root node are given a unique node identifier in preference to the child node over the same generation node, and the node identifier assigned to each non-root 'node is assigned to each non-root' node.
- the parent-child relationship between the nodes that make up the tree-type data structure is expressed, and at least one entity information representing the data is associated with each node.
- a partial tree is a specific node of a tree-type data structure and a descendant node of the specific node.
- a condition specifying means for specifying a search condition related to at least one entity information and specifying at least one partial tree representing a search range;
- search means for storing an identifier representing the partial tree as a search result when a matching node exists;
- An information processing device includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node, An information processing device for retrieving data stored in a device,
- a partial tree is a group of nodes including a specific node of a tree-type data structure and descendant nodes of the specific node, and specifies at least one sub-tree representing a search range by specifying a search condition for at least one entity information.
- an ancestor node of the partial tree is identified by finding a parent-child relationship between the nodes, and at least one entity information associated with the specific node and Z or the ancestor node of the partial tree is searched.
- the information processing device includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node.
- An information processing device for retrieving data stored in a device includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node.
- a node identifier given to each parent node of the non-root node by assigning a unique node identifier to all nodes including the root node, and a node identifier assigned to each non-root node Data expansion that associates identifiers, thereby expressing the parent-child relationship between the nodes that make up the tree-type data structure, associates at least one entity information representing data with each node, and builds the tree-type data structure on the storage device Means,
- a partial tree is a group of nodes including a specific node of a tree-type data structure and descendant nodes of the specific node, and specifies at least one sub-tree representing a search range by specifying a search condition for at least one entity information.
- an ancestor node of the partial tree is identified by finding a parent-child relationship between the nodes, and at least one entity information associated with the specific node and Z or the ancestor node of the partial tree is searched.
- the information processing apparatus includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node, and the first search An information processing apparatus that performs a search by logically combining a condition and a second search condition,
- the partial tree is a node group including a specific node of the tree-type data structure and a descendant node of the specific node, and a condition specifying means for specifying at least one partial tree representing a search range;
- an identifier representing a partial tree to which a node that matches the first search condition belongs is obtained based on the parent-child relationship between the nodes. And matches the first search condition for the parent-child relationship between the nodes according to the second search condition that specifies at least one entity information.
- An information processing apparatus includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node.
- An information processing device that aggregates data stored in the device,
- All nodes including the root node are given a unique node identifier in preference to the child node over the same generation node, and the node identifier assigned to each non-root 'node is assigned to each non-root' node.
- the parent-child relationship between the nodes that make up the tree-type data structure is expressed, and at least one entity information representing the data is associated with each node.
- Data expansion means for expanding the data on the storage device
- a partial tree is a node group that includes a specific node of a tree-type data structure and descendant nodes of the specific node, specifies entity information that represents the aggregation target, and specifies at least one partial tree that represents the aggregation range
- a condition designating means
- For each partial tree identify the node group that belongs to the partial tree based on the parent-child relationship between the nodes, determine whether entity information representing the target of aggregation is associated with the node group, and exist And a counting means for counting the entity information associated with the node,
- An information processing device includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node.
- An information processing device that aggregates data stored in the device,
- All nodes including the root node are given a unique node identifier in preference to the child node over the same generation node, and the node identifier assigned to each non-root 'node is assigned to each non-root' node.
- the partial tree is a group of nodes including a specific node of a tree-type data structure and descendant nodes of the specific node, specifying entity information representing a classification target of aggregation, specifying entity information representing a target of aggregation, A condition specifying means for specifying at least one partial tree representing a range of aggregation;
- an aggregation means that aggregates entity information associated with the node for each entity information representing an aggregation classification target related to the node group belonging to the partial tree;
- the information processing apparatus includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node, and stores the data in the storage device.
- An information processing device for ordering at least two nodes of the received data is a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node, and stores the data in the storage device.
- All nodes including the root node are given a unique node identifier in preference to the child node over the same generation node, and the node identifier assigned to each non-root 'node is assigned to each non-root' node.
- the parent-child relationship between the nodes that make up the tree-type data structure is expressed, and at least one entity information representing the data is associated with each node.
- Data expansion means for expanding the data on the storage device
- a partial tree is a node group that includes a specific node of data of a tree-type data structure and descendants of the specific node, specifies entity information that represents an aggregation target, and includes at least two partial trees that represent the scope of aggregation.
- a group of nodes belonging to the partial tree is identified based on the parent-child relationship between the nodes, and entity information representing the aggregation target is associated with the node group.
- Ordering means for ordering the at least two partial trees according to the order relation of the item value information aggregated for each partial tree
- An information processing apparatus includes a storage device that stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node.
- An information processing device for ordering at least two nodes of data stored in the device,
- All nodes including the root node are given a unique node identifier in preference to the child node over the same generation node, and the node identifier assigned to each non-root 'node is assigned to each non-root' node.
- the parent-child relationship between the nodes that make up the tree-type data structure is expressed, and at least one entity information representing the data is associated with each node.
- Data expansion means for expanding the data on the storage device
- a partial tree is a group of nodes including a specific node of data of a tree-type data structure and descendant nodes of the specific node. At least two partial trees to be ordered are specified, and entity information serving as an index for ordering is specified.
- the node group belonging to the partial tree is identified by determining the parent-child relationship between the nodes, and the node information associated with the entity information serving as an index for ordering is identified in the node group.
- Ordering means for ordering the at least two partial trees according to the order relation of the item value information acquired for each partial tree
- a program for executing the method according to 5 is provided.
- the parent-child relationship between the nodes of the tree-type data structure is expressed based on the "child ⁇ parent" expression! This reduces the amount of memory that is accessed, enabling fast search, aggregation, and sorting.
- FIG. 1 is a block diagram showing a hardware configuration of a computer system that searches, aggregates, and sorts data having a tree-type data structure useful for the embodiment of the present invention.
- this computer system 10 has a configuration similar to that of 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 such as hard disk 18, CD — ROM driver 20 for accessing ROM 19 — CD—ROM driver 20 and external network ( An interface (IZF) 22 provided between an external terminal (not shown) and an external terminal connected thereto, an input device 24 such as a keyboard and a mouse, and a CRT display device 26 are provided.
- the CPU 12, RAM 14, 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 searching, summing up, and sorting data of a tree-type data structure and a program for converting the tree-type data structure on a storage device according to the present embodiment are accommodated in a CD-ROM19. It may be read by the CD-ROM driver 20 or stored in the ROM 16 in advance. In addition, what is once read from the CD-ROM 19 may be stored in a predetermined area of the external storage medium 18. Alternatively, the program may be supplied with an external force 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 running a program that searches, aggregates, and sorts data with a tree-type data structure.
- FIG. 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.
- Figure 2B shows an example of the same tree format data expressed in XML format.
- the tree-type data structure is expressed by a combination of nodes and arcs starting from the root node (in this example, POS data) and branching at each node to the leaf node (end point).
- the Each node is associated with item name information, that is, the node type, and item value information, that is, the value of the node.
- This association can be realized, for example, by associating a node identifier with a pointer to a node information storage area in which information describing the node type and node value is stored.
- the present invention is not limited by the way the actual values of the tree data structure are handled.
- 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. So, for example, if nodes are connected with a pointer according to the depth-first rule, reconnect these nodes with a pointer according to the width-first rule. It is difficult to do.
- 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.
- Figure 3A shows the entire tree data structure.
- FIG. 3A shows an arc list from a parent node (From—ID) to a child node (To—ID), and FIG. 3C shows a node list including 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 tree-type data structure. In principle, the relationship between nodes can be described directly without using pointers by using such an arc list.
- 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, By identifying a child node, you can immediately identify the only parent node that corresponds to this child node. In other words, 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 4D are explanatory diagrams of a method for expressing a tree-type data structure based on the “child ⁇ parent” relationship.
- 4A is an explanatory diagram of the entire tree
- FIG. 4B is an arc list based on the “child ⁇ parent” relationship. Since the arc list in FIG. 4B includes a storage area of the parent node for the root node, “ ⁇ - ⁇ ” is set as the parent node of the root node for convenience. 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. Absent.
- the parent-child relationship between the nodes is expressed by associating the parent node of the non-root node with each non-root node that is a node other than the root node.
- the tree topology can be expressed by obtaining a list of parent nodes from the child nodes expressed as “child ⁇ parent”.
- 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 numeric value as the node identifier, more preferably a consecutive integer, and even more preferably an integer sequence number from 0 or 1. to this Therefore, the node identifier of the parent node corresponding to the node can be easily obtained from the node identifier, so that the process of subtracting the node identifier of the parent node can be performed at high speed. You can do it.
- a node with a tree-type data structure is given a number with an order as a node identifier to express a parent-child relationship between the nodes, by defining a rule in the order of number assignment, the subsequent tree-type data structure When handling becomes easy, there is an advantage.
- a rule for assigning numbers a depth priority mode that prioritizes child nodes over nodes of the same generation and a width priority mode that prioritizes nodes of the same generation over child nodes are used.
- 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.
- Figure 6A shows tree-structured data with each node assigned an ID number.
- Fig. 6B shows the conversion rules
- Fig. 6C shows the tree-structured data with integer numbers assigned to each node!
- 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, the numbers may be numbered in descending order.
- FIGS. 7A to 7C 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.
- Figure 7A shows tree-structured data with each node assigned an ID number.
- FIG. 7B shows conversion rules
- FIG. 7C shows tree-structured data in which integer sequential numbers are assigned to each node.
- the conversion rule in this example is a rule that assigns a serial number with breadth priority. Specifically, if 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 priority to the sibling node over the child node. In this example, numbering is performed in ascending order, but numbering may be performed in descending order.
- the tree-type data structure based on depth priority as shown in Fig. 6C is stored in the computer system 10 shown in Fig. 1.
- 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. 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 FIG. 6C.
- sub-tree 1 or sub-tree 2 if you represent the parent-child relationship of nodes assigned consecutive numbers with depth priority based on the “child-to-parent” relationship, the descendant nodes of a node When appears in a continuous region,! / ⁇ ⁇ excellent properties are obtained.
- All the descendant nodes of the certain node can be specified by extracting a continuous area in which a value equal to or greater than an integer assigned to the node is stored.
- 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).
- FIG. 10 is an explanatory diagram of an array of parent-child relationships based on the created “parent ⁇ child” expression. Since there can be a plurality of child nodes for one parent node, the parent-child relationship array stores the child node number for each node, an array Aggr for indicating the area, and the child node number. It is composed of two arrays, P ⁇ C, in which the numbers of the nodes are stored.
- the value of the second element Aggr [1] from the beginning of the array Aggr is "3", which means that the number of the child node for the node [1] is the element P ⁇ C of the array P ⁇ C [3] Indicates that it is stored after.
- the node [0] that is, the child node for the root node is the three elements from the beginning of the array P ⁇ C, P ⁇ C [0] 1, P ⁇ C [1] 6, and P ⁇ 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. Only However, in order to find a parent-child relationship using this array, the number of the parent node must be searched, that is, the access time of log (n) is required, so that the efficiency is low.
- FIG. 7C Furthermore, a tree-type data structure based on breadth-first as shown in FIG. 7C is added to 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. 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 shows “child ⁇ parent” created from the breadth-first tree data structure shown in FIG. 7C. It is explanatory drawing of the arrangement
- the parent-child relationship of nodes assigned consecutive numbers with breadth priority is expressed based on the “child-to-parent” relationship
- child nodes of a certain node appear in a 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 expressed as an array based on the “child ⁇ parent” relationship, the numbers assigned to the parent nodes are ordered (ascending or descending) in the array. ) To appear in).
- FIG. 13 is an explanatory diagram of an array of parent-child relationships based on the created “parent ⁇ child” expression, with the breadth-first tree type data structure shown in FIG. 7C.
- Figure 13 Sece there can be multiple child nodes for one parent node, the parent-child relationship array contains an array Aggr to indicate the area where the child node number for each node is stored, Consists of two arrays P ⁇ C that store numbers.
- 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 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] is 3.
- 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 depth priority mode and the width priority mode for assigning sequential numbers to nodes each have unique and excellent properties.
- one tree-type data structure can be expressed in any of the “child ⁇ parent” representation format based on depth priority, the “child ⁇ parent” representation format based on width priority, and the “parent ⁇ child” representation format. Is possible. Therefore, it should be noted that the “child ⁇ parent” representation format based on depth priority, the “child ⁇ parent” representation format based on breadth priority, and the “parent ⁇ child” representation format are interchangeable as appropriate. is there.
- a specific part of the entire tree data may be a processing target, for example, a search target range.
- the inventor has proposed a method for improving the efficiency of various processes by introducing a single node that represents a specific part including a plurality of nodes. Next, this method will be described in detail.
- the value of the node closest to the root 'node is used to represent the node and all the nodes that branch from that node up to the leaf' node (endpoint). think of.
- a node group from a certain node and its node force to a leaf 'node is called a partial tree.
- the node closest to the above node (root node) is called the vertex node.
- FIG. 14A is a diagram showing a tree-type data structure based on the above-described breadth-first mode
- FIG. 14B is a diagram showing an array of a parent-child relationship based on the tree-type data structure based on the expression “child ⁇ parent”.
- vertex node [4] contains node identifier ⁇ 4, 8, 9 ⁇
- vertex node [6] contains node identifier ⁇ 6 ⁇
- vertex node [3] contains node identifier Includes ⁇ 3, 7, 10, 11 ⁇ .
- Such an array composed of a plurality of vertex nodes is referred to as a vertex node list.
- a plurality of partial trees can be specified by the vertex node list, and the plurality of specified partial trees are called a partial tree group.
- the vertex node list is represented as [a, b,.
- “a”, “,”,... are node identifiers corresponding to the vertex nodes.
- each vertex node constituting the vertex node list is expanded and node identifiers of all nodes included in the partial tree having the vertex node as a vertex are obtained.
- a partial tree group is referred to as a “regular partial tree group”.
- Such a partial tree group is called “non-normal subtree group”.
- a partial tree group can be converted into a normal partial tree group, and this process is referred to as “normalization”. Normalization is important for efficient execution of set operations.
- every node belongs to at most one vertex node, so the list of vertex nodes to which each node belongs should be described as an array of size equal to the number of vertex nodes at most. Can do. For this reason, in the normalized state, set operations represented by logical products and logical sums can be performed efficiently.
- a partial tree group including a vertex node and its descendant nodes can be specified by the vertex node list.
- the vertex node list [4, 6, 3] can be used to create a partial tree group (partial trees ⁇ 4, 8, 9 ⁇ , ⁇ 6 ⁇ , ⁇ 3, 7, 10, 11 ⁇ ) is specified.
- the partial tree group specified by the vertex node list can be a target of search, aggregation, sorting, and set operation.
- FIG. 16A is a vertex node list representing this partial tree group.
- an array 1701 is a vertex node list
- an array 1702 is an array indicating the number of nodes belonging to the partial tree specified by each vertex node.
- an array 1801 is a sorted vertex node list
- an array 1802 is an array indicating the number of nodes belonging to the partial tree specified by the vertex node list.
- Figure 1 8B shows a state where the partial tree is sorted according to the number of nodes.
- a logical product will be described as a set operation between a plurality of partial tree groups.
- the partial tree group shown in FIG. 19B (the corresponding vertex node list is shown in FIG. 19A) and the partial tree group shown in FIG. 19D (the corresponding vertex node list is shown in FIG. 19C).
- the logical product is described as a set operation between a plurality of partial tree groups.
- FIG. 19B compares the partial tree 1901 identified by the vertex node with the node identifier “4” and the partial tree 1 911 identified by the vertex node identifier with the node identifier “1” in FIG. 19D. Then, the partial tree 1901 is included in the partial tree 1902. A partial tree that has an inclusive relationship with the partial tree 1902 in FIG. 19B does not exist in the partial tree group shown in FIG. 19D. Also, comparing the partial tree 1903 identified by the vertex node of the node identifier “3” in FIG. 19B with the partial tree 1913 identified by the node identifier “7” in FIG. 19D, the partial tree 1913 is , Included in the partial tree 1903. As a result, the vertex node list indicating the result of the logical product operation is [4, 7] as shown in Fig. 20A. FIG. 20B shows a partial tree group corresponding to the result of the logical product operation.
- the vertex node list (in addition to this, an array storing the aggregation results (number of nodes) of the same size as the vertex node list) Can represent the result of each process or operation.
- the logical product of the two normal partial tree groups becomes the normal partial tree group 2202.
- the normal subtree group 2202 includes the normal subtree group 2201 (see FIG. 22C)
- the logical product of the two normal subtree groups becomes the normal subtree group 2201.
- both normal subtree groups do not have an inclusive relationship, the logical product between them becomes an empty set.
- FIG. 23 is a flowchart showing processing executed by the system during the logical product operation.
- a marking array is generated for each normal subtree group to be subjected to the AND operation (step 2301).
- the marking array is equivalent to the flag array and the affiliated node array generated by normalization. That is, the marking arrangement can be obtained by performing the same processing as the first method and the second method of normalization calculation.
- the system 10 compares the corresponding values of both marking sequences (steps). 2302). More specifically, the system 10 initializes pointers for identifying corresponding values in the two marking arrays (step 2311), and retrieves both values of the marking arrays indicated by the pointers (step 2312). Both values or one value force If the initial value is “ ⁇ 1” (No in step 2313), the system 10 indicates that the pointer does not point to the end of the array, otherwise (no in step 2315). (No)), move the pointer (step 2316), and return to step 2312.
- both values of the marking array are values other than the initial value "1" (Yes in step 2 312), the larger value power storage address of the marking array values, That is, it is determined whether or not it is equal to the corresponding node identifier (step 2313). If it is determined YES in step 2133, the system 10 stores the matching value in the vertex node array as the value of the vertex node array indicating the result of the logical AND operation (step 2314). Thereafter, if the pointer does not point to the end of the array (No in step 2315), the pointer is moved (step 2316), and the process returns to step 2312.
- step 2312 If it is determined NO in step 2312 and the pointer does not point to the end of the array (NO in step 2315), the pointer is moved (step 2316). Return to.
- FIG. 24 shows a state where the marking sequences of the normal subtree group [3, 6] and the normal subtree group [2, 7] are generated.
- the reference numeral 2401 indicates the marking array (first marking array) of the normal subtree group [3, 6], and the marking arrangement (second second) of the normal subtree group [2, 7]. Marking array)
- the logical OR operation can be described as follows.
- A, ⁇ , C, and D be normal subtree groups, respectively.
- the normal subtree group can be represented by a vertex node list.
- (Expression 1) is expressed by two vertex node lists (a vertex node list indicating the logical product operation result of A and C, and a vertex node indicating the logical sum operation result of B and D) List) and the operator "subtraction" between them.
- it should be represented by the four vertex node lists of the regular subtree groups A to C and the operators between them, but can be represented by the two vertex lists and the operators between them.
- the vertex node list of the reduced number and the vertex node list of the reduced number (excluded vertex node list) ).
- negation (NOT) of normal subtree groups can be expressed as an excluded vertex node list.
- ⁇ Aj (A is a normal subtree group) is the negation of all node force normal subtree groups A except for the vertex nodes listed in the excluded vertex node list and their descendant nodes.
- exclusive OR can also be expressed by a vertex node list and an excluded vertex node list.
- Tree data search has two aspects: path search and node stored value search.
- the search of the path is to extract a node satisfying the path condition of, for example, 7shop / shopName in FIGS. 2A and 2B.
- a general tree data search is a combination of a path search and a node stored value search.
- a general tree data search is a search using an AND condition that satisfies the path condition and the node storage value condition at the same time. It is possible to determine whether or not a certain vertex node force satisfies the AND condition by examining the path condition and examining the condition of the node storage value of the node that satisfies the path condition.
- the search by specifying the AND condition can be realized by executing an AND (logical product) operation of the search result set by the path condition and the search result set by the node storage value condition.
- the tree data search is not limited to the search by specifying the AND condition of the above path condition and node stored value condition.
- This search by specifying the OR condition can be realized by executing an OR (logical sum) operation on the search result set by the path condition and the search result set by the node storage value condition.
- node item name information for example, node type
- node item value information for example, node value
- Entity information is used.
- these entity information may be specified by following a node identifier with a pointer to a node information storage area in which information describing the node type and node value is stored. it can.
- the node information storage area can be configured to store only the node value.
- FIGS. 27A and 27B are explanatory diagrams of a tree-type data structure to be searched according to a path condition of descendants according to an embodiment of the present invention and a “child ⁇ parent” expression of a parent-child relationship of nodes.
- the node type that is the item name information of each node is represented by a symbol number.
- FIG. 27A the node identifier (for example, the node number) of each node is displayed together with a graphic corresponding to the symbol number of that node. Has been. For example, the root 'node is a round symbol. The vertex nodes are indicated by black stars ( ⁇ ).
- FIG. 27B is a diagram showing the correspondence between symbol numbers, display figures, and symbol names.
- node extraction is performed using a condition of a descendant node of a vertex node as a search condition. More specifically, vertex nodes including button-type nodes as descendant nodes are extracted.
- Method 1 is a method that checks in the order of the head force of the expression “child ⁇ parent”, and is effective when the number of vertex nodes is large.
- method 2 is effective when the number of vertex nodes is small, since the parent power is checked in order starting from the vertex nodes.
- Method 1 and Method 2 may be selectively performed.
- a computer system that executes a path condition search method 1 according to an embodiment of the present invention
- tree-type data structure data including a root 'node and a non-root' node that is a node other than the root 'node is expanded in 10 RAMs 14. More specifically, a node number that is a unique node identifier is assigned to all nodes including the root 'node, and the node identifier assigned to each non-root' node is assigned to each parent node of the non-root 'node.
- each node is associated with a node type (or symbol number) that is item name information and a node value that is item value information.
- the computer system 10 determines whether or not the node type associated with the node matches the button type, and if it matches, the search hit information is associated with the node.
- the search hit information is associated with the ancestor node of the relevant node through the parent-child relationship in the form of “child ⁇ parent”.
- the search hit information can be associated with the node identifier by preparing a flag information area corresponding to each node identifier and setting the flag information when the search hits, for example.
- FIG. 28 is a flowchart of a tree search method based on descendant path conditions that is useful in an embodiment of the present invention.
- FIGS. 29A to 33C are diagrams for explaining the operation state of the tree search method based on the descendant path conditions according to an embodiment of the present invention.
- the system 10 initializes a flag area Flag and initializes a symbol number read address (step 2801).
- the flag area is initialized with the value 0
- the symbol number read address is initialized with the leading address 0, and the symbol number (Symbol 1)
- step 2802 the symbol number (Symbol No.) corresponding to this symbol number reading address (step 2802) and checks whether this symbol number is 1 (step 2803).
- the pointer indicating the check location is indicated by a thick arrow. Since the symbol number corresponding to the start address 0 is 2, the check result in step 2803 is No, and if the next address is checked (step 2808), the next address 1 exists ( (Yes), move the symbol number read address to the next address 1 (step 2805) and return to step 2802.
- steps 2802, 2803, 2804, and 2805 are repeated until the read symbol number matches 1 or the next symbol number read address is exhausted.
- the symbol number does not match 1 until f, dress 0 force and address 6 in this f row.
- Figure 29C when the symbol number read address advances to 7, the symbol number matches 1 (step 2803)
- the system 10 finds a symbol number matching 1 in step 2803 (Yes), it marks the flag of the node at the address 7 found as shown in Figure 3 OA (step 28 06), Using the parent-child relationship expression C ⁇ P, the address of the parent node of address 7, that is, address 6, is found, and the target node is moved to the parent node (step 2807).
- the node at address 7 is referred to as node 7 and the node at address n is generally referred to as node n.
- the system 10 checks whether the destination parent node 6 is marked (step 2808), because the flag of node 6 is not marked (No).
- step 2809 mark the flag of parent node 6 (step 2809), and return to step 2807 to check whether there is a parent node.
- node 6's parent node is node 0, and the flag for node 0 is not marked (step 2808, No), so mark the flag for node 0 (step 2809) If it is checked whether there is a parent node (step 2807), the parent node does not exist (No), and the system 10 proceeds to step 2804.
- the system 10 moves the symbol number read address to the next address 8 as shown in Fig. 31A (step 2805), and the read symbol number is 1 as shown in Fig. 31B. Until the next symbol number read address is exhausted. Repeat steps 2802, 2803, 2804, and 2805. As shown in FIG. 31C, the symbol number matches 1 when it reaches the readout address 11 (step 2803).
- step 2806 Since the system 10 finds the symbol number matching 1 in step 2803 (Yes), it marks the flag of the found node 11 (step 2806) as shown in Fig. 32A, and displays the parent-child relationship expression. Use C ⁇ P to move to node 9 which is the parent node of node 11 (step 2807).
- the system 10 checks whether the destination parent node 9 is marked (step 2808), because the flag for node 9 is not marked (No). Then, mark the flag of node 9 (step 2809), and return to step 2807 to check if there is a parent node.
- the parent node of node 9 is node 8
- the flag for node 8 is not marked (No)
- the node 8 flag is marked (step 2809), and the parent node is Return to step 2807 to see if it exists.
- the parent node of node 8 is node 0, and as shown in Figure 32D, if node 0 is already marked (step 2 808), it is already marked (Yes), so go to step 2804 move on. If it is checked whether there is an address next to the current symbol number read address 11 (Step 2 804), since there are no more addresses (No), marking ends.
- the result of the flag area can be used as it is as a result of the exhaustive search of nodes.
- the system 10 sets each vertex node in the vertex node list after marking. Check if the flag is marked! /, And store the marked vertex node as! / In the vertex node list after the search.
- vertex node 1 has a corresponding flag of 0, so the partial tree with node 1 as the vertex does not contain a button-type node, but vertex node 6 is shown in Fig. 33B.
- the corresponding flag is 1 (ie, marked)
- the partial tree with node 6 at the top contains a button-type node.
- the vertex node 8 is also the top node of the partial tree including the button type node. Therefore, as shown in FIG. 33C, a vertex node list including the vertex nodes 6 and 8 is generated as a search result.
- a vertex node list including the vertex nodes 6 and 8 is generated as a search result.
- the initial value may be a force other than 0, with 0 being the initial value.
- the integer used for marking is not limited to the smallest integer as long as it is unused.
- the path condition search method 2 includes data of a tree-type data structure including a non-root node that is a node other than the root node and the root node. Has been expanded.
- the parent-child relationship between the nodes that make up the tree-type data structure is constructed in an expression format with depth-first “child ⁇ parent”.
- descendant nodes of a certain node appear in a continuous region. Take advantage of superior properties.
- Each node is associated with a node type (or symbol number) that is item name information and a node value that is item value information, for example, as shown in FIG.
- system 10 displays the search scope.
- a vertex node list [1, 6, 8] including vertex nodes 1, 6, and 8 is specified.
- This search condition and search range may be input by the user via the input device 24 of the computer system 10 or read from the external storage medium 18 or set by external force via the IZF 22, for example. May be.
- the vertex node is a node representing a node group including a specific node of the tree-type data structure and descendant nodes of the specific node.
- the computer system 10 identifies the descendant node of the vertex node using the parent-child relationship between the nodes, and associates it with the vertex node and Z or the descendant node of the vertex node. It is determined whether or not the given node type matches the button type. If there is a matching node, the node identifier assigned to the vertex node is saved as the search result.
- FIG. 34 is a flowchart of a tree search method based on descendant path conditions that is useful in an embodiment of the present invention.
- FIGS. 35A to 37C are diagrams for explaining the operation state of the tree search method based on the path conditions of the descendants according to the embodiment of the present invention.
- the system 10 initializes a pointer indicating an address for reading a vertex node from the vertex node list with the top address of the vertex node list (step 3401).
- First vertex node 1 is extracted from (step 3402).
- the system 10 identifies the descendant node of the top node 1 by referring to the expression of the parent-child relationship by depth-first “child ⁇ parent” (step 3403).
- the expression of the parent-child relationship by depth-first “child ⁇ parent” has the above-mentioned excellent properties! /. Therefore, a descendant node of a specific node has a node identifier assigned to this specific node.
- a value greater than the value of the node identifier assigned to the specific node is stored from the next position after the stored position, and can be specified by extracting the continuous area.
- C ⁇ P a continuous area from the next position where the node identifier 0 assigned to the node 1 is stored to the position where the value of the node identifier 1 of the node 1 is stored, That is, it is the range of descendant nodes of the region power S node 1 in which the node identifiers 1, 2, 2, 1 are stored. Since this area stores the node identifiers assigned to Node 2, Node 3, Node 4, and Node 5, the descendant nodes of Node 1 are Node 2, Node 3, Node 4, and Node 5.
- the system 10 checks whether or not a node that matches the search condition, that is, a node whose node type is a button type exists among the identified descendant nodes (step 3404).
- a node that matches the search condition that is, a node whose node type is a button type exists among the identified descendant nodes.
- a node that matches the search condition that is, a node whose node type is a button type exists among the identified descendant nodes.
- a node that matches the search condition that is, a node whose node type is a button type exists among the identified descendant nodes.
- a node that matches the search condition that is, a node whose node type is a button type exists among the identified descendant nodes.
- the system 10 proceeds to step 3405.
- the system 10 moves the pointer to the vertex node 6 (Step 3406) and returns to Step 3402.
- the system 10 extracts the vertex node 6 from the vertex node list (step 3402), and uses it as the descendant node of the vertex node 6 by using the method for identifying the descendant node described above. Node 7 is identified (step 3403). Subsequently, as shown in FIG. 36B, the system 10 checks whether the node type of the descendant node 7 is a button type (step 3404), and determines that the descendant node 7 meets the search condition. (Yes). Therefore, as shown in FIG. 36C, the system 10 registers the vertex node 6 in the post-search vertex node list that is the search result (step 3407), and proceeds to step 3405.
- Step 3405 since the next vertex node 8 exists in the vertex node list (Yes in Step 3405), the system 10 moves the pointer to the vertex node 6 (Step 3406) and returns to Step 3402. .
- the system 10 extracts the vertex node 8 from the vertex node list (step 3402), and uses it as the descendant node of the vertex node 8 by using the method for identifying the descendant node described above. Node 9, node 10, and node 11 are identified (step 3403). Subsequently, as shown in FIG. 37B, the system 10 checks whether the node type is a button type among the descendant nodes (step 3404), and determines that the descendant node 11 meets the search condition. (Yes). Therefore, as shown in FIG.
- the system 10 registers the vertex node 8 in the post-search vertex node list that is the search result (step 3407), and proceeds to step 3405. In this example, since the next vertex node does not exist in the vertex node list, the system 10 ends the search process.
- the vertex node list [6, 8] after the search is obtained.
- the power to identify all descendant nodes For example, limit the number of generations of descendants, for example, up to child nodes and grandchild nodes. By doing so, it is possible to limit the search range.
- the vertex node list is generated as a search result.
- a flag area as described with reference to FIGS. 29A to 29C is prepared, and all the hits in the search condition are prepared. It is also possible to generate a node identifier of a descendant node as a search result.
- the search by the ancestor path condition is a process of extracting a vertex node having a node having a specified node type as an ancestor node.
- 38A to 38C are explanatory diagrams of a tree-type data structure to be searched by the path condition and a “child ⁇ parent” expression of a parent-child relationship of nodes.
- the vertex nodes are node 2, node 7, and node 9, and the vertex nodes are indicated by black stars ( ⁇ ).
- the correspondence between the symbol number, display figure, and symbol name is as described for FIG. 27B.
- node extraction is performed using the condition of the ancestor node of the vertex node as the search condition. More specifically, a vertex node including a heart-type node as an ancestor node is extracted.
- each node is associated with a node type (or symbol number) that is item name information and a node value that is item value information.
- the system 10 sets up at least one subtree that represents the search scope.
- a vertex node list [2, 7, 9] including vertex nodes 2, 7, and 9 is specified.
- This search condition and search range may be input by the user via the input device 24 of the computer system 10 or read from the external storage medium 18 or set by external force via the IZF 22, for example. May be.
- the vertex node is a node representing a node group including a specific node of the tree-type data structure and descendant nodes of the specific node.
- the computer system 10 specifies, for each vertex node, an ancestor node of the vertex node based on the parent-child relationship between the nodes, and at least one associated with the vertex node or the ancestor node of the vertex node. It is determined whether or not the entity information matches the search condition. If there is a matching node, the node identifier assigned to the vertex node is stored as a search result.
- FIG. 39 is a flowchart of a tree search method based on an ancestor path condition that is useful in an embodiment of the present invention.
- FIG. 40A to FIG. 42C are diagrams for explaining the operation state of the tree search method based on an ancestor path condition that is useful in one embodiment of the present invention.
- the system 10 initializes a pointer indicating an address for reading a vertex node from the vertex node list with the top address of the vertex node list (step 3901).
- First vertex node 2 is extracted from (step 3902).
- the system 10 reads the symbol number (Symbol No.) corresponding to this vertex node 2 (step 3903) and checks whether this symbol number is 3 (step 3904). Since the symbol number of vertex node 2 is not 3 (No), system 10 goes to step 3 905, where the parent node of vertex node 2 is In this case, as shown in FIG. 40B, since the parent node 1 exists (Yes), the system 10 reads the symbol number corresponding to the parent node 1 (step 3906).
- step 3907, No Since the symbol number associated with node 1 is 5 and does not meet the search criteria (step 3907, No), system 10 returns to step 3905 and checks whether the parent node of node 1 exists. In this case, as shown in FIG. 40C, parent node 0 of node 1 exists (Yes), and system 10 reads the symbol number corresponding to node 0 (step 3906). Since the symbol number associated with node 0 is 2 and does not match the search condition (step 3907, No), system 10 returns to step 3905 and checks whether the parent node of node 0 exists. Since node 0 is the root node and there is no parent node (No), system 10 proceeds to step 3909.
- the system 10 Since the next vertex node 7 exists in the vertex node list, as shown in Fig. 41A, the system 10 sets a pointer indicating an address for reading the vertex node from the vertex node list. To the next address (step 3910) The th vertex node 7 is extracted (step 3902). Next, the system 10 reads the symbol number corresponding to the vertex node 7 (step 3903), and checks whether this symbol number is 3 (step 3904). Since the symbol number of vertex node 7 is not 3 (No), system 10 proceeds to step 3905, and the parent node of vertex node 7 is determined by referring to the expression of parent-child relationship by depth-first “child ⁇ parent”. In this case, as shown in FIG.
- step 3906 since the symbol number associated with node 6 is 3 and matches the search criteria (step 3907, Yes), system 10 proceeds to step 3908 and the vertex pointed to by the current pointer as shown in Figure 41C Node 7 is registered as a search result in the vertex node list after the search. Since vertex node 7 has been registered, there is no need to visit the parent node any more, so system 10 proceeds to step 3909.
- the system 10 Since the next vertex node 9 exists in the vertex node list, the system 10 sets a pointer indicating the address for reading the vertex node from the vertex node list, as shown in FIG. 42A. Move to the address (step 3910) and take the third vertex node 9 from the vertex node list (step 3902). Next, the system 10 reads the symbol number corresponding to this vertex node 9 (step 3903), and checks whether this symbol number is 3 (step 3904). Since the symbol number of vertex node 9 is not 3 (No), system 10 proceeds to step 3905, and the parent node of vertex node 9 is determined by referring to the expression of parent-child relationship by depth-first “child ⁇ parent”. In this case, as shown in FIG.
- step 3906 since the parent node 8 exists (Yes), the system 10 reads the symbol number corresponding to the parent node 8 (step 3906). Since the symbol number associated with node 8 is 3 and matches the search criteria (step 3907, Yes), system 10 proceeds to step 3908 and, as shown in Figure 42C, the vertex pointed to by the current pointer Node 9 is registered as a search result in the vertex node list after the search. Since vertex node 9 has been registered, there is no need to visit the parent node any more, so system 10 proceeds to step 3909. Since the next vertex node does not exist in the vertex node list (step 3909, No), the system 10 ends the search process. [0161] Through the above search processing, the post-search vertex node list [7, 9] is obtained.
- the vertex node list is generated as a search result.
- a flag area as described with reference to FIGS. 29A to 29C is prepared, and all the hits in the search condition are prepared. It is also possible to generate a node identifier of a descendant node as a search result.
- a search based on a value condition is a process of extracting a node associated with specified item value information (for example, a node value). For example, as shown in FIG. 26, item name information (for example, node type) and item value information (for example, node value) are associated with the node in the same way, so that it depends on the path condition. It is clear that the search, that is, the search algorithm based on the node type, can be applied to the search based on the value condition, that is, the search based on the node value.
- all nodes may be associated with the same node type.
- there is no need to associate a node type with each node so only the node value is associated with the node, and only a search based on the value condition is performed.
- the actual value of a node is only a separated token string, so this character is included in the node. Only the columns are associated and no node type is used.
- the result of the search can be expressed by this vertex node list, that is, the vertex node list.
- the first search condition and the second search condition are represented by the first vertex node list and the second vertex node list, respectively. think of.
- the first search condition and A vertex node list representing a search result that satisfies both of the second search conditions is obtained.
- search condition 3 “vertex node in which button type nodes and deformed square type nodes exist in descendants” is searched.
- a search result using a logical product of a plurality of search conditions as a search condition is obtained by a logical product operation of the vertex node list of the search result based on each search condition.
- the search result using the logical sum of multiple search conditions as the search condition is calculated by the logical sum operation of the vertex node list of the search result by each search condition. can get.
- tree data is aggregated by classifying item value information associated with a range of nodes in the tree for each item name information.
- Aggregation includes various processes such as counting the number of item value information that is a measure of aggregation, or calculating the total value, average value, maximum value, minimum value, and the like.
- the measure to be aggregated is, for example, a node value corresponding to a specific node type associated with the node.
- the range of aggregation is, for example, a partial tree group, and can be specified by a vertex node list of the partial tree, that is, a vertex node list.
- the dimension that is the classification target for aggregation is a specific node associated with the node.
- the node value corresponding to the type is
- FIGS. 43A and 43B are diagrams for explaining the aggregation useful for one embodiment of the present invention.
- FIG. 43A shows a “child ⁇ parent” relationship between the tree-type data structure to be aggregated and the parent-child relationship of nodes.
- FIG. 43B is a diagram showing the correspondence between symbol numbers, display figures, and symbol names. Two types of tree data aggregation will be described with reference to the examples shown in Figs. 43A and B.
- the first tree data aggregation is, for example, to calculate the number of weights (measures) and the total for each manufacturer name (dimension).
- the vertex node list [1, 6, 8] is used to specify the range of aggregation.
- the range of aggregation may be the whole tree.
- / Is specified by specifying a dimension.
- a dimension is not specified, that is, the aggregation, that is, the second tree data aggregation is also conceivable.
- a vertex node list can be specified and measures can be aggregated for each vertex node.
- the second tree data aggregation is a type of aggregation that explicitly specifies this vertex node, ie, the partial tree. In the example of FIGS.
- the tree-type data structure data includes a storage device of the computer system 10 that includes a root 'node and a non-root' node that is a node other than the root 'node, and performs aggregation. For example, it is expanded in RAM14.
- the parent-child relationship between nodes gives a unique node identifier to all nodes including the root node, giving priority to the child node over the node of the same generation, and not to the node identifier given to each of the non-root nodes. It is defined by associating the node identifier assigned to each parent node of the root node.
- Each node is associated with at least one entity information representing data.
- the vertex node is a node representing a node group including a specific node of the tree-type data structure and descendant nodes of the specific node.
- the computer system 10 designates item name information representing the classification target, designates item name information representing the aggregation target, and designates at least one partial tree representing the scope of the aggregation.
- the classification target, the aggregation target, and the aggregation range may be input by the user via the input device 24 of the computer system 10 or read from the external storage medium 18, for example. An external force may also be set via the IZF22.
- the computer system 10 identifies, for each vertex node, the descendant node of the vertex node based on the parent-child relationship between the nodes, and the item associated with the vertex node or the descendant node of the vertex node. Determine whether the name information matches the item name information that represents the target of aggregation, and the item value information associated with the matched node is the classification target related to the node group represented by the vertex node. It is counted for each item value information associated with the item name information that represents.
- a vertex node list, a dimension, and a measure are specified, and the dimension values and measures existing in the nodes in the range specified by the vertex node list are aggregated.
- a vertex node ie, a partial tree
- FIG. 43A With reference to the example shown in Fig. 43A, the relationship between dimensions and aggregation feasibility will be described in detail.
- 4A to 4D are explanatory diagrams of the partial tree represented by each vertex node in FIG. 43A.
- the aggregation to calculate the number of weights (measures) and the total for each manufacturer name (dimension).
- FIG. 44A represents the partial tree 1 represented by the vertex node 1, and the manufacturer name which is a dimension is associated with the two nodes of the node 2 and the node 5, so that the association is made with the node 1 and the node 3. It cannot be specified to which maker name the given weight belongs. Therefore, do not count against partial tree 1.
- FIG. 44B represents the partial tree 2 represented by the vertex node 6.
- this partial 1 there is no node associated with the manufacturer name that is a dimension, but it is a measure.
- the dimension value is assumed to be a null value and aggregation is performed.
- FIG. 44C represents the partial tree 3 represented by the vertex node 8.
- this partial list 3 there are a node 10 associated with a manufacturer name as a dimension, and a node 9 and a node 11 associated with a weight as a measure.
- a node 10 associated with a manufacturer name as a dimension
- a node 9 and a node 11 associated with a weight as a measure.
- FIG. 45 is a flowchart of a first tree data totaling method useful for one embodiment of the present invention.
- FIGS. 46 to 48 are diagrams for explaining the operating state of the first tree data tabulation method useful in one embodiment of the present invention.
- the system 10 first initializes a pointer indicating the address for reading the vertex node from the vertex node list with the top address of the vertex node list (step 4501).
- the first vertex node 1 is extracted from the vertex node list (step 4502).
- the system 10 specifies the partial tree of the vertex node 1 with reference to the expression of the parent-child relationship by depth-first “child ⁇ parent” (step 4504).
- the expression of the parent-child relationship by depth-first “child ⁇ parent” has the above-mentioned excellent properties, so that the partial tree stores the node identifier assigned to the vertex node.
- a continuous area in which the value equal to or greater than the value of the node identifier assigned to this vertex node is extracted from the next position In this example, in C ⁇ P, a continuous area from the position where the node identifier 0 assigned to the node 1 is stored to the position where the value of the node identifier 1 of the node 1 is stored, that is, Node identifiers 0, 1, 2, 2, 1 are stored Is a partial tree represented by vertex node 1. Since this area stores the node identifiers assigned to Node 1, Node 2, Node 3, Node 4, and Node 5, the partial tree consists of Node 1, Node 2, Node 3, and Node 4. And node 5 (* 1 in Figure 46).
- node 1's node type is weight
- node 2's node type is manufacturer
- node 3's node type is weight
- node 4's node type is price
- node 5's node The type is a mail name (* 2 in Figure 46).
- System 10 determines if the number power of the measure is ⁇ (step 450
- step 4506 Demonstrate that the number of measures is not 0 (No), and then determine whether the number of dimensions is 2 or more (step 4506). Since the number of dimensions is 2 or more (Yes) and this partial tree is not subject to aggregation, the system 10 determines whether the next vertex node exists (step 4511). In this example, since the next vertex node 6 exists in the vertex node list (Yes), the system 10 moves the pointer to the vertex node 6 (step 45 12) and returns to step 4502.
- the system 10 extracts the vertex node 6 from the vertex node list (step 4502), and the partial node represented by the vertex node 6 in the same manner as described above.
- the tree is identified (step 4503), it can be seen that node 6 and node 7 belong to this partial tree (* 1 in Fig. 47).
- the node type of node 6 is the price
- the node type of node 7 is the weight (* 2 in Figure 47).
- system 10 determines whether the number of measures is SO (step 4505), it knows that the number of measures is not zero (No), and then whether the number of dimensions is two or more. (Step 45
- Step 4507 If the number of dimensions is not two or more (No) and it is determined whether the number of dimensions is 1 (Step 4507), the number of dimensions is not 1 (No), so the dimension value is set to the null value. Deemed (step 4508), aggregate measures (step 4510). In this example, the weight of the partial tree represented by vertex node 6 is 1, and the total weight is the value of the node value associated with node 7 (not shown). In addition, system 10 determines whether there is a next vertex node (step 4511). In this example, since the next vertex node 8 exists in the vertex node list (Yes), the system 10 moves the pointer to the vertex node 8 (step 4512) and returns to step 4502.
- the system 10 extracts the vertex node 8 from the vertex node list (step 4502), and the partial node represented by the vertex node 8 in the same manner as described above.
- the tree is identified (step 4503), it can be seen that node 8, node 9, node 10, and node 11 belong to this partial tree (* 1 in Fig. 48).
- the node type of node 8 is the price
- the node type of node 9 is the weight
- the node type of node 10 is the manufacturer name
- the node type of node 11 is the weight (* 2 in Figure 48) ).
- system 10 determines whether the number of measures is zero (step 4505), it knows that the number of measures is not zero (No), and then whether the number of dimensions is two or more. Judgment is made (step 4506).
- the number of dimensions is not two or more (No), and if it is determined whether the number of dimensions is 1 (step 4507), the number of dimensions is 1 (Yes), so it is associated with node 10.
- the measured node value is taken as a dimension value (step 4509), and a measure is measured (step 4510).
- the number of weights of the partial tree represented by vertex node 8 is 2, and the total weight is the value of the node value associated with node 9 and the value of the node value assigned to node 11. (Not shown).
- the system 10 determines whether or not the next vertex node exists (step 4511). In this example, since there are no more vertex nodes in the vertex node list (No), the system 10 integrates the aggregation results obtained for each partial tree (step 4513).
- the dimension value of the aggregation is a null value and the manufacturer name assigned to node 10 (the node value associated with node 10), and the number of weights corresponding to the null value is one.
- the total amount is the weight assigned to node 7 (node value associated with node 7), the number of weights corresponding to the manufacturer name assigned to node 10 is 2, and the weight The total is the sum of the value of the node value associated with node 9 and the value of the node value assigned to node 11.
- the parent-child relationship between the nodes is expressed in the depth priority mode. However, it may be expressed in the width priority mode and the partial tree may be specified.
- the tree-type data structure data includes a storage device of the computer system 10 that includes a root 'node and a non-root' node that is a node other than the root 'node, and performs aggregation. For example, it is expanded in RAM14.
- the parent-child relationship between nodes gives a unique node identifier to all nodes including the root node, giving priority to the child node over the node of the same generation, and not to the node identifier given to each of the non-root nodes. It is defined by associating the node identifier assigned to each parent node of the root node.
- Each node is associated with at least one entity information representing data.
- the vertex node is a node representing a node group including a specific node of the tree-type data structure and descendant nodes of the specific node.
- the computer system 10 designates item name information representing the classification target of aggregation, and specifies at least one partial tree representing the range of aggregation.
- the classification target and the range of aggregation may be input by the user via the input device 24 of the computer system 10, read from the external storage medium 18, or via the IZF 22, for example. External force may also be set.
- the computer system 10 identifies, for each vertex node, a descendant node of the vertex node based on the parent-child relationship between the nodes, and the vertex node and Z or the vertex node. Judges whether the item name information associated with the descendant node of the point node matches the target of aggregation, and aggregates the item value information associated with the matching node.
- FIG. 49 is a flowchart of a second tree data tabulation method useful for one embodiment of the present invention
- FIGS. 50A to 50D are explanatory diagrams of the operating state of the second tree data tabulation method.
- the second tree data aggregation method performs similar operations to the first tree data aggregation method shown in Figure 45, but does not define dimensions, so The processing for the dimension is omitted, and the processing for integrating the aggregation results for each partial tree is also omitted.
- System 10 takes a vertex node from the vertex node list and identifies its subtree (step 4902, step 4903 in Fig. 49), subtrees as shown in Figs. 50A, B, and C. 1. Partial tree 2 and partial tree 3 are identified, and the number of weights and the total weight are calculated for each partial tree (step 4906). In FIG. 50D, the result of aggregation for each vertex node is shown.
- the parent-child relationship between the nodes is expressed in the depth priority mode. However, it may be expressed in the width priority mode and the partial tree may be specified.
- the sorting process of tree data that is useful in the present invention involves at least two node groups of data of a tree-type data structure including non-root nodes that are nodes other than the root 'node and the root' node developed in the storage device ( This is a process of ordering a collection of nodes (for example, a partial tree).
- nodes for example, a partial tree.
- the tree data sorting process of the present invention collects a certain index (comparison standard value) associated with each partial tree, and then assigns an order relationship to this index, so This is achieved by ordering itself.
- Sort processing can be roughly divided into two types according to the way of collecting indices.
- the first tree data sorting method uses the results of aggregation.
- the second tree data aggregation method the aggregation results are collected for each partial tree. Therefore, for example, in the example of FIGS. 50A to 50D, when it is required to arrange the partial trees 1 to 3 in descending order of the “number of weights”, the “number of weights” shown in FIG. 50D can be used as an index.
- the order relation can be defined in the partial trees 1 to 3, that is, the partial trees 1 to 3 can be sorted.
- the second tree data sorting method does not use the result of aggregation.
- the information related to the nodes of the partial tree is used as an index as it is, and the order relation is defined in the partial tree. .
- the partial tree is divided into node values of nodes whose node type is “price” in the partial tree, that is, in the order of “price value”. Sort.
- the first tree data sorting method useful for one embodiment of the present invention is represented by, for example, vertex node 1, vertex node 6 and vertex node 8 of the data of the tree type data structure as shown in FIG. 43A. Sort partial tree 1 (Fig. 50A), partial tree 2 (Fig. 50B) and partial tree 3 (Fig. 50C) using the number of weights as an index.
- data having a tree-type data structure including a root ′ node and a non-root ′ node that is a node other than the root node is expanded.
- the parent-child relationship between nodes gives a unique node identifier to all nodes including the root node, giving priority to child nodes over nodes of the same generation, and to each non-root node. It is expressed by associating the assigned node identifier with the assigned node identifier for each parent node of the non-root node.
- Each node is associated with item name information (for example, node type) representing the data item and item value information (for example, node value) representing the data item value, and each node group (for example, partial tree 1, part The tree 2 and the partial tree 3) include vertex nodes representing the node group (for example, the vertex node 1, the vertex node 6, and the vertex node 8) and descendant nodes of the vertex node.
- item name information for example, node type
- item value information for example, node value
- each node group for example, partial tree 1, part The tree 2 and the partial tree 3
- vertex nodes representing the node group for example, the vertex node 1, the vertex node 6, and the vertex node 8 and descendant nodes of the vertex node.
- the target of aggregation and the range of aggregation may be input by the user via the input device 24 of the computer system 10, for example, or may be externally stored. It can be read from the medium 18 or an external force can be set via the I / F22! /.
- the computer system 10 identifies, for each vertex node, the descendant node of the vertex node using the parent-child relationship between the nodes, and the item associated with the vertex node or the descendant node of the vertex node. Judges whether the name information matches the target of aggregation, and aggregates the item value information associated with the matched nodes.
- FIGS. 51A to 51C are explanatory diagrams of a first tree data sorting method useful for one embodiment of the present invention.
- FIG. 51A shows a comparison standard obtained by executing the second tree data aggregation method. The result of collecting values is shown. In this example, the number of weights per vertex node is the collection result of the comparison reference value.
- the computer system 10 assigns an order to the at least two vertex nodes according to the order relation of the item value information aggregated for each vertex node, so that a node group represented by the vertex node is obtained.
- 2 is the number of weights corresponding to vertex node 1
- 1 is the number of weights corresponding to vertex node 6
- 2 is the number of weights corresponding to vertex node 8.
- the vertex nodes are ordered.
- the vertex nodes are arranged in the order of vertex node 6, vertex node 1, and vertex node 8.
- FIG. 51B shows the sorting result of the comparison reference values obtained in this way.
- the subtree represented by these vertex nodes can be ordered as shown in FIG. 51C.
- the parent-child relationship between the nodes is expressed in the depth priority mode. However, it may be expressed in the width priority mode and the partial tree may be specified.
- FIGS. 52A to 52C show the “child-to-parent” representation (FIG. 52A) of the tree-type data structure and the parent-child relationship of the nodes that are the targets of the processing of the second tree data sorting method that is useful in one embodiment of the present invention.
- FIG. 52 is a diagram for explaining a list of node values for each node type (FIG. 52B) and node types and node values (FIG. 52C) associated with the nodes. Vertex nodes are indicated by black stars ( ⁇ ).
- the value number is a pointer to the value list.
- symbol number i and value number j are associated with node X
- the node value of node X is j in the value list specific to symbol number i. It can be obtained by referring to the th element (eg, the first element is the 0th element).
- a method for specifying an actual value by a combination of such a value number and a value list has been proposed by the present inventor (see, for example, International Publication No. WOOOZ 10103 pamphlet).
- the partial trees represented by vertex node 1, vertex node 6 and vertex node 8 are defined as partial tree 1, partial tree 2 and partial tree 3, respectively.
- the element corresponding to the value number 3 of (price) VL is “200”. In this way, the node value associated with node 4 is obtained.
- the computer system 10 designates vertex nodes representing at least two nodes to be ordered, and designates item name information as an index for ordering (for example, a vertex node list).
- the ordering indicator eg, node type
- the IZF 22 may be You can also set the external capacity via this.
- the computer system 10 identifies, for each vertex node, the descendant node of the vertex node based on the parent-child relationship between the nodes, and orders the vertex node or the descendant node of the vertex node.
- the item value information associated with the node associated with the item name information that becomes the index of is acquired.
- the node value may be obtained by the above method.
- the computer system 10 determines the order of the item value information acquired for each vertex node. By ordering the at least two vertex nodes according to the relationship (for example, the magnitude relationship of the obtained node values), the nodes represented by the vertex node (for example, the partial tree) are ordered.
- the relationship for example, the magnitude relationship of the obtained node values
- FIG. 53 is a flowchart of the second tree data sorting method useful for one embodiment of the present invention.
- the computer system 10 sorts the vertex nodes in the vertex node list in the order of the value numbers corresponding to the vertex nodes based on the cumulative number (step 5306).
- the order of the value numbers corresponds to the sort order.
- Figs. 54 to 62 illustrate an operation state when the second tree data sorting method according to the embodiment of the present invention is applied to data having the tree-type data structure shown in Figs. 52A to 52C.
- FIG. 54 illustrates an operation state when the second tree data sorting method according to the embodiment of the present invention is applied to data having the tree-type data structure shown in Figs. 52A to 52C.
- Number storage area Tmp—VNo and a sorted vertex node list storage area are prepared, and a count area Count having the same size as the price value list VL is prepared (step 5302).
- the computer system 10 takes out the first vertex node 1 from the vertex node list and specifies the partial tree corresponding to the vertex node 1 (* in FIG. 55). ).
- the computer system 10 receives vertex information as shown in FIG. The second vertex node 6 is extracted from the list, and the partial tree corresponding to the vertex node 6 is specified (* 1 in Fig. 56).
- the computer system 10 extracts the third vertex node 8 from the vertex node list, and specifies the partial tree corresponding to the vertex node 8 (* 1 in FIG. 57).
- the computer system 10 counts the number of occurrences (existence number) of the value number stored in Tmp—VNo corresponding to the vertex node list (step 5304).
- the completed Count of FIG. 58 is obtained.
- the computer system 10 accumulates the elements of Count and converts the count array Count into the accumulated number array Aggr (step 5305). As shown in Figure 59, the count array Count,
- the count array Count and the cumulative number array Aggr are distinguished from each other. Physically, the count array Count and the cumulative number array Aggr may have the same area.
- the cumulative number array Aggr obtained in this way is displayed when the value numbers obtained in step 5303 are arranged in ascending order (if there are two or more same value numbers, the number is duplicated) , Indicates the start position of each value number. In this example, the value number
- the computer system 10 uses the cumulative number array Aggr to rearrange the vertex nodes in the vertex node list in order of the value numbers associated with the vertex nodes (step 5306).
- increment Aggr [3] By this increment, the pointer indicating the storage position of the sorted vertex node list is moved to the next position, so even if the value number is duplicated, the vertex node list is correctly displayed. You can do so.
- VNo [l] Cumulative number array pointed to by 2
- the computer system 10 can convert the pre-sort vertex node list into the post-sort vertex node list by sorting in ascending order by price as shown in FIG. 62B.
- the item name information when specified as an index for the value cart of certain item name information (for example, certain node type), the item name information is associated with one partial tree.
- the ability to describe the second tree data sort for an example where only one node is being used There may be more than one node that hits as an index in a partial tree. In that case, one node is selected according to the sort purpose and application. Also, when there is no node that hits as an index in one partial tree, the partial tree is handled as being excluded from sorting or assigning the lowest order according to the application. can do.
- the power to specify all the descendant nodes when specifying the partial tree represented by the vertex node, the power to specify all the descendant nodes.
- the descendant such as up to the child node, up to the grandchild node, etc. It is also possible to limit the scope of aggregation by limiting the number of generations.
- the parent-child relationship between the nodes is expressed in the depth priority mode. It may be expressed in breadth-first mode and there may be a partial tree specified.
- data with a tree-type data structure may be composed of multiple tree data.
- each tree data is given a tree identifier and is distinguished by this tree identifier.
- the tree-type data structure data including a plurality of tree data is obtained by executing the above-described tree-type data structure data search, aggregation, and sorting method for each tree data. Is also applicable.
- 63A to 63E are diagrams showing an example of data having a tree-type data structure including a plurality of tree data, that is, tree groups.
- information related to the purchase of parts necessary to produce a product (supplier, manufacturer, product number, weight, price, etc.) is represented as data in a single data structure.
- supply, manufacturer, product number, weight, price, etc. information related to the purchase of parts necessary to produce a product
- product number supply, manufacturer, product number, weight, price, etc.
- separate tree data is prepared for each route of acquisition.
- Each node is represented in the form of (node type, node value) using item name information (ie, node type) and item value information (ie, node value) associated with that node.
- the data in FIG. 63A has a tree identifier of tree data 1, a root 'node is (part number, 1), and node (manufacturer, A), node (weight, 10) as child nodes of the root' node. ), Node (price, 5000), and node (vendor, ⁇ ).
- the tree data may have different structures.
- Search, aggregation, and sorting can be performed on data having such a tree-type data structure. Search, aggregation, and sorting are performed individually for each tree data, and then the results of search, aggregation, and sorting are integrated. The integrated result is associated with each tree data via a tree data identifier.
- the root node of each tree data is a vertex node.
- the search result is expressed by a set of a set of a tree data identifier of the tree data and a node identifier of the vertex node.
- the search result is expressed by a set of a set of a tree data identifier and a node identifier.
- the vertex nodes that hit this search are the vertex node of tree data 1, the vertex node of tree data 2, and the top node of tree data 3.
- a vertex node including both nodes having a price value of 200 or less and a node having a weight value of 12 or less as descendant nodes is a vertex node of the tree data 3.
- the sort such as “low price order” is the same as the first tree data sorting method of the present invention.
- the second tree data sorting method it can be realized by extending the elements of the vertex node list to be specified by a set of tree data identifier and node identifier.
- a node is identified by a set of a tree data identifier and a node identifier, and a method of searching, aggregating, and sorting data of a tree-type data structure for each tree data. By implementing it, it can be extended to data of a tree type data structure including a plurality of tree data.
- FIG. 64 is a block diagram of an information processing device 6400 that processes data having a tree-type data structure according to an embodiment of the present invention.
- the information processing device 6400 includes a storage unit 6401 that stores data representing a tree-type data structure, a data expansion unit 6402 that expands data of the tree-type data structure on the storage unit 640 1, and a tree data processing unit.
- the tree data processing unit 6404 includes a search unit 6405 that executes tree data search, a totaling unit 6406 that executes tree data aggregation, an index acquisition unit 6408 that acquires an index for tree data sorting, and a totaling unit.
- An ordering unit 6407 that receives the aggregation result from 6406 or the index from the index acquisition unit 6408 and executes tree data sorting.
- the storage unit 6401 stores data of a tree-type data structure including a root 'node and a non-root' node that is a node other than the root 'node.
- the data expansion unit 6402 assigns a unique node identifier to all nodes including the root 'node, and assigns a node identifier assigned to each parent node of the non-root' node to a node identifier assigned to each of the non-root 'nodes.
- the parent-child relationship between the nodes constituting the tree-type data structure is expressed, and at least one entity information representing the data is associated with each node, and the tree-type data structure is constructed on the storage device.
- the data expansion unit 6402 may give a unique node identifier to all the nodes including the root ′ node in preference to the child node over the same generation node.
- the condition specifying unit 6403 sets various conditions according to the purposes of search, aggregation, and sorting.
- Various conditions include at least one search condition related to actual information, at least one partial tree representing the search range, item name information representing the aggregation target, at least one partial tree representing the aggregation range, and ordering target Vertex nodes that represent at least two node groups, or item name information that serves as an index for ordering.
- the search unit 6405 determines whether or not at least one entity information associated with the node matches the search condition. If there is a match, the search unit 6405 associates the search hit information with the node, and The search hit information is associated with the ancestor node of the node by finding the parent-child relationship between the nodes. Further, the search unit 6405 may store the node identifier assigned to the vertex node associated with the search hit information among at least one vertex node as a search result.
- the search unit 6405 identifies, for each vertex node, an ancestor node of the vertex node based on a parent-child relationship between the nodes, and at least one associated with the vertex node and Z or the ancestor node of the vertex node. It is determined whether the entity information matches the search condition, and the search hit information is associated with the matched node.
- the search unit 6405 has a parent-child relationship between the nodes according to a first search condition that specifies at least one entity information, and matches the first search condition.
- the node identifier assigned to the vertex node representing the node group to which the node belongs is stored as the first search result, and the parent-child relationship between the nodes is determined according to the second search condition specifying at least one entity information.
- the node identifier assigned to the vertex node representing the node group to which the node that matches the first search condition belongs is stored as the second search result, and the logic of the first search condition and the second search condition is stored.
- the aggregation unit 6406 identifies, for each vertex node, a descendant node of the vertex node based on the parent-child relationship between the nodes, and is associated with the vertex node and Z or a descendant node of the vertex node. It is determined whether the item name information matches the target of aggregation, and the item value information associated with the matching node is aggregated.
- the counting unit 64 For each vertex node, specify the descendant node of the vertex node by gathering the parent-child relationship between the nodes, and the item name information associated with the vertex node or the descendant node of the vertex node is the target of aggregation.
- the item value information associated with the matched node is associated with the item name information representing the classification target of the aggregation related to the node group represented by the vertex node. For each item value information.
- the ordering unit 6407 orders the node group represented by the vertex node by ordering the at least two vertex nodes according to the order relation of the item value information aggregated for each vertex node.
- the index acquisition unit 6408 identifies, for each vertex node belonging to each tree data, a descendant node of the vertex node based on the parent-child relationship between the nodes, and the vertex node Alternatively, item value information associated with a node associated with item name information, which is an index for ordering, is obtained from descendant nodes of the vertex node.
- the ordering unit 6407 orders the node group represented by the vertex node by ordering the at least two vertex nodes according to the order relation of the item value information acquired for each vertex node.
- 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.
- Fig. 2B is 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 diagrams illustrating a representation method of a tree-type data structure based on a “child ⁇ parent” relationship It is.
- FIG. 5 is a flowchart of a method for constructing a tree-type data structure on a storage device.
- FIGS. 6A to 6C are explanatory diagrams of the process of converting the tree structure type data in the ID format into the tree structure type data in the integer serial number format.
- FIGS. 7A to C are explanatory diagrams of the process of converting the tree structure type data in the ID format into the tree structure type data in the integer serial number format.
- FIG. 8 is a flowchart of node definition processing based on depth priority.
- FIG. 9 is an explanatory diagram of an array of parent-child relationships based on the expression “child ⁇ parent”.
- Figure 10 shows the “parent” created from the depth-first tree data structure shown in FIG. 6C.
- FIG. 11 is a flowchart of node definition processing based on width priority.
- FIG. 12 is an explanatory diagram of an array of parent-child relationships based on the expression “child ⁇ parent”.
- Figure 13 shows the “parent” created from the depth-first tree data structure shown in FIG. 7C.
- FIG. 14A is a diagram showing a tree-type data structure based on the breadth-first mode
- FIG. 14B is a diagram showing an array of a parent-child relationship based on the tree-type data structure based on a “child ⁇ parent” expression.
- FIG. 15A is a diagram showing an example of a vertex node list
- FIG. 15B is a diagram showing an example of a partial tree group specified by the vertex node list.
- FIG. 16A is a diagram showing an example of a vertex node list obtained by the search process
- FIG. 16B is a diagram showing an example of a partial tree group specified by the vertex node list.
- FIG. 17A is an example of an array showing a vertex node list and a result of aggregation obtained by the aggregation process
- FIG. 17B is a diagram showing an example of a partial tree group specified by the vertex node list.
- FIG. 18A is a vertex node list sorted by the number of nodes and an example of an array indicating the number of corresponding nodes
- FIG. 18B is a diagram showing an example of a partial tree specified by the vertex node list. .
- FIGS. 19A and 19C are diagrams showing examples of vertex node lists to be subjected to AND operations
- FIGS. 19B and 19D are diagrams showing examples of partial tree groups specified by the vertex node list.
- FIG. 20A is an example of a vertex node list showing a result of a logical product operation
- FIG. 20B is a diagram showing a partial tree group specified by the vertex node list.
- FIG. 21A is a diagram showing a tree-type data structure based on the breadth-first mode
- FIG. 21B is a diagram showing an array of a parent-child relationship based on the tree-type data structure based on the expression “child ⁇ parent”.
- FIGS. 22A and 22B are diagrams illustrating a logical product operation.
- FIG. 23 is a flowchart showing a logical product operation process.
- FIG. 24 is a diagram showing an example of logical product operation processing.
- FIG. 25 is a diagram showing an example of logical product operation processing.
- FIG. 26 is a diagram showing an example of how to handle substantial values.
- FIG. 27A is an explanatory diagram of a “child-to-parent” representation of a parent-child relationship between a tree-type data structure and a node that is a target of a search based on a descendant path condition according to an embodiment of the present invention
- FIG. 27B shows the correspondence between symbol numbers, display figures, and symbol names.
- FIG. 28 is a flowchart of a tree search method based on descendant path conditions according to an embodiment of the present invention.
- FIGS. 29A to 29C are diagrams for explaining the operation states of the tree search method based on the descendant path conditions that are useful in one embodiment of the present invention.
- FIGS. 30A to 30C are diagrams for explaining the operation state of the tree search method based on the path conditions of descendents according to one embodiment of the present invention.
- FIG. 31A to FIG. 31C are diagrams for explaining the operation state of the tree search method based on the descendant path conditions that are useful in one embodiment of the present invention.
- FIGS. 32A to 32D are diagrams for explaining the operation state of the tree search method based on the path conditions of descendents according to one embodiment of the present invention.
- FIGS. 33A to 33C are diagrams for explaining the operation state of the tree search method based on the path conditions of descendents according to one embodiment of the present invention.
- FIG. 34 is a flowchart of a tree search method based on descendant path conditions according to an embodiment of the present invention.
- FIGS. 35A to 35C are diagrams for explaining the operation states of the tree search method based on the descendant path conditions according to one embodiment of the present invention.
- FIGS. 36A to 36C are diagrams for explaining the operation state of the tree search method based on the descendant path conditions according to one embodiment of the present invention.
- FIGS. 37A to 37C are diagrams for explaining the operation state of the tree search method based on the path conditions of descendents according to one embodiment of the present invention.
- FIGS. 38A to 38C are explanatory diagrams of a “child ⁇ parent” expression of a parent-child relationship between a tree-type data structure and a node to be searched according to an ancestor path condition according to an embodiment of the present invention. .
- FIG. 39 is a flowchart of a tree search method based on ancestor path conditions according to one embodiment of the present invention.
- FIGS. 40A to 40C are diagrams for explaining an operation state of a tree search method based on an ancestor path condition useful for an embodiment of the present invention.
- FIGS. 41A to 41C are diagrams for explaining an operation state of a tree search method based on an ancestor path condition useful for an embodiment of the present invention.
- FIGS. 42A to 42C are diagrams for explaining the operation state of the tree search method based on an ancestor path condition useful in one embodiment of the present invention.
- FIG. 43A is an explanatory diagram of a “child-to-parent” expression of a tree-type data structure and a parent-child relationship of nodes that are subject to aggregation according to an embodiment of the present invention
- FIG. It is a figure showing the correspondence of a display figure and a symbol name.
- FIGS. 44A to 44D are explanatory diagrams of a partial tree represented by each vertex node in FIG. 43A.
- FIG. 45 is a flow chart of a first tree data tabulation method useful for one embodiment of the present invention.
- FIG. 46 is a diagram for explaining the operating state of the first tree data tabulation method useful in one embodiment of the present invention.
- FIG. 47 is a diagram for explaining the operating state of the first tree data tabulation method useful in one embodiment of the present invention.
- FIG. 48 is a diagram for explaining the operating state of the first tree data tabulation method useful in one embodiment of the present invention.
- FIG. 49 is a flowchart of a second tree data tabulation method useful for an embodiment of the present invention. Yat.
- FIGS. 50A to 50D are diagrams for explaining the operating state of the second tree data tabulation method useful in one embodiment of the present invention.
- FIGS. 51A to 51C are explanatory diagrams of a first tree data sorting method useful in one embodiment of the present invention.
- FIG. 52A shows a tree-type data structure and a “child-to-parent” representation of the parent-child relationship of the nodes to be processed by the second tree data sorting method according to one embodiment of the present invention.
- B shows a list of node values for each node type
- FIG. 52C shows a node type and a node value associated with the node.
- FIG. 53 is a flowchart of a second tree data tabulation method useful for one embodiment of the present invention.
- FIG. 54 is an explanatory diagram of an operation state when the second tree data sorting method according to the embodiment of the present invention is applied to the data of the tree type data structure shown in FIGS. It is.
- FIG. 55 is an explanatory diagram of an operation state when the second tree data sorting method according to the embodiment of the present invention is applied to the data of the tree type data structure shown in FIGS. It is.
- FIG. 56 is an explanatory diagram of an operation state when the second tree data sorting method according to the embodiment of the present invention is applied to the data of the tree type data structure shown in FIGS. It is.
- FIG. 57 is an explanatory diagram of an operation state when the second tree data sorting method according to the embodiment of the present invention is applied to the data of the tree type data structure shown in FIGS. It is.
- FIG. 58 is an explanatory diagram of an operation state when the second tree data sorting method according to the embodiment of the present invention is applied to the data of the tree type data structure shown in FIGS. It is.
- FIG. 59 is an explanatory diagram of an operation state when the second tree data sorting method according to the embodiment of the present invention is applied to data of the tree type data structure shown in FIGS.
- FIG. 60 is an explanatory diagram of an operating state when the second tree data sorting method according to the embodiment of the present invention is applied to data of the tree-type data structure shown in FIGS. It is.
- FIG. 61 is an explanatory diagram of an operation state when the second tree data sorting method according to the embodiment of the present invention is applied to the data of the tree type data structure shown in FIGS. It is.
- FIG. 62A and FIG. 62B are diagrams for explaining the operation state when the second tree data sorting method, which is useful in one embodiment of the present invention, is applied to the data of the tree type data structure shown in FIGS. FIG.
- FIGS. 63A to 63E are diagrams showing an example of data having a tree-type data structure including a plurality of tree data.
- FIG. 64 is a block diagram of an information processing apparatus according to an embodiment of the present invention.
- Tree data processing section 6405 Search unit 6406 Totaling unit 6407 Ordering unit 6408 Index acquisition unit
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (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 (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006544997A JP4796970B2 (ja) | 2004-11-17 | 2005-11-14 | ツリーデータの検索・集計・ソート方法及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004-333783 | 2004-11-17 | ||
JP2004333783 | 2004-11-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006054506A1 true WO2006054506A1 (ja) | 2006-05-26 |
Family
ID=36407049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2005/020808 WO2006054506A1 (ja) | 2004-11-17 | 2005-11-14 | ツリーデータの検索・集計・ソート方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4796970B2 (ja) |
WO (1) | WO2006054506A1 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010523057A (ja) * | 2007-03-26 | 2010-07-08 | クゥアルコム・インコーポレイテッド | チャネルツリー演算を実行する方法および装置 |
JP2013054459A (ja) * | 2011-09-01 | 2013-03-21 | Fuji Xerox Co Ltd | 診療情報検索装置、及びプログラム |
CN110765123A (zh) * | 2018-07-09 | 2020-02-07 | 株式会社日立制作所 | 基于树形结构的材料数据的存储方法、装置和系统 |
CN110889022A (zh) * | 2018-08-17 | 2020-03-17 | 迈普通信技术股份有限公司 | 数据查询方法、装置及电子设备 |
JP2020514894A (ja) * | 2017-03-15 | 2020-05-21 | センシェア アーゲー | データベースにおけるトライデータ構造の有効使用 |
CN111314245A (zh) * | 2020-01-17 | 2020-06-19 | 鹏城实验室 | 报文调度方法及装置、存储介质及电子设备 |
CN111414347A (zh) * | 2019-01-04 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 节点信息处理方法及装置,输出方法及存储和电子设备 |
CN111553637A (zh) * | 2020-04-29 | 2020-08-18 | 杭州网易再顾科技有限公司 | 提货路径生成方法、装置、电子设备及存储介质 |
CN116150436A (zh) * | 2023-04-14 | 2023-05-23 | 北京锐服信科技有限公司 | 一种基于节点树的数据展示方法与系统 |
CN116680252A (zh) * | 2023-06-13 | 2023-09-01 | 智研汇(上海)科技有限公司 | 树形数据结构及其节点批量移动方法 |
CN117194739A (zh) * | 2023-09-12 | 2023-12-08 | 北京云枢创新软件技术有限公司 | 基于命中状态查找层次树节点的方法、电子设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07319918A (ja) * | 1994-05-24 | 1995-12-08 | Fuji Xerox Co Ltd | 文書検索対象指示装置 |
JPH10240741A (ja) * | 1997-02-28 | 1998-09-11 | Nippon Telegr & Teleph Corp <Ntt> | 木構造型データの管理方法 |
JPH11110384A (ja) * | 1997-07-01 | 1999-04-23 | Hitachi Ltd | 構造化文書検索表示方法及び装置 |
JPH11195026A (ja) * | 1997-12-26 | 1999-07-21 | Hitachi Ltd | ディレクトリ・サーバおよびそれに用いられる情報管理方法 |
JP2004120657A (ja) * | 2002-09-27 | 2004-04-15 | Internatl Business Mach Corp <Ibm> | 木構造文書送受システム、木構造文書送信装置、木構造文書受信装置、木構造文書送受方法、木構造文書送信方法、木構造文書受信方法、及びプログラム |
JP2004178084A (ja) * | 2002-11-25 | 2004-06-24 | Systems Engineering Constructions Co Ltd | Xmlデータの格納方法及び格納装置、並びにプログラムおよびプログラムを記録した記録媒体 |
-
2005
- 2005-11-14 WO PCT/JP2005/020808 patent/WO2006054506A1/ja not_active Application Discontinuation
- 2005-11-14 JP JP2006544997A patent/JP4796970B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07319918A (ja) * | 1994-05-24 | 1995-12-08 | Fuji Xerox Co Ltd | 文書検索対象指示装置 |
JPH10240741A (ja) * | 1997-02-28 | 1998-09-11 | Nippon Telegr & Teleph Corp <Ntt> | 木構造型データの管理方法 |
JPH11110384A (ja) * | 1997-07-01 | 1999-04-23 | Hitachi Ltd | 構造化文書検索表示方法及び装置 |
JPH11195026A (ja) * | 1997-12-26 | 1999-07-21 | Hitachi Ltd | ディレクトリ・サーバおよびそれに用いられる情報管理方法 |
JP2004120657A (ja) * | 2002-09-27 | 2004-04-15 | Internatl Business Mach Corp <Ibm> | 木構造文書送受システム、木構造文書送信装置、木構造文書受信装置、木構造文書送受方法、木構造文書送信方法、木構造文書受信方法、及びプログラム |
JP2004178084A (ja) * | 2002-11-25 | 2004-06-24 | Systems Engineering Constructions Co Ltd | Xmlデータの格納方法及び格納装置、並びにプログラムおよびプログラムを記録した記録媒体 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010523057A (ja) * | 2007-03-26 | 2010-07-08 | クゥアルコム・インコーポレイテッド | チャネルツリー演算を実行する方法および装置 |
US8718030B2 (en) | 2007-03-26 | 2014-05-06 | Qualcomm Incorporated | Methods and apparatus for performing channel tree operations |
JP2013054459A (ja) * | 2011-09-01 | 2013-03-21 | Fuji Xerox Co Ltd | 診療情報検索装置、及びプログラム |
US11347741B2 (en) | 2017-03-15 | 2022-05-31 | Censhare Gmbh | Efficient use of TRIE data structure in databases |
JP2020514894A (ja) * | 2017-03-15 | 2020-05-21 | センシェア アーゲー | データベースにおけるトライデータ構造の有効使用 |
US11899667B2 (en) | 2017-03-15 | 2024-02-13 | Censhare Gmbh | Efficient use of trie data structure in databases |
US11275740B2 (en) | 2017-03-15 | 2022-03-15 | Censhare Gmbh | Efficient use of trie data structure in databases |
JP7171592B2 (ja) | 2017-03-15 | 2022-11-15 | センシェア ゲーエムベーハー | データベースにおけるトライデータ構造の有効使用 |
CN110765123A (zh) * | 2018-07-09 | 2020-02-07 | 株式会社日立制作所 | 基于树形结构的材料数据的存储方法、装置和系统 |
CN110889022A (zh) * | 2018-08-17 | 2020-03-17 | 迈普通信技术股份有限公司 | 数据查询方法、装置及电子设备 |
CN111414347A (zh) * | 2019-01-04 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 节点信息处理方法及装置,输出方法及存储和电子设备 |
CN111414347B (zh) * | 2019-01-04 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 节点信息处理方法及装置,输出方法及存储和电子设备 |
CN111314245A (zh) * | 2020-01-17 | 2020-06-19 | 鹏城实验室 | 报文调度方法及装置、存储介质及电子设备 |
CN111314245B (zh) * | 2020-01-17 | 2023-10-24 | 鹏城实验室 | 报文调度方法及装置、存储介质及电子设备 |
CN111553637B (zh) * | 2020-04-29 | 2023-09-26 | 杭州网易再顾科技有限公司 | 提货路径生成方法、装置、电子设备及存储介质 |
CN111553637A (zh) * | 2020-04-29 | 2020-08-18 | 杭州网易再顾科技有限公司 | 提货路径生成方法、装置、电子设备及存储介质 |
CN116150436B (zh) * | 2023-04-14 | 2023-08-08 | 北京锐服信科技有限公司 | 一种基于节点树的数据展示方法与系统 |
CN116150436A (zh) * | 2023-04-14 | 2023-05-23 | 北京锐服信科技有限公司 | 一种基于节点树的数据展示方法与系统 |
CN116680252A (zh) * | 2023-06-13 | 2023-09-01 | 智研汇(上海)科技有限公司 | 树形数据结构及其节点批量移动方法 |
CN117194739A (zh) * | 2023-09-12 | 2023-12-08 | 北京云枢创新软件技术有限公司 | 基于命中状态查找层次树节点的方法、电子设备和介质 |
CN117194739B (zh) * | 2023-09-12 | 2024-04-19 | 北京云枢创新软件技术有限公司 | 基于命中状态查找层次树节点的方法、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2006054506A1 (ja) | 2008-08-07 |
JP4796970B2 (ja) | 2011-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4796970B2 (ja) | ツリーデータの検索・集計・ソート方法及びプログラム | |
JP4653157B2 (ja) | ツリーの検索、集計、ソート方法、情報処理装置、および、ツリーの検索、集計、ソートプログラム | |
JP4537391B2 (ja) | ツリー型データ構造を取り扱う方法、情報処理装置、及び、プログラム | |
JP4681544B2 (ja) | 配列の生成方法、情報処理装置、及び、プログラム | |
JP4116329B2 (ja) | 文書情報表示システム、文書情報表示方法及び文書検索方法 | |
US7962524B2 (en) | Computer program, device, and method for sorting dataset records into groups according to frequent tree | |
JP5423676B2 (ja) | データ分類システム、データ分類方法、及びデータ分類プログラム | |
US20060179051A1 (en) | Methods and apparatus for steering the analyses of collections of documents | |
WO2006038498A1 (ja) | 配列の生成方法、及び、配列生成プログラム | |
WO2006001241A1 (ja) | ノードを挿入する方法、装置及びプログラム | |
JP5716966B2 (ja) | データ分析装置、データ分析方法及びプログラム | |
Wellenzohn et al. | Dynamic interleaving of content and structure for robust indexing of semi-structured hierarchical data (extended version) | |
JP4125951B2 (ja) | テキスト自動分類方法及び装置並びにプログラム及び記録媒体 | |
JP4951407B2 (ja) | コンテンツ部品検索方法及び装置 | |
JPH07225770A (ja) | データ検索装置 | |
JPH10320402A (ja) | 検索式作成方法、検索式作成装置、及び記録媒体 | |
Paik et al. | A framework for data structure-guided extraction of XML association rules | |
Ding et al. | Mining Association Rules from XML Data | |
Ho et al. | SF-Tree: An efficient and flexible structure for estimating selectivity of simple path expressions with statistical accuracy guarantee | |
Ho et al. | ÀF-Tree: An Efficient and Flexible Àtructure for Estimating Àelectivity of Àimple Path Expressions with Àtatistical Accuracy Guarantee | |
Ho et al. | SF-Tree: An Efficient and Flexible Structure for Selectivity Estimation | |
JPH10222538A (ja) | データ検索方法及び装置 | |
JP2006228070A (ja) | データの検索方法 |
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 KN KP KR KZ LC LK LR LS LT LU LV LY 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 LV 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 | ||
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2006544997 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 05806305 Country of ref document: EP Kind code of ref document: A1 |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 5806305 Country of ref document: EP |