Techniques for validating hierarchically structured data containing open content
AssigneeOracle International Corporation
InventorsAndrea Di Blas, Mayssam Sayyadian
Life of this patent
Estimating the term…
Abstract
Techniques for validating hierarchically structured data according to a collected hierarchical object rule set. The validation techniques account for any open content in the hierarchical object and any downscoped rules in the hierarchical object rule set. In addition, the validation techniques can be applied to efficiently identify rules in the hierarchical object rule set that fail during validation and the nodes of the hierarchical object that cause those rules to fail.
Claims23
A computer-implemented method, comprising:
- storing a hierarchical object in computer memory, the hierarchical object having a first plurality of nodes arranged in a hierarchy, the first plurality of nodes having exactly one root node, and wherein every node of the first plurality of nodes other than the root node has exactly one parent node that is one of the first plurality of nodes;
- storing a corpus of elements in computer memory;
- for each of a second plurality of nodes of the first plurality of nodes:
- (a) determining an element of the corpus of elements that the node is an instance of,
- (b) based on the element that the node is an instance of, determining one or more rules that apply to the node,
- (c) performing an evaluation of the node against at least one of the one or more rules that apply to the node,
- (d) based on results of the evaluation of the node, determining whether the node is valid or invalid, and
- (e) if the node is invalid, determining if the invalidity of the node causes the hierarchical object to also be invalid;
- wherein at least one particular node of the second plurality of nodes is invalid;
- wherein the at least one particular node that is invalid does not cause the hierarchical object to also be invalid.
One or more non-transitory computer-readable media storing instructions which, when executed by one or more computing devices, cause the one or more computing devices to perform a method comprising:
- storing a hierarchical object in computer memory, the hierarchical object having a first plurality of nodes arranged in a hierarchy, the first plurality of nodes having exactly one root node, and wherein every node of the first plurality of nodes other than the root node has exactly one parent node that is one of the first plurality of nodes;
- storing a corpus of elements in computer memory;
- for each of a second plurality of nodes of the first plurality of nodes:
- (a) determining an element of the corpus of elements that the node is an instance of,
- (b) based on the element that the node is an instance of, determining one or more rules that apply to the node,
- (c) performing an evaluation of the node against at least one of the one or more rules that apply to the node,
- (d) based on results of the evaluation of the node, determining whether the node is valid or invalid, and
- (e) if the node is invalid, determining if the invalidity of the node causes the hierarchical object to also be invalid;
- wherein at least one particular node of the second plurality of nodes is invalid;
- wherein the at least one particular node that is invalid does not cause the hierarchical object to also be invalid.
A system comprising:
- computer memory;
- one or more processors;
- one or more non-transitory computer-readable media storing instructions which, when executed by the one or more processors, cause performance of a method comprising:
- storing a hierarchical object in the computer memory, the hierarchical object having a first plurality of nodes arranged in a hierarchy, the first plurality of nodes having exactly one root node, and wherein every node of the first plurality of nodes other than the root node has exactly one parent node that is one of the first plurality of nodes;
- storing a corpus of elements in the computer memory;
- for each of a second plurality of nodes of the first plurality of nodes:
- (a) determining an element of the corpus of elements that the node is an instance of,
- (b) based on the element that the node is an instance of, determining one or more rules that apply to the node,
- (c) performing an evaluation of the node against at least one of the one or more rules that apply to the node,
- (d) based on results of the evaluation of the node, determining whether the node is valid or invalid, and
- (e) if the node is invalid, determining if the invalidity of the node causes the hierarchical object to also be invalid;
- wherein at least one particular node of the second plurality of nodes is invalid;
- wherein the at least one particular node that is invalid does not cause the hierarchical object to also be invalid.
Dependencies are inferred from the claim text.