Modeling graphs as XML information sets and describing graphs with XML schema
First Claim
Patent Images
1. A method for converting a graph to a tree, the method comprising:
- traversing a graph having a plurality of nodes and a plurality of transitions that connect the plurality of nodes such that each node is visited at least once and each transition is traversed; and
during a traversal of the graph;
including a particular node of the graph in a tree by value if the particular node has not been visited before; and
and including the particular node of the graph in the tree by reference if the particular node has been visited before.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for modeling graphs as XML information sets and describing them with XML schema. An edge labeled directed graph is converted to an edge labeled directed tree representing some of the edges directly and some of the edges indirectly. A graph is completely traversed such that all nodes are visited and all edges are traversed. Nodes are included by value initially and then by reference. A schema is provided that describes the structure of an XML tree than contains graph data.
-
Citations
37 Claims
-
1. A method for converting a graph to a tree, the method comprising:
-
traversing a graph having a plurality of nodes and a plurality of transitions that connect the plurality of nodes such that each node is visited at least once and each transition is traversed; and
during a traversal of the graph;
including a particular node of the graph in a tree by value if the particular node has not been visited before; and
and including the particular node of the graph in the tree by reference if the particular node has been visited before. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for converting a graph to a tree, the method comprising:
-
creating a table for storing pairs that is initially empty, wherein each pair includes a unique ID and a node reference for a node;
during a traversal of a graph, determining if a particular transition leads to a node that is already represented in the table by a particular pair;
if the node is not represented in the table by a particular pair then;
assigning a unique ID to the node;
adding a new pair to the table, wherein the new pair includes the unique ID and a node reference to the node; and
marking an element that represents the particular transition with a global ID whose value equals the unique ID of the node; and
if the node is represented in the table, then marking the element representing the particular transition with a global ref attribute whose value is the unique ID of the node as represented in the pair in the table. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method for converting a tree to a graph, the method comprising:
-
constructing a table for storing pairs that is initially empty, wherein each pair includes a unique ID and a node reference;
while traversing a particular transition in a tree, examining a particular element led to by the particular transition;
constructing a new graph node if a particular tree element has a global ID attribute that identifies a graph node directly;
if the particular tree element has a global REF attribute that identifies a graph node indirectly, then attaching a referenced graph node to a directed edge that has a name that is the same as a name of the particular tree element;
if the particular tree element has a global nil attribute then attaching a null reference to the directed edge that has the same name as the particular tree element; and
if the particular element does not have the global ID attribute, the global REF attribute or the global nil attribute, then the particular element does not lead to a graph node. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A data structure for representing graph data as a tree, the data structure comprising:
-
one or more elements, wherein content of each element is optional;
a first attribute reference to a global ID attribute that is optional; and
a second attribute reference to a global ref attribute that is optional. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A schema for defining an Infoset that contains graph data, the schema comprising:
one or more complexTypes, wherein at least one complexType includes;
a content sequence that includes one or more elements, each element having a type; and
a global ID attribute and a global ref attribute that are mutually exclusive such that use of the global attribute excludes use of the global ref attribute and use of the global ref attribute excludes use of the global ID attribute for a particular instance of the schema. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
34. A computer program product for implementing a method for converting a graph to a tree, the computer program product comprising:
a computer readable having computer executable instructions for implementing the method, the method comprising;
traversing a directed graph such that each node is visited at least once;
when a node in the directed graph is visited, determining if the node is being visited for the first time;
creating an element in a tree if the node is being visited for the first time, wherein an edge leading to the node is assigned to the element and the element is marked with a global ID attribute; and
if a node in the directed graph is being visited for a time that is not the first time, adding an element to the tree that is marked with a global ref attribute to correspond to the node. - View Dependent Claims (35, 36, 37)
Specification