Graph integration system and method

The graph integration system addresses the challenge of integrating graphs with varying representations by using partition group pairs and domain knowledge to construct rules, enabling accurate identification and integration of overlapping subgraphs.

JP7807992B2Active Publication Date: 2026-01-28HITACHI LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022099136
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-20
Publication Date
2026-01-28
Estimated Expiration
2042-06-20

AI Technical Summary

Technical Problem

Existing graph integration techniques struggle to accurately identify and integrate nodes or edges between graphs created by different entities, as they often have varying representations of the same object or overlapping portions due to differences in property items and values, node or edge counts, and branch existence.

Method used

A graph integration system that utilizes a partition group pair and domain knowledge to construct rules based on property relationships, allowing for the identification and integration of overlapping portions by specifying partition groups and constructing rules for identifying and integrating graphs.

Benefits of technology

Enables effective integration of graphs with differing representations by identifying and integrating subgraphs in overlapping portions, even when they have different expressions, facilitating accurate and efficient graph merging.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007807992000001
    Figure 0007807992000001
  • Figure 0007807992000002
    Figure 0007807992000002
  • Figure 0007807992000003
    Figure 0007807992000003
Patent Text Reader

Abstract

To fuse graphs even when representations are different between the graphs with respect to the same objects or duplicative parts.SOLUTION: A system accepts designation of a block group pair. The block group pair is domain knowledge and is a pair of a first block group of a first graph and a second block group of a second graph which overlaps with the first block group. The system constructs a rule group of one or more rules on the basis of a relation between one or more first property values belonging to the first block group and one or more second property values belonging to the second block group. Each of the one or more rules is a rule for specifying overlapping parts of the first and second graphs or a rule for fusing the first and second graphs. The system fuses the first and second graphs on the basis of the constructed rule group.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to graph integration. [Background technology]

[0002] Known techniques for graph integration are disclosed in, for example, Patent Documents 1 and 2. According to the technique disclosed in Patent Document 1, graph integration is performed according to rules corresponding to the types of differences between graphs (for example, insertion errors, omission errors, and substitution errors). According to the technique disclosed in Patent Document 2, graph integration is performed according to rules corresponding to the frequency of overlap between graphs, etc. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP2010-32919 [Patent Document 2] WO2012 / 035754 Summary of the Invention [Problem to be solved by the invention]

[0004] In the techniques disclosed in both Patent Documents 1 and 2, nodes (or edges) that are related to each other in a graph are mechanically determined. For example, nodes or edges that use the same property value for the same property item (for example, name) are determined to be related nodes or edges.

[0005] However, when graphs are created by multiple different entities (e.g., individuals or organizations) for the same object or for multiple objects with overlapping portions, the representation of the same object or overlapping portions is not necessarily the same between the graphs. For example, the same property items and the same property values ​​are not necessarily used for the same object elements (elements in the object) that are nodes or edges. Also, the number of nodes or edges for the same object or overlapping portions may differ, or a node as a branch may only exist on one side. For these reasons, it is not always possible to mechanically determine which nodes or edges are related to each other between graphs. [Means for solving the problem]

[0006] A graph integration system accepts specification of a partition group pair, which is a pair of a first partition group and a second partition group overlapping the first partition group. The partition group pair is domain knowledge. The first partition group is one or more first partitions in a first graph. The second partition group is one or more second partitions in a second graph. The first graph is a graph composed of a plurality of first graph elements, which are first nodes and first edges. A first partition is a set of one or more sequential first edges and / or first nodes at both ends of each of the one or more first edges. Each first graph element is associated with one or more first property items and a first property value for each of the one or more first property items. The second graph is a graph composed of a plurality of second graph elements, which are second nodes and second edges. The second partition is a set of one or more sequential second edges and / or second nodes at both ends of each of the one or more second edges. Each second graph element is associated with one or more second property items and a second property value for each of the one or more second property items.

[0007] The graph integration system constructs a rule group of one or more rules based on a property relationship that is a relationship between one or more first property values ​​among one or more first property values ​​belonging to a first group of partitions and one or more second property values ​​among one or more second property values ​​belonging to a second group of partitions. Each of the one or more rules is either a rule for identifying an overlapping portion of the first and second graphs or a rule for integrating the first and second graphs. The graph integration system integrates the first and second graphs based on the constructed rule group. [Effects of the Invention]

[0008] According to the present invention, graphs can be integrated even if the graphs express the same object or overlapping portions differently. [Brief explanation of the drawings]

[0009] [Figure 1] An example of two graphs and their overlapping areas is shown below. [Figure 2A] An example of the configuration of a subgraph belonging to the overlapping portion of one of the graphs is shown below. [Figure 2B] An example of the configuration of a subgraph belonging to the overlapping portion of the other graph is shown below. [Figure 3] 1 illustrates an example of the configuration of a graph integration system according to an embodiment of the present invention. [Figure 4] 10 shows an example of functional blocks of a graph integration unit. [Figure 5] An example of a UI displayed during preprocessing is shown below. [Figure 6] 1 shows an example of a UI displayed in overlapping domain knowledge acquisition. [Figure 7] 10A and 10B show an outline of an example of rule group construction. [Figure 8] 1 shows an example of a UI displayed in overlapping domain knowledge acquisition. [Figure 9] 10 shows an example of a UI displayed during integration target extraction. [Figure 10] 1 shows an example of a UI displayed in integrated domain knowledge acquisition. [Figure 11] 1 shows an example of a UI displayed in integrated domain knowledge acquisition. [Figure 12] An example of a UI displayed in graph integration is shown. [Figure 13] 10 shows an example of a UI displayed in post-processing. [Figure 14A] An example of multiple routes is shown below. [Figure 14B] 1 shows an example of a route list. [Figure 15] An example of the overall system configuration including the graph integration system is shown below. DETAILED DESCRIPTION OF THE INVENTION

