EP0361737A2
Expired / Lapsed
EP
⏱️ 0.0 years remaining
Methods of processing hierarchical data
Assignee: International Business Machines Corp
•
Filing: 1989-09-14
•
Granted: —
•
Expires: 2009-09-14
Abstract
Abstract A method for providing improved editing capability in a structure editor, and capable of extension to syntax-directed editors. A set of methods provide an approach to selecting arbitrary nodes from within a tree, and using those arbitrarily selected groups of nodes in otherwise conventional editing operations such as move, copy, delete, collect, and the like. In syntax-directed editors, the present invention provides a way of maintaining syntax while these novel and highly flexible editing operations are performed.
Inventors
- 👤 Patrick Charles Mancuso
- 👤 Robert Charles Seacord
- 👤 Anthony Joseph Arcuri
- 👤 William Scott Cadden
- 👤 Frederick Paul Muller
- 👤 Kurt Alan Riegel
- 👤 David Woolworth Stafford
Bibliographic Details
Application Number
—
Jurisdiction
EP
Data Source
google_patents
Last Synchronized
2026-11-02 10:49
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/30; G06F8/33; G06F40/00; G06F40/10; G06F40/12; G06F40/14; G06F40/166; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99941; Y10S707/99942
Claims Analysis
Total Claims: 15
Claim 1
Independent Claim
184 words
A method of processing data organised as a hierarchy or tree with a single root data element and one or more lower layers of subsidiary data elements or nodes such that zero, one or more subsidiary or child or sibling data elements are related to only one parent data element in the next higher level in the hierarchy, the method comprising: selecting an operation to be performed, which operation is based on the following operations, alone or in combination or in combination with other operations: collecting; deleting; inserting; selecting or creating data elements to be subject to the selected operation; specifying a target data element and a relationship between the selected or created data elements and the target data element, if required by the operation; collecting the selected or created data elements into lists of subtrees that maintain the existing hierarchical relationships, if required by the operation; deleting the selected data elements from the hierarchy, if required by the operation; and inserting the collected list into the hierarchy at the target data element so that the relationship is established, if required by the operation.
Claim 2
Independent Claim
184 words
A method of processing data organised as a hierarchy or tree with a single root data element and one or more lower layers of subsidiary data elements or nodes such that zero, one or more subsidiary or child or sibling data elements are related to only one parent data element in the next higher level in the hierarchy, the method comprising: selecting an operation to be performed, which operation is based on the following operations, alone or in combination or in combination with other operations: collecting; deleting; inserting; selecting or creating data elements to be subject to the selected operation; specifying a target data element and a relationship between the selected or created data elements and the target data element, if required by the operation; collecting the selected or created data elements into lists of subtrees that maintain the existing hierarchical relationships, if required by the operation; deleting the selected data elements from the hierarchy, if required by the operation; and inserting the collected list into the hierarchy at the target data element so that the relationship is established, if required by the operation.
Claim 3
Dependent Claim
79 words
A method as claimed in claim 1, wherein the collecting step comprises: identifying highest order data elements selected; creating copies of the highest order data elements; identifying all selected data elements hierarchically related to each of the highest order data elements; copying the related data elements; and connecting the copies of the related data elements to the copy of the each of the highest order data elements to form a simply connected subtree wherein the hierarchical relationships are preserved.
Claim 4
Independent Claim
21 words
A method as claimed in either preceding claim, further comprising the step of specifying permitted relationships or connections between data elements.
Claim 5
Independent Claim
84 words
A method as claimed in any preceding claim, wherein the relationship- for example, between the collected list and the target data element- can be: left, as a sibling of the parent of the target data element and located to the left; right, as a sibling of the parent and located to the right; around, as the parent of the target data element; and within, as a child of the target data element such that all existing children are children of the inserted collected list.
Claim 6
Dependent Claim
110 words
A method as claimed in claim 4, wherein the collecting step comprises: identifying highest order data elements selected; creating copies of the highest order data elements; identifying all selected data elements hierarchically related to each of the highest order data elements, determining whether each the hierarchically related data element can be connected to the highest order data element according to the permitted relationships, copying the related data elements, if connection is permitted; and connecting the copies of the related data elements to the each of the highest order data elements, if permitted, to form a simply connected tree wherein the hierarchical relationships are preserved in accordance with the permitted relationships.
Claim 7
Independent Claim
131 words
A method as claimed in any preceding claim, wherein the step of deleting the selected data elements comprises: grouping the selected data elements into simply connected groups such that each element of a group is connected to at most one data element in the hierarchical layer immediately above its layer while preserving existing hierarchical relationships; for each simply connected group to be deleted: identifying the highest order data element in the group; identifying the parent data element of the highest order data element; identifying all data elements related to the group but not selected; deleting all data elements contained in the simply connected group from the tree, and connecting to the parent of the highest order data elements all data elements related to the highest order data element but not deleted.
Claim 8
Dependent Claim
136 words
A method as claimed in claim 4, wherein the step of deleting the selected data elements comprises: grouping the selected data elements into simply connected groups such that each element of a group is connected to at most one data element in the hierarchical layer immediately above its layer while preserving existing hierarchical relationships; for each simply connected group to be deleted: identifying a highest order data element in the group; identifying the parent data element of the highest order data element; identifying all data elements related to the group but not selected; deleting all data elements contained in the group from the tree; and connecting to the parent of the highest order data element all data elements related to the highest order data element but not deleted, provided that such connection establishes a permitted relationship.
Claim 9
Dependent Claim
51 words
A method as claimed in claim 4, wherein the specifying step comprises: defining the type of data elements allowed; defining the nature of connections allowed; for each data element type, specifying the types of data elements which can be connected to the data element type and the nature of connection allowed.
Claim 10
Independent Claim
20 words
A method as claimed in any preceding claim, wherein selectable combined operations that can be performed include copy and move.
Claim 11
Dependent Claim
79 words
A method as claimed in claim 4, wherein inserting a list of subtrees of data elements, called nodes, into a tree in relation to a selected target node, comprising the steps of: selecting the list of subtrees; selecting the target node; specifying the relationship between the list of nodes and the target node; identifying the parent of the target node; establishing connections between the list of subtrees, the parent node, and the target node, as required by the relationship.
Claim 12
Dependent Claim
227 words
A method as claimed in claim 10, wherein: if the relationship is around the target node the establishing step comprises: disconnecting the target node from the parent node; connecting the list of subtrees to the parent node as subsidiary data elements thereof conditionally on a permitted relationship being established, if such has been specified; and connecting the disconnected target node to the list of subtrees conditionally on a permitted relationship being established, if such has been specified; if the relationship is right of the target node the establishing step comprises: connecting the list of subtrees to the parent to the right of target node conditionally on a permitted relationship being established, if such has been specified; if the relationship is left of the target node the establishing step comprises: connecting the list of subtrees to the parent to the left of the target node conditionally on a permitted relationship being established, if such has been specified; if the relationship is within the target node the establishing step comprises: disconnecting the subsidiary data elements of the target node; connecting the list of subtrees to the target node as subsidiary data elements thereof conditionally on a permitted relationship being established, if such has been specified; and connecting the disconnected subsidiary data elements to the list of subtrees conditionally on a permitted relationship being established, if such has been specified.
Claim 13
Independent Claim
188 words
A method as claimed in any of claims 4 to 11, wherein the specified relationships are intended for maintaining syntactically correct relationships between connected pairs of data elements and are encmpassed by: creating a list of permitted data element types; defining a first level syntax rule for each data element type, defining second level syntax rules that refer directly or indirectly through one or more second level syntax rules to first level syntax rules to specify valid relationships; the syntax rules defining lists of relationships that may be established between the data element types, the relationships defining the number of relationships that may be established, and the data element types that may be related; locating that first level syntax rule corresponding to the type of a first data element of a potential pair; testing the second data element to determine whether the second data element is of a data element type that may be related to the first data element; if not, aborting the connection, else testing any other listed syntax rules and establishing the connection between the first data element and the second data element, if permitted.
Claim 14
Independent Claim
121 words
A method as claimed in any of claims 4 to 11, wherein, to establish the integrity of a potential connection of selected nodes into the tree, ; a first set of rules specifying hierarchical relationships and order relationships between nodes in the tree is provided; the first set of rules being used with respect to the selected nodes to identify one or more connections to nodes in the tree; a second set of rules is provided regarding permitted connections between nodes in the tree; the second set of rules being used to test the identified connections to determine whether the second set of rules is satisfied in the connections; the connection being made if the second set of rules is satisfied.
Claim 15
Independent Claim
160 words
A method as claimed in any of claims 1 to 3, wherein the collecting and deleting steps, (together comprising a remove step) comprising the steps of: grouping the selected data elements into simply connected groups such that each element of a group is connected to at most one data element in the hierarchical layer immediately above its layer while preserving existing hierarchical relationships; for each simply connected group to be removed: identifying the highest order data element in the group; identifying the parent data element of the highest order data element; identifying all data elements related to the group but not selected; removing all data elements contained in the simply connected group from the tree; connecting to the parent of the highest order data elements all data elements related to the highest order data element but not removed; connecting the removed data elements in the simply connected group to previously removed data elements so that the hierarchical relationships are preserved.
References Cited (Backward Citations)
No citation records indexed.
USPTO Annuity & Maintenance Windows
Maintenance schedule is calculated for granted US utility patents.