[0010] In the following description, an "interface apparatus" may refer to one or more interface devices, which may be at least one of the following: An I / O interface device is one or more I / O (Input / Output) interface devices. The I / O (Input / Output) interface devices are interface devices for at least one of an I / O device and a remote display computer. The I / O interface device for the display computer may be a communications interface device. The at least one I / O device may be a user interface device, for example, either an input device such as a keyboard and a pointing device, or an output device such as a display device. A communication interface apparatus that is one or more communication interface devices. The one or more communication interface devices may be one or more homogeneous communication interface devices (e.g., one or more NICs (Network Interface Cards)) or two or more heterogeneous communication interface devices (e.g., an NIC and an HBA (Host Bus Adapter)).

[0011] In the following description, "memory" refers to one or more memory devices, which are an example of one or more storage devices, and may typically be a primary storage device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.

[0012] In the following description, a "persistent storage device" may refer to one or more persistent storage devices, which are an example of one or more storage devices. A persistent storage device may typically be a non-volatile storage device (e.g., an auxiliary storage device), and specifically may be, for example, a hard disk drive (HDD), a solid state drive (SSD), a non-volatile memory express (NVME) drive, or a storage class memory (SCM).

[0013] In the following description, the term "storage device" may refer to at least one of memory and persistent storage device.

[0014] Furthermore, in the following description, a "processor" may refer to one or more processor devices. The at least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit), but may also be another type of processor device such as a GPU (Graphics Processing Unit). The at least one processor device may be a single-core or multi-core. The at least one processor device may also be a processor core. The at least one processor device may also be a processor device in a broader sense, such as a circuit that is a collection of gate arrays written in a hardware description language that performs some or all of the processing (for example, an FPGA (Field-Programmable Gate Array), a CPLD (Complex Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit)).

[0015] In addition, the following explanation may refer to data that produces an output in response to an input, but the data may be data of any structure (for example, structured data or unstructured data), or may be a learning model such as a neural network that generates an output in response to an input, a genetic algorithm, or a random forest.

[0016] In the following description, functions are sometimes described using the expression "yyy unit." However, the functions may be realized by one or more computer programs executed by a processor, by one or more hardware circuits (e.g., FPGAs or ASICs), or by a combination thereof. When a function is realized by a program executed by a processor, the specified processing is performed using a storage device and / or an interface device, etc., as appropriate, and therefore the function may be considered to be at least a part of the processor. Processing described using a function as the subject may be processing performed by a processor or a device having the processor. A program may be installed from a program source. The program source may be, for example, a program distribution computer or a computer-readable storage medium (e.g., a non-transitory storage medium). The description of each function is merely an example; multiple functions may be combined into one function, or one function may be divided into multiple functions.

[0017] In the following description, the graph data representing a graph as a set of nodes and edges is in JSON format, but other formats are also acceptable. The graph may be a directed graph or an undirected graph. For each graph, the graph data may include the following: Graph ID For each node, node data representing the node. The node data may include the node ID, the IDs of the edges connected to the node, one or more property items related to the node, and a property value for each property item. For each edge, edge data representing the edge. The edge data may include the edge ID, the IDs of the nodes at both ends connected to the edge (if the edge is directed, the IDs of the start and end nodes), one or more property items related to the edge, and a property value for each property item.

[0018] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0019] FIG. 1 shows the structure of graph data prepared in one embodiment of the present invention.

[0020] An example of the first graph data is power supply station A equipment data. The power supply station A equipment data represents graph 105A, which is an example of the first graph. Graph 105A represents power network A that is the target of monitoring and / or control by power supply station A.

[0021] An example of the second graph data is power supply station B equipment data. The power supply station B equipment data represents graph 105B as an example of the second graph. Graph 105B represents power network B that is the target of monitoring and / or control of power supply station B.

[0022] Each of power networks A and B includes multiple power lines and multiple electrical equipment. In each of graphs 105A and 105B, nodes correspond to electrical equipment, and edges correspond to power lines or portions thereof. Nodes and edges are collectively referred to as "graph elements." A graph element is a node or an edge.

[0023] Both graphs 105A and 105B may be single-layer graphs or multi-layer graphs. A multi-layer graph may be composed of an upper graph and one or more lower graphs. An upper graph may be a graph belonging to a higher layer and may be composed of multiple upper nodes and one or more upper edges (both ends of each upper edge may be upper nodes). A lower graph may be a graph belonging to a lower layer and is a detailed version of one upper edge and may be composed of multiple lower nodes and multiple lower edges (one end of each lower edge may be a lower node and the other end may be a lower node or an upper node).

[0024] Graphs 105A and 105B illustrated in FIG. 1 may each be an example of a higher-level graph. Graphs 200A and 200B illustrated in FIG. 2A and 2B may each be an example of a lower-level graph. According to FIG. 2A, graph 200A is a lower-level graph that represents a detailed configuration of the higher-level edge "LA01" of graph 105A. According to FIG. 2B, graph 200B is a lower-level graph that represents a detailed configuration of the higher-level edge "LB01" of graph 105B.

[0025] The "multiple layers" of a graph may be logically multiple layers, and specifically, may be realized by, for example, setting the property value of a certain property item of a graph element to multilevel. For example, a graph element with a property value of "1" may be an upper node or an upper edge, and a graph element with a property value of "2" may be a lower node or an lower edge.

[0026] For example, in the power transmission and distribution business, an application that provides services such as power supply and demand forecasts and facility planning for a wide area refers to graph data for a wide area in order to provide the service.

[0027] However, it is difficult for a single administrator to prepare graphs for a wide area. For each of the multiple areas in the wide area, the administrator for that area can create a graph for that area, and then these graphs can be integrated to prepare a graph for the wide area.

[0028] The integration of graphs 105A and 105B can be achieved by integrating subgraphs belonging to the overlapping portion 101 (the same range) of power networks A and B. However, the representation of the subgraph in the overlapping portion 101 of graph 105A may differ from the representation of the subgraph in the overlapping portion 101 of graph 105B. For example, even though these subgraphs represent the overlapping portion 101, which is the same power network portion, a node serving as a branch point on a power line may exist in only one of the subgraphs, or a node serving as a branch point may exist in both subgraphs but the property items or property values ​​of the node may be different. This makes at least one of the following difficult: · Integration of graphs 105A and 105B. Identifying a subgraph in the overlapping portion of graphs 105A and 105B.

[0029] In this embodiment, even if the graphs 105A and 105B have different expressions for the overlapping portion 101, it is possible to identify subgraphs in the overlapping portion 101 of both graphs 105A and 105B and integrate the subgraphs in the overlapping portion 101.

[0030] FIG. 3 shows an example of the configuration of a graph integration system according to an embodiment of the present invention.

[0031] In this embodiment, the graph integration system 300 is a physical computer system (one or more physical computers), but may alternatively be a logical computer system based on a physical computer system (e.g., a virtual machine or a cloud computing service).

[0032] The graph integration system 300 comprises an interface device 301, a storage device 303 and a processor 304 connected thereto.

[0033] A communication network (not shown) and an input / output device 302 are connected to the interface device 301. The input / output device 302 may be provided in the graph integration system 300, or may be a remote device connected via a communication network. For example, the graph integration system 300 may be a server system, and the input / output device 302 may be a client system. The input / output device 302 may include a keyboard and a display, or a touch panel. A UI (User Interface) is provided and displayed on the input / output device 302. The UI here may typically be a GUI (Graphical User Interface).

[0034] Data and computer programs are stored in the storage device 303. Examples of the data stored include an original graph dataset 331, a property dataset 332, a modification judgment dataset 333, extracted rule data 334, extracted subgraph data 335, integrated rule data 336, integrated subgraph data 337, and integrated graph data 338.

[0035] The original graph dataset 331 is a set of graph data representing each original graph (graph that can be integrated). Graphs 105A and 105B illustrated in FIG. 1 are examples of original graphs. The property dataset 332 is a set of property data (a set of pairs of property items and property values) for each graph. The processing judgment dataset 333 is a set of processing rule data and judgment rule data. The extraction rule data 334 is data representing a set of rules for extracting subgraphs (identifying overlapping portions). The extracted subgraph data 335 is graph data representing subgraphs that are all or part of the original graphs that have been extracted. The integration rule data 336 is data representing a set of rules for integration. The integrated subgraph data 337 is graph data representing an integrated subgraph (a graph resulting from the integration of subgraphs). The integrated graph data 338 is graph data representing an integrated graph (a graph resulting from the integration of original graphs).

[0036] The processor 304 reads and executes a computer program from the storage device 303, thereby realizing functions such as the graph integration unit 30. As shown in FIG. 4, the graph integration unit 30 includes functions such as a UI provision unit 401, a domain knowledge acquisition unit 402, a rule construction unit 403, a graph processing unit 404, and an integrated data output unit 405. The graph integration unit 30 performs preprocessing (S341), overlapping domain knowledge acquisition (S342), integration target extraction (S343), integrated domain knowledge acquisition (S344), graph integration (S345), and postprocessing (S346). The processes of S341 to S346 will be described in detail below. Note that, to avoid confusion, elements related to graph 105A may be referred to as "first" and elements related to graph 105B as "second."

[0037] <Preprocessing (S341)>

[0038] 3, the UI providing unit 401 displays a UI for receiving designation of an original graph to be read on the input / output device 302. The UI providing unit 401 reads graph data and property data of the original graph (e.g., the ID of the original graph) designated via the UI from the original graph dataset 331 and the property dataset 332. Hereinafter, the original graphs to be read are assumed to be the graphs 105A and 105B illustrated in FIG. 1. Therefore, the read graph data is assumed to be the power supply station A equipment data and the power supply station B equipment data.

[0039] 5, the UI providing unit 401 displays a UI 500 on the input / output device 302. The UI 500 has display areas 510A and 510B.

[0040] Display area 510A displays graph 105A represented by the A power supply station equipment data and property list 512A represented by the property data of graph 105A. Property list 512A is made up of property entries for each first edge of graph 105A. For each edge, the property entry includes a plurality of first property items (edge ​​ID, attribute value 1, attribute value 2, ...) associated with the first edge, and a first property value for each first property item.

[0041] Display area 510B displays graph 105B represented by the B power supply station equipment data and property list 512B represented by the property data of graph 105B. Property list 512B is made up of property entries for each second edge of graph 105B. For each edge, the property entry includes multiple second property items associated with the second edge and a second property value for each second property item. In the example shown in FIG. 5, all of the property items are the same between graphs 105A and 105B, but the property values ​​are different.

[0042] The user checks the displayed graph 105A, property list 512A, graph 105B, and property list 512B, and presses button 521 on UI 500. When button 521 is pressed, preprocessing ends.

[0043] At least one of property lists 512A and 512B may have an entry for each node instead of or in addition to an entry for each edge. Also, the property items may be different between graphs 105A and 105B. At least one of graphs 105A and 105B may have only one property item.

[0044] <Overlapping Domain Knowledge Acquisition (S342)>

[0045] 5 is pressed, the UI providing unit 401 displays the UI 600 on the input / output device 302. The UI 600 has a display area 610A for the graph 105A and a display area 610B for the graph 105B.

[0046] The domain knowledge acquisition unit 402 receives the designation of a partition group pair via the UI 600. A partition group pair is a pair of a first partition group and a second partition group that overlaps the first partition group.

[0047] The first partition group is one or more first partitions in graph 105A (an example of a first graph). A first partition is a set of one or more sequential first edges and / or first nodes at both ends of each of the one or more first edges. The "one or more sequential first edges" may be referred to as a "first path." As described above, each first graph element in graph 105A is associated with one or more first property items and a first property value for each of the one or more first property items.

[0048] The second partition group is one or more second partitions in graph 105B (an example of a second graph). A second partition is a set of one or more sequential second edges and / or second nodes at both ends of each of the one or more second edges. The "one or more sequential second edges" may be referred to as a "second path." Note that, as described above, each second graph element in graph 105B is associated with one or more second property items and a second property value for each of the one or more second property items.

[0049] The partition group pair is domain knowledge. Specifically, the partition group pair specified in this "overlap domain knowledge acquisition (S342)" is domain knowledge for identifying the overlapping portion (a pair of overlapping partition groups in graphs 105A and 105B). That is, the domain knowledge acquisition unit 402 accepts from the user a designation of a first partition group and a second partition group that belong to the overlapping portion of graphs 105A and 105B. Even if the expressions of the subgraphs that belong to the overlapping portion are different between graphs 105A and 105B, the graph integration unit 30 can identify the first partition group and the second partition group that belong to the overlapping portion. In the example of FIG. 6, the first edge "LA01" is designated as the first partition group, and the UI provision unit 401 replaces the property list 512A with a property list 612A that includes only the property entry of the designated first edge "LA01." The second edge "LB02" is specified as the second partition group, and the UI providing unit 401 replaces the property list 512B with a property list 612B that is configured with only the property entry of the specified second edge "LB02."

[0050] The user checks the displayed property lists 612A and 612B and presses a button 621 on the UI 600. When the button 621 is pressed, the overlapping domain knowledge acquisition ends.

[0051] The overlapping domain knowledge can be specified simply by specifying a group of overlapping sections known to the user among the graphs 105A and 105B arranged on the UI 600, making it easy for the user to specify the domain knowledge.

[0052] <Integrated Target Extraction (S343)>

[0053] When button 621 of UI 600 illustrated in FIG. 6 is pressed, integration target extraction (S343) begins. The rule construction unit 403 constructs a rule group, which is one or more rules, based on a property relationship between one or more first property values ​​belonging to a first partition group in the specified domain knowledge (here, overlapping domain knowledge) and one or more second property values ​​belonging to a second partition group in the specified domain knowledge. Here, each of the "one or more rules" is either a rule for identifying overlapping portions of graphs 105A and 105B or a rule for integrating the first and second graphs. Furthermore, the "property relationship" refers to which of multiple judgment conditions is satisfied among multiple combinations of multiple first property values ​​belonging to the first partition group, multiple second property values ​​belonging to the second partition group, and multiple processing methods related to the property values. An example of property relationship and rule group construction will be described with reference to FIG. 7.

[0054] 7, the property data set 332 has property data for each graph. For each graph element of the graph, the property data includes data for one or more property sets associated with the graph element. A property set is a pair of a property item and a property value. For each property set, the data indicates the identification number (an example of an ID), Key (property item), Type (type of property value), and Value (property value) of the property set.

[0055] 7, the editing judgment data set 333 is a set of editing rule data 720 and judgment rule data 730. The editing rule data 720 includes, for each editing method, data representing the identification number of the editing method and the editing method (e.g., the editing name and the details of the editing process). The judgment rule data 730 includes, for each judgment condition, data representing the identification number of the judgment condition and the judgment condition (e.g., the judgment name and the details of the judgment condition).

[0056] 7, the specified domain knowledge is a pair of a first edge "LA01" and a second edge "LB02." For the graphs 105A and 105B to be integrated, the rule construction unit 403 reads property data 710A of the first edge "LA01" and property data 710B of the second edge "LB02" from the property dataset 332. The rule construction unit 403 constructs a set of rules using the property data 710A of the first edge "LA01," the property data 710B of the second edge "LB02," the processing rule data 720, and the judgment rule data 730. Specifically, for example, the rule construction unit 403 generates processing result data 740 indicating, for each of all combinations of the property set of the first edge "LA01," the property set of the second edge "LB02," the processing method, and the judgment condition, the combination and whether the judgment condition for that combination is satisfied. In the processing result data 740, for each combination, "Attribute A Value" represents the identification number of property set A in that combination (the property set to which the property item of the first edge "LA01" belongs), "Processing A" represents the identification number of the processing method applied to the property value in property set A, "Attribute B Value" represents the identification number of property set B in that combination (the property set to which the property item of the second edge "LB02" belongs), "Processing B" represents the identification number of the processing method applied to the property value in property set B, and "Is satisfied?" represents whether the judgment condition for that combination is satisfied.

[0057] The rule construction unit 403 constructs rules based on combinations that include satisfied judgment conditions, and displays a UI 800 displaying a list 801 of the constructed rules on the input / output device 302, as shown in Fig. 8. The rules constructed in this "integration target extraction (S343)" (the rules displayed on the UI 800) are rules for identifying overlapping portions between graphs 105A and 105B, and one or more rules represented by the list 801 are an example of a group of overlapping rules for identifying overlapping portions. The rule construction unit 403 constructs rules based on which judgment conditions are satisfied when which processing method is applied to which property set A and when which processing method is applied to which property set B.

[0058] As shown in FIG. 8, a priority may be set for each rule. The priority may be determined in the order in which the rules are constructed or in another order, and may be determined by the rule construction unit 403 or set by the user via the UI 800. If one or more constructed rules conflict with each other, the rule with the highest priority among the conflicting rules may be used to identify the overlapping portion. The UI 800 may also have a tool for accepting, from the user, a request to edit or delete a constructed rule, or a tool for accepting, from the user, a request to add a rule for identifying the overlapping portion.

[0059] Through the above process, a group of rules for identifying overlapping portions is constructed (the group of rules is finalized). The user checks the group of rules and presses button 821 on UI 800.

[0060] When a button 821 on the UI 800 is pressed, the graph processing unit 404 saves the extraction rule data 334 (see FIG. 3) representing the constructed set of rules in the storage device 303, and uses the set of rules to extract the integration targets from the graphs 105A and 105B (i.e., identifies the graph elements of the subgraphs belonging to the overlapping portion). Specifically, the graph processing unit 404 identifies a graph element combination (a combination of graph elements of graph 105A and graph elements of graph 105B) that corresponds to one of the rules in the constructed set of rules (the rule with the highest priority if there are conflicting rules). Specifically, the "graph element combination that corresponds to a rule" is as follows: One or more graph elements α of graph 105A are associated with property item A specified in the rule for the first edge “LA01”, and one or more graph elements β of graph 105B are associated with property item B specified in the rule for the second edge “LB02”. The relationship between the value A obtained by applying the processing method specified in the rule for the first edge "LA01" to the property value of property item A of one or more graph elements α and the value B obtained by applying the processing method specified in the rule for the second edge "LB02" to the property value of property item B of one or more graph elements β satisfies the judgment condition specified in the rule. In this case, a set of one or more graph elements α and a set of one or more graph elements β are overlapping sets.

[0061] The graph processing unit 404 displays a UI 900 representing the extracted join targets on the input / output device 302, as shown in FIG. 9. According to the example shown in FIG. 9, the "graph element combinations corresponding to the rule" include the combination of the first edge "LA02" and the second edge "LB01" in addition to the domain knowledge specified by the user (the combination of the first edge "LA01" and the second edge "LB02"). The UI providing unit 401 highlights the graph elements (edges and their end nodes) belonging to the identified graph element combination among the graphs 105A and 105B. The UI providing unit 401 also displays property lists 912A and 912B of the graph elements belonging to the identified graph element combination on the UI 900. The user checks the subgraphs belonging to the overlapping portion and presses a button 921 on the UI 900. When button 921 is pressed, extracted subgraph data 335 (see FIG. 3) representing the subgraphs belonging to the overlapping portion for each of graphs 105A and 105B is stored in storage device 303, and integration target extraction is completed.

[0062] As described above, a rule that is satisfied by the specified domain knowledge (partition group pair) is constructed, a graph element combination (another partition group pair) that satisfies the constructed rule is identified, and the specified domain knowledge and the graph element combination identified based on it are extracted as a subgraph belonging to the overlapping portion. The constructed rule is based on the satisfied judgment condition, the processing method that belongs to the combination that satisfies the judgment condition, and the property item of the property value processed by the processing method. This makes it possible to extract a subgraph belonging to the overlapping portion even if the expression of the subgraph belonging to the overlapping portion is different between graphs 105A and 105B. Furthermore, even if the user does not know the entire extent of the subgraph belonging to the overlapping portion between graphs 105A and 105B, the subgraph can be expected to be extracted.

[0063] <Integrated Domain Knowledge Acquisition (S344)>

[0064] When a button 921 of the UI 900 illustrated in FIG. 9 is pressed, the UI providing unit 401 displays a UI 1000 illustrated in FIG. 10 on the input / output device 302. The UI 1000 has a display area 1010A related to a subgraph extracted from the graph 105A and a display area 1010B related to a subgraph extracted from the graph 105B. For example, the display area 1010A displays a subgraph 1011A (an example of a subgraph) belonging to the first edge "LA01." The display area 1010B displays a subgraph 1011B belonging to the second edge "LB02," which overlaps with the first edge "LA01." In other words, the subgraphs are arranged side by side in the UI 1000. Note that in this example, it is assumed that the first edge "LA02" and the second edge "LB01," which are a different graph element combination, do not have a subgraph (subgraph) belonging to them.

[0065] 10, the subgraphs 1011A and 1011B, which should represent the same object in the overlapping portion, have different expressions (specifically, configurations). Even though the subgraphs 1011A and 1011B have different expressions, in this embodiment, the subgraphs 1011A and 1011B can be integrated.

[0066] Specifically, the domain knowledge acquisition unit 402 receives, via the UI 1000, the specification of a partition group pair as integrated domain knowledge (domain knowledge for integration). As described above, a partition group pair is a pair of a first partition group and a second partition group that overlap (match) each other. According to the example shown in FIG. 10, the subgraph 1011A specifies one first edge “EA01” as the first partition group, and the subgraph 1011B specifies two consecutive second edges “EB01” and “EB02” as the second partition group. Therefore, the UI provision unit 401 displays, on the UI 1000, a property list 1012A of the first edge “EA01” as the first partition group and a property list 1012B of the second edges “EB01” and “EB02” as the second partition group, based on the property data of the graphs 105A and 105B.

[0067] The user checks the displayed property lists 1012A and 1012B and presses the button 1021 on the UI 1000. When the button 1021 is pressed, the integrated domain knowledge acquisition ends.

[0068] The integrated domain knowledge can be specified by simply specifying overlapping sections known to the user from among the subgraphs 1011A and 1011B arranged on the UI 1000, making it easy for the user to specify the domain knowledge.

[0069] <Graph Integration (S345)>

[0070] 10 is pressed, the rule construction unit 403 constructs a set of rules for integration in the same manner as the set of rules for identifying overlapping portions. In other words, the set of rules constructed based on overlapping domain knowledge (an example of the first partition group pair) is a set of rules for identifying overlapping portions, while the set of rules constructed based on integrated domain knowledge (an example of the second partition group pair) is a set of integrated rules for integration.

[0071] 10, the specified integrated domain knowledge is a pair of a first edge "EA01" and second edges "EB01" and "EB02." For the subgraphs 1011A and 1011B to be integrated, the rule construction unit 403 reads the property data of the first edge "EA01" and the property data of the second edges "EB01" and "EB02" from the property dataset 332. The rule construction unit 403 constructs a set of rules using the property data of the first edge "EA01," the property data of the second edges "EB01" and "EB02," the processing rule data 720, and the judgment rule data 730. Specifically, for example, the rule construction unit 403 generates processing result data indicating, for each of all possible combinations of the property set of the first edge "EA01," the property sets of the second edges "EB01" and "EB02," the processing methods, and the judgment conditions, the combination and whether the judgment conditions for that combination are satisfied. The rule construction unit 403 constructs rules based on combinations including the satisfied judgment conditions, and displays a UI 1100 displaying a list 1101 of the constructed rules on the input / output device 302, as shown in FIG. 11. The rules constructed in this "graph integration (S345)" (the rules displayed on the UI 1100) are rules for integrating the subgraphs 1011A and 1011B, and one or more rules represented by the list 1101 are an example of a group of rules for integration.

[0072] As with the rule group for identifying overlapping portions, a priority may be set for each rule as shown in FIG. 11 . The priority may be determined in the order in which the rules are constructed or in another order, and may be determined by the rule construction unit 403 or set by the user via the UI 1100. If one or more constructed rules conflict with each other, the rule with the highest priority among the conflicting rules may be used to identify overlapping portions. The UI 1100 may also have a tool for accepting, from the user, editing or deleting a constructed rule, or a tool for accepting, from the user, the addition of a rule for identifying overlapping portions.

[0073] Through the above process, a group of rules for integration is constructed (the group of rules is finalized). The user checks the group of rules and presses button 1121 on the UI 1100.

[0074] When button 1121 on UI 1100 is pressed, graph processing unit 404 saves integrated rule data 336 (see FIG. 3) representing the constructed set of rules in storage device 303, and integrates subgraphs 1011A and 1011B using the constructed set of rules. Specifically, graph processing unit 404 identifies a graph element combination (a combination of graph elements of subgraph 1011A and graph elements of subgraph 1011B) that corresponds to one of the rules in the constructed set of rules (if there are conflicting rules, the rule with the highest priority). Specifically, the "graph element combination that corresponds to a rule" is as follows: One or more graph elements α of subgraph 1011A are associated with property item A specified in the rule for the first edge “EA01”, and one or more graph elements β of subgraph 1011B are associated with property item B specified in the rule for at least one of the second edges “EB01” and “EB02”. The relationship between the value A obtained by applying the processing method specified in the rule for the first edge "EA01" to the property value of property item A of one or more graph elements α and the value B obtained by applying the processing method specified in the rule for at least one of the second edges "EB01" and "EB02" to the property value of property item B of one or more graph elements β satisfies the judgment condition specified in the rule. In this case, a set of one or more graph elements α and a set of one or more graph elements β are overlapping sets.

[0075] The graph processing unit 404 stores, in the storage device 303, integrated subgraph data 337 (see FIG. 3 ), which represents an integrated subgraph, which is a graph resulting from the integration of subgraphs 1101A and 1101B, and displays a UI 1200 representing the integrated subgraph 1211 on the input / output device 302, as shown in FIG. 12. The UI 1200 displays a property list 1212 for the integrated subgraph 1211. The property list 1212 has a property entry for each graph element of the integrated subgraph 1211. As illustrated in FIG. 12 , the graph processing unit 404 changes the IDs of the graph elements of subgraph 1011A and subgraph 1011B in accordance with a predetermined naming rule to prevent graph elements with duplicate IDs from occurring in the integrated subgraph 1211, and then integrates the subgraphs 1011A and 1011B.

[0076] The user checks the integrated subgraph 1211 and the property list 1212, and presses the button 1221 on the UI 1200. When the button 1221 is pressed, the graph integration is completed.

[0077] A common issue between identifying overlapping portions (extracting integration targets) and integrating graphs is how to identify which graph elements are related by comparing which property values ​​between graphs. Domain knowledge is the input required to solve this common issue. Therefore, in this embodiment, it is possible to standardize the processing methods and judgment conditions between identifying overlapping portions (extracting integration targets) and integrating graphs. Sharing these can reduce the amount of data and also makes it easier to maintain the processing methods and judgment conditions.

[0078] In addition, by adding or editing the processing methods and judgment conditions as appropriate, it is expected that the accuracy of identifying overlapping parts and integrating graphs will be improved.In addition, since the processing methods and judgment conditions are versatile, they can be expected to be applied to a variety of purposes.

[0079] As described above, a rule that is satisfied by the specified integrated domain knowledge is constructed, graph element combinations that satisfy the constructed rule are identified, and the specified integrated domain knowledge and the graph element combinations identified based on the rule are integrated. The constructed rule is based on the satisfied judgment condition, the processing method that belongs to the combination that satisfies the judgment condition, and the property items of the property values ​​processed by the processing method. This allows subgraphs 1011A and 1011B to be integrated even if the expressions of overlapping partition groups are different between subgraphs 1011A and 1011B. Furthermore, subgraphs 1011A and 1011B can be integrated even if the user does not know all of the graph element combinations that overlap between subgraphs 1011A and 1011B.

[0080] For example, in FIG. 10 (for subgraphs 1011A and 1011B), an edge may be a section (between electrical equipment), attribute values ​​1 and 2 may be the IDs of electrical equipment (e.g., towers) at both ends of the section, attribute value 3 may be the ID of the power transmission line to which the section belongs, and attribute value 4 may be an electrical characteristic value (impedance value). In rule construction based on integrated domain knowledge, a satisfied judgment condition is identified, which is that the sums of impedances of one or more consecutive power transmission sections that are a power transmission section group are the same. As a result, a rule based on the satisfied judgment condition is a rule (the rules with priority levels "1" and "2" illustrated in FIG. 11) that means that the electrical equipment at one end of both power transmission section groups with the same sum of impedances is the same, and that the electrical equipment at the other end of both power transmission section groups is the same. In integration based on a rule group including such rules, the graph processing unit 404 identifies multiple section pairs between the subgraphs 1011A and 1011B. A section pair is a pair of sections with the same sum of impedances. For each section pair, the graph processing unit 404 determines that one end nodes of the section pair are the same node and the other end nodes of the section pair are the same node. The integration of the subgraphs 1011A and 1011B is based on the integration between section pairs.

[0081] <Post-processing (S346)>

[0082] 12 is pressed, the graph processing unit 404 integrates the graphs 105A and 105B. Specifically, the graph processing unit 404 connects the subgraphs of the graph 105A other than the integrated subgraph 1211 to the integrated subgraph 1211, and also connects the subgraphs of the graph 105B other than the integrated subgraph 1211 to the integrated subgraph 1211. As shown in FIG. 13, the graph processing unit 404 displays, on the input / output device 302, a UI 1300 that represents an integrated graph 1310, which is a graph resulting from the integration of the graphs 105A and 105B. A property list 1311 of the integrated graph 1310 is displayed on the UI 1300.

[0083] The user checks the integrated graph 1310 and property list 1311 and presses button 1321 on the UI 1300. When button 1321 is pressed, post-processing ends. When button 1321 is pressed, the integrated data output unit 405 saves integrated graph data 338 (see FIG. 3 ) including the graph data and property data of the integrated graph 1310 in the storage device 303.

[0084] 15, the graph integration system 300 (the interface device 301 of the system 300) according to this embodiment may be connected to one or more external computer systems. The external computer systems may include, for example, an existing system 1501A as a data source of power supply station A equipment data, an existing system 1501B as a data source of power supply station B equipment data, and an application system 1551 (a computer system that executes at least one application). The power supply station A equipment data and the power supply station B equipment data in the original graph dataset 331 (see FIG. 3) of the graph integration system 300 may be graph data input from the existing systems 1501A and 1501B via or without a UI.

[0085] The application system 1551 may include, for example, an application system 1551A that executes an application 1553A for drawing up an installation plan for electrical equipment by referring to the integrated graph data 338, and an application system 1551B that executes an application 1553B for predicting power supply and demand by referring to the integrated graph data 338. The integrated data output unit 405 of the graph integration unit 30 may transmit the integrated graph data 338 to at least one of the application systems 1551A and 1551B. For example, when the application system 1551A receives the integrated graph data 338, the application 1553A may draw up an installation plan for electrical equipment by referring to the integrated graph data 338 and output plan data representing the installation plan for the electrical equipment. Furthermore, for example, when the application system 1551B receives the integrated graph data 338, the application 1553B may predict power supply and demand by referring to the integrated graph data 338 and output data (e.g., time-series data) representing the prediction result.

[0086] As described above, by constructing the integrated information infrastructure illustrated in FIG. 15 that provides the integrated graph data 338 to the application 1553, it becomes possible to plan and analyze a wide area.

[0087] The above-described embodiment can meet the need to quickly analyze graph data within a required range regardless of region (for example, to develop countermeasures by narrowing down the affected area in the event of a disaster). This is because, even if graph data spanning regions could be created manually, it would take time to divide such graph data into graph data within the required range, analyze it, and then integrate it into the original graph data. In this embodiment, graphs are created for each region, making it easy to narrow down the range of analysis, and since graph integration is possible even if the graphs are expressed differently, analysis of a wide area spanning regions is also possible.

[0088] Although one embodiment has been described above, this is merely an example for explaining the present invention, and the scope of the present invention is not limited to only these embodiments. The present invention can be implemented in various other forms.

[0089] For example, as illustrated in FIG. 14A, there may be multiple paths between nodes. In this case, it may be difficult or impossible to identify overlapping sections between subgraphs. Therefore, for each of the graphs 105A and 105B, the graph data may include, for each path between at least one node, the ID of one end node of the path, the ID of the other end node of the path, and the IDs of one or more edges constituting the path. Alternatively, when the graph processing unit 404 receives from the user a designation of two nodes from at least one original graph or subgraph, it may identify all possible paths between the nodes based on the graph data of the original graph or subgraph, and the UI providing unit 401 may display, on a UI (e.g., at least one of UIs 600 and 1000), the ID of one end node of the path, the ID of the other end node of the path, and the IDs of one or more edges constituting the path. 14B (a list showing, for each route, the ID of one end node of the route, the ID of the other end node of the route, and the IDs of one or more edges constituting the route) may be displayed. This allows the user to specify or identify overlapping sections or the graph integration unit 30 to specify or identify overlapping routes.

[0090] For example, in the above-described embodiment, rule construction is performed in each of the two stages of identifying overlapping portions and integrating graphs. However, rule construction may be performed only for either identifying overlapping portions or integrating graphs. For example, if the overlapping portions are determined in advance (e.g., if the user specifies all domain knowledge about the overlapping portions), rule construction may be performed only for integrating graphs. That is, the first graph may be all or a portion of the first overall graph, and the second graph may be all or a portion of the second overall graph that overlaps with the first graph, and the set of rules may be one or more rules for integrating the first and second graphs.

[0091] Furthermore, the present invention can be applied to any object that can be represented by a graph, for example, not only to a group of devices connected by a network, but also to the integration of graphs that systematically represent some kind of knowledge (for example, graphs that represent experimental procedures or maintenance procedures). [Explanation of symbols]

[0092] 300:Graph Integration System

Claims

1. a domain knowledge acquisition unit that receives a designation of a partition group pair that is a pair of a first partition group and a second partition group that overlaps the first partition group; The partition group pairs are domain knowledge, the first group of partitions is one or more first partitions in a first graph; the second group of partitions is one or more second partitions in the second graph; the first graph is a graph configured with a plurality of first graph elements, which are first nodes and first edges; the first partition is a set of one or more sequential first edges and / or first nodes at both ends of each of the one or more first edges; each first graph element is associated with one or more first property items and a first property value for each of the one or more first property items; the second graph is a graph composed of a plurality of second graph elements, which are second nodes and second edges; the second partition is a set of one or more sequential second edges and / or second nodes at both ends of each of the one or more second edges; each second graph element is associated with one or more second property items and a second property value for each of the one or more second property items; a rule construction unit that constructs a rule group, which is one or more rules, based on a property relationship that is a relationship between one or more first property values ​​among the one or more first property values ​​belonging to the first partition group and one or more second property values ​​among the one or more second property values ​​belonging to the second partition group; each of the one or more rules is either a rule for identifying an overlapping portion of the first and second graphs or a rule for integrating the first and second graphs; a graph processing unit that integrates the first and second graphs based on the constructed rule group; A graph integration system comprising:

2. the property relationship is a determination as to which of a plurality of determination conditions is satisfied among a plurality of combinations of a plurality of first property values ​​belonging to the first partition group, a plurality of second property values ​​belonging to the second partition group, and a plurality of processing methods related to the property values; Each of the one or more rules is based on a satisfied judgment condition, a processing method belonging to a combination that satisfies the judgment condition, and a property item of a property value that is processed by the processing method. The graph integration system of claim 1 .

3. at least one first node and at least one second node represent electrical equipment; the at least one first edge and the at least one second edge represent a transmission section; the first property value of the at least one first edge and the second property value of the at least one second edge are impedances; The satisfied determination condition is that the sum of impedances of one or more consecutive transmission sections that are a group of transmission sections is the same, The rule based on the satisfied determination condition is a rule that means that the electrical equipment at one end of both transmission section groups having the same sum of impedance is the same, and that the electrical equipment at the other end of both transmission section groups is the same. The graph integration system of claim 2 .

4. an integrated data output unit that transmits the integrated graph data to at least one of a system that executes an application for developing an installation plan for electrical equipment by referring to integrated graph data, which is data representing a graph in which the first and second graphs are integrated, and a system that executes an application for predicting power supply and demand by referring to the integrated graph data, for at least one of developing an installation plan for electrical equipment and predicting power supply and demand; The graph integration system of claim 3 further comprising:

5. the domain knowledge acquisition unit accepts designation of a first partition group pair as a pair of overlapping partition groups of the first and second graphs; the rule construction unit constructs an overlap rule set, which is a rule set for identifying an overlapping portion of the first and second graphs, including the first partition group pair, based on a property relationship of the first partition group pair; the graph processing unit identifies the overlapping portion based on the overlapping rule group; the overlapping portion of the first graph is a first subgraph composed of one or more first graph elements of the first graph, the overlapping portion in the second graph is a second subgraph composed of one or more second graph elements of the second graph, the domain knowledge acquisition unit accepts designation of a second partition group pair as a pair of overlapping partition groups of the first and second subgraphs for the identified overlapping portion; the rule construction unit constructs an integration rule set, which is a rule set for integrating the first and second subgraphs, based on a property relationship of the second partition group pair; the graph processing unit constructs an integrated subgraph by integrating the first and second subgraphs based on the constructed group of integration rules, and constructs an integrated graph by integrating the first and second graphs by integrating the subgraph other than the overlapping portion of the first graph and the subgraph other than the overlapping portion of the second graph into the integrated subgraph; The graph integration system of claim 2 .

6. the first graph is a whole or part of a first overall graph, the second graph is a graph that is a whole or a part of a second overall graph and overlaps with the first graph, the set of rules is one or more rules for integrating the first and second graphs; The graph integration system of claim 1 .

7. a UI providing unit that provides a UI (User Interface) that displays the first graph represented by the first graph data and the second graph represented by the second graph data; the domain knowledge acquisition unit accepts designation of the partition group pair via the UI; the designation of the partition group pair includes a designation of a first partition group in the first graph and a designation of a second partition group in the second graph; The graph integration system of claim 1 .

8. the UI providing unit displays, for each of the first and second graphs, an ID of one end node of the path, an ID of the other end node of the path, and IDs of one or more edges constituting the path; The graph integration system of claim 7.

9. The computer receives a designation of a partition group pair that is a pair of a first partition group and a second partition group that overlaps the first partition group; The partition group pairs are domain knowledge, the first group of partitions is one or more first partitions in a first graph; the second group of partitions is one or more second partitions in the second graph; the first graph is a graph configured with a plurality of first graph elements, which are first nodes and first edges; the first partition is a set of one or more sequential first edges and / or first nodes at both ends of each of the one or more first edges; each first graph element is associated with one or more first property items and a first property value for each of the one or more first property items; the second graph is a graph composed of a plurality of second graph elements, which are second nodes and second edges; the second partition is a set of one or more sequential second edges and / or second nodes at both ends of each of the one or more second edges; each second graph element is associated with one or more second property items and a second property value for each of the one or more second property items; a computer constructing a rule group, which is one or more rules, based on a property relationship, which is a relationship between one or more first property values ​​among the one or more first property values ​​belonging to the first group of partitions and one or more second property values ​​among the one or more second property values ​​belonging to the second group of partitions; each of the one or more rules is either a rule for identifying an overlapping portion of the first and second graphs or a rule for integrating the first and second graphs; The computer integrates the first and second graphs based on the constructed set of rules. Graph integration methods.

10. Accepting a designation of a partition group pair that is a pair of a first partition group and a second partition group that overlaps the first partition group; The partition group pairs are domain knowledge, the first group of partitions is one or more first partitions in a first graph; the second group of partitions is one or more second partitions in the second graph; the first graph is a graph configured with a plurality of first graph elements, which are first nodes and first edges; the first partition is a set of one or more sequential first edges and / or first nodes at both ends of each of the one or more first edges; each first graph element is associated with one or more first property items and a first property value for each of the one or more first property items; the second graph is a graph composed of a plurality of second graph elements, which are second nodes and second edges; the second partition is a set of one or more sequential second edges and / or second nodes at both ends of each of the one or more second edges; each second graph element is associated with one or more second property items and a second property value for each of the one or more second property items; constructing a rule group, which is one or more rules, based on a property relationship, which is a relationship between one or more first property values ​​among the one or more first property values ​​belonging to the first group of partitions and one or more second property values ​​among the one or more second property values ​​belonging to the second group of partitions; each of the one or more rules is either a rule for identifying an overlapping portion of the first and second graphs or a rule for integrating the first and second graphs; Integrating the first and second graphs based on the constructed rule set. A computer program that causes a computer to do something.

Citation Information

Patent Citations

  • Graph integration device and program

    JP2010032919A

  • Data integration processing device, system, method and program

    WO2012035754A1

  • Inference device, inference method, and inference program

    WO2020065906A1

  • A neural graph model for automated clinical assessment generation

    WO2022072785A1