WO2014132386A1 - 関係性グラフデータベースシステム - Google Patents

関係性グラフデータベースシステム Download PDF

Info

Publication number
WO2014132386A1
WO2014132386A1 PCT/JP2013/055328 JP2013055328W WO2014132386A1 WO 2014132386 A1 WO2014132386 A1 WO 2014132386A1 JP 2013055328 W JP2013055328 W JP 2013055328W WO 2014132386 A1 WO2014132386 A1 WO 2014132386A1
Authority
WO
WIPO (PCT)
Prior art keywords
graph
node
data
node data
link
Prior art date
Application number
PCT/JP2013/055328
Other languages
English (en)
French (fr)
Inventor
亮一 新熊
Original Assignee
国立大学法人京都大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国立大学法人京都大学 filed Critical 国立大学法人京都大学
Priority to PCT/JP2013/055328 priority Critical patent/WO2014132386A1/ja
Priority to US14/771,335 priority patent/US10152559B2/en
Priority to EP13876710.8A priority patent/EP2963562B1/en
Publication of WO2014132386A1 publication Critical patent/WO2014132386A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences

Definitions

  • the present invention relates to a relationship graph database system.
  • the present invention aims to provide a novel technique for generating graph data. Another object of the present invention is to provide a novel method for extracting data from graph data.
  • the present invention is a relationship graph database system for managing a database having graph data in which node data are connected by links, A node generation unit that generates node data corresponding to an operation performed in a terminal device connected to the computer network; A subgraph generation unit for generating subgraph data in which a plurality of node data are connected by links; A graph generation unit that generates graph data by combining a plurality of partial graph data, and stores the generated graph data in the database; With The node generation unit can generate a plurality of types of node data in response to a plurality of types of operations performed in the terminal device, When the plurality of operations performed in the same terminal device have a predetermined relationship, the partial graph generation unit connects the plurality of node data corresponding to the plurality of operations with a link to generate the partial graph data.
  • the graph generation unit Generating graph data by combining a plurality of partial graph data having common node data in the common node data, or
  • the relationship graph database system is characterized in that new graph data is generated by synthesizing graphs of partial graph data and graph data having common node data in the common node data.
  • the predetermined relationship includes a time interval between a plurality of operations being a predetermined time or less.
  • the predetermined relationship preferably includes that a plurality of operations are performed in the same transaction.
  • the graph generation unit synthesizes the partial graph or the graph data generated by the graph generation unit with other graph data generated by another system capable of generating graph data. .
  • the plurality of node data corresponding to the plurality of operations are of the same type. Regardless of whether they are of different types, it is preferable to generate subgraph data by connecting with links.
  • the node generation unit can generate node data corresponding to a position based on the position information of the terminal device, When the node data corresponding to the position and the node data corresponding to the operation have a predetermined relationship, the partial graph generation unit links the node data corresponding to the position and the node data corresponding to the operation with a link. It is preferable to connect to generate subgraph data.
  • generation part also produces
  • the graph generation unit performs graph synthesis on the node data pair while maintaining each link between the common node data pairs.
  • the graph generation unit synthesizes each of the links between the common node data pairs into one link while performing the graph synthesis on the node pair.
  • the link disappearance unit preferably destroys the link based on a time stamp set for the link.
  • the link disappearance unit lengthens the link distance of the link of the graph data stored in the database as time elapses, and extinguishes the link when the link distance reaches a predetermined length.
  • the operation of generating node data by the node data generation unit includes a product purchase operation performed on the terminal device, a website display operation performed on the terminal device, and a content browsing operation performed on the terminal device. It is preferable that at least any one of these is included.
  • (13-1) It is preferable to further include an extraction unit that extracts node data from the graph data.
  • the extraction unit is capable of executing a plurality of types of extraction processing for extracting node data from the graph data.
  • the extraction unit executes one extraction process selected from the terminal device among the plurality of types of extraction processes.
  • the extraction unit executes a plurality of extraction processes selected from the terminal device among the plurality of types of extraction processes.
  • the extraction unit extracts node data based on an extraction condition designated by the terminal device.
  • the reference node selection unit that selects a plurality of reference node data from the node data included in the graph data, and the centrality viewed from the plurality of reference nodes Based on the above, it is preferable to further include an extraction unit that extracts node data from the graph data.
  • the extraction unit selects node data at the center as viewed from each of the plurality of reference node data as center node data, and extracts the node data from the graph data based on a path length from the center node data. Is preferred.
  • the extraction unit identifies local graph data including node data whose path length from a plurality of reference node data is equal to or less than a predetermined value from the graph data, and determines a node based on centrality in the local graph data It is preferred to extract the data.
  • the extraction unit extracts node data based on a centrality obtained from a path length from each node data on a shortest path connecting a plurality of reference node data in the local graph data.
  • the extraction unit extracts node data based on centrality obtained from path lengths from a plurality of reference node data and node data in the vicinity of the plurality of reference node data in the local graph data. .
  • the display control unit for causing the terminal device to display the node data extracted by the extraction unit.
  • the display control unit preferably causes the terminal device to display the extracted node data extracted in common in the plurality of extraction processes. .
  • the display control unit includes a mixture of processed and unprocessed ones of the plurality of extraction processes. At the timing, it is preferable to display the node data extracted by the processed extraction process on the terminal device.
  • the display control unit selects which of the plurality of processed extraction processes is to display the node data extracted by the extraction process on the terminal device. The selection is preferably based on processing results (extracted node data) of a plurality of processed extraction processes.
  • a display control unit that causes the terminal device to display the node data extracted by the extraction unit is further provided, and the display control unit converts the extracted node data to a centrality viewed from each of a plurality of reference node data. Based on this, it is preferable to display the height of centrality in an identifiable manner.
  • the path length is determined by regarding that the link distance between the node data pairs is smaller as the number of links between the node data pairs in the graph is larger.
  • a storage unit that stores a processing result obtained by executing in advance a part or all of the node data extraction processing in the extraction unit for a combination of a plurality of node data predicted to be selected as reference node data.
  • the extraction unit preferably extracts node data using a processing result stored in the storage unit.
  • the reference node selection unit may regard a plurality of node data as one node data and select one of the reference node data.
  • the plurality of node data regarded as one node data is preferably a plurality of node data clustered by a clustering process from the plurality of node data included in the graph data.
  • the present invention from another viewpoint is a computer program for causing a computer to function as the relationship graph database system according to any one of (1) to (24).
  • FIG. 1 shows an overview of the overall configuration of the relationship graph database system 1.
  • the relationship graph database system 1 includes a processing server 2, a social network database 3, and a cache server (storage unit) 4.
  • Each function of the relationship graph database system 1 is exhibited when a computer program installed in a storage device of a computer functioning as the processing server 2 is executed on the computer.
  • the computer program can be recorded on a recording medium and transferred or sold.
  • the processing server 2 can communicate with the terminal device 6 via a computer network 5 such as the Internet.
  • the terminal device 6 is not particularly limited as long as it is a device that can be connected to a personal computer, a mobile phone, and other computer networks 5.
  • the social network database (hereinafter simply referred to as “database”) 3 is for storing graph data indicating the relationship between nodes.
  • the graph data is obtained by connecting node data (hereinafter simply referred to as “nodes”) with links.
  • the graph data of the present embodiment includes not only a node representing one type (for example, a person) but also many types corresponding to various types such as a person, a thing, a place, a group, and an electronic thing (content). There are types of nodes.
  • the cache server 4 is for speeding up the processing in the processing server 2 by storing the results of the processing performed in the processing server 2 in advance.
  • the processing server 2 includes a first processing unit 21 that performs processing related to generation (update) of graph data, and a second processing unit 22 that performs processing related to extraction of nodes from the graph data. Yes.
  • the first processing unit 21 that performs processing related to generation (update) of graph data includes an information acquisition unit 211, a node generation unit 212, a determination unit 213, a partial graph generation unit 214, a graph generation unit 215, and a link disappearance. Part 216.
  • the information acquisition unit 211 acquires operation information indicating operation details performed in the terminal device 6.
  • the information acquisition unit 211 may acquire an operation history performed in the terminal device 6 as the operation information from the terminal device 6, or a website on which the terminal device 6 is connected via the computer network 5.
  • the operation history performed in step 1 may be acquired from the Web server of the Web site as operation information.
  • the information acquisition unit 211 can also acquire position information (such as GPS information) indicating the position of the terminal device (mobile terminal device) 6.
  • position information such as GPS information
  • the node generation unit 212 is for generating a node in the graph data.
  • the node generation unit 212 generates a node if the operation indicated by the operation information acquired by the information acquisition unit 211 includes an operation for node creation.
  • the node creation target operation includes, for example, a product purchase operation performed on the terminal device 6, a website display operation performed on the terminal device 6, a content browsing operation performed on the terminal device 6, and the like.
  • a product purchase operation a product node having information (product name data or the like) indicating the purchased product as internal information is generated.
  • a website display operation a website node having the site name of the displayed website and the URL of the website as internal information is generated.
  • a content node having the name of the browsed content and a URL indicating the location of the content as internal information is generated.
  • the node generation unit 212 can generate a plurality of types of node data corresponding to a plurality of types of operations performed in the terminal device 6.
  • the node generation unit 212 is configured to generate a node when a preset operation for creating a node is performed. Therefore, an operation for creating a node is a dedicated operation for creating a node. There is no need to be, and various types of operations such as the product purchase operation, the Web site display operation, and the content browsing operation as described above can be targeted for node creation.
  • the node generation unit 212 can generate a position node corresponding to the position indicated by the position information based on the position information acquired by the information acquisition unit 211. For example, when the position information made up of GPS information indicates the position in Kyoto city, a position node indicating the position “Kyoto” is generated.
  • the determination unit 213 Based on the information operation information and / or position information, the determination unit 213 has a predetermined relationship between a plurality of operations performed on the same terminal device 6 (node creation target operations) and / or the position of the terminal device 6. It is determined whether or not it has.
  • the time interval between a plurality of operations is equal to or shorter than a predetermined time, or a plurality of operations (node creation target operations) are performed within the same transaction. And so on.
  • the time interval between a plurality of operations (node creation target operations) for generating a predetermined relationship may be a short time that can be regarded as almost simultaneous, or a relatively long time of about one day. Also good. Moreover, it is preferable that the time intervals of a plurality of operations (operations for node creation) for generating a predetermined relationship are adjustable. The time intervals of a plurality of operations (node creation target operations) for generating a predetermined relationship may be constant for all operations, or may be different depending on the type of operation.
  • Examples of the plurality of operations performed in the same transaction include, for example, a plurality of product purchase operations when a plurality of products are purchased in a transaction for purchasing products on a website.
  • the terminal device 6 when the terminal device 6 is present at a certain position (for example, Kyoto) and the product purchase operation is performed, the website display operation is performed. Or a content browsing operation.
  • the determination unit 213 When the determination unit 213 detects that there is a predetermined relationship between the operations or between the operation and the position based on the information operation information and / or the position information, the determination unit 213 gives the detection result to the subgraph generation unit 214.
  • the subgraph generation unit 214 generates a link corresponding to the predetermined relationship detected by the determination unit 213, and generates subgraph data (hereinafter simply referred to as “subgraph”) in which nodes are connected by links. Specifically, the subgraph generation unit 214 determines whether a plurality of nodes generated by the node generation unit 212 have operations that are determined to have a predetermined relationship by the determination unit 213 or between operations and positions. Are connected by a link. Thereby, the subgraph generation unit 214 generates a partial graph in which a plurality of operations performed in the same terminal device 6 or a plurality of nodes corresponding to the positions of the terminal devices are connected by links.
  • the partial graph generation unit 214 includes a link information generation unit 214a, and the link information generation unit 214a also generates link information related to generation of the link when generating a link connecting nodes.
  • the link information includes time information indicating the date and time when the link was generated and / or information indicating a predetermined relationship (a plurality of operations, operations and positions) that caused the link generation.
  • the link information constitutes a part of the partial graph (partial graph data).
  • nodes connected by links in the subgraph may be nodes corresponding to the same type of operation or nodes corresponding to different types of operations. That is, nodes are connected by a link if they have a predetermined relationship regardless of the type.
  • the graph generation unit 215 generates graph data by synthesizing a plurality of subgraphs having common nodes at the common node, and stores and saves the data in the database 3. Further, the graph generation unit 215 generates new graph data by synthesizing the partial graph having the common node and the graph data stored in the database 3 with the common node data, Save to database 3.
  • the graph data obtained by synthesizing such subgraphs has a hierarchical structure. Unlike a graph having a simple structure, such as a graph or a bipartite graph, the graph has various connection relationships.
  • the graph generation unit 215 can also synthesize the graph data stored in the database 3 with another system that can generate graph data (for example, a system that generates graph data representing human relationships).
  • integrated graph data is generated by synthesizing graphs at nodes that exist in common in the graph data stored in the database 3 and the graph data of other systems.
  • the link disappearance unit 216 can eliminate the link of the graph data stored in the database 3.
  • the link disappearance unit (link distance changing unit) 216 increases the link distance as time elapses, and extinguishes the link when the link distance exceeds a predetermined length. By appropriately erasing the graph data link, it is possible to prevent the network type data from becoming too large. Further, by increasing the link distance with the passage of time, the relationship between nodes connected by old links can be reduced.
  • link disappearance processing link distance change processing
  • a time stamp is set for each link. The link disappearance unit 216 increases the link distance or destroys the link based on the time stamp set for the link.
  • the link disappearance unit 216 may cause the link to disappear with respect to time. If the probability is 1, the link disappears at a certain time, and if the probability is 0, the link is permanent.
  • the probability of link disappearance may be common for each link or may be different for each link. For example, the link disappearance probability may be different depending on the types of nodes at both ends of the link.
  • FIG. 3 shows an example of creation of graph data by the first processing unit 21 of the processing server 2.
  • an operation N11 for purchasing a product A, an operation N12 for purchasing a product B, and an operation N13 for displaying a website C are performed for a predetermined time by a certain terminal device 6. It is assumed that it was carried out continuously within.
  • the information acquisition unit 211 acquires operation history information (operation information) including an operation N11 for purchasing the product A, an operation N12 for purchasing the product B, and an operation N13 for displaying the website C.
  • the node generation unit 212 displays the operation N11 for purchasing the product A, the operation N12 for purchasing the product B, and the website C, which are operations set as node creation targets, from the operation history included in the operation information.
  • the operation N13 is extracted, and nodes N11, N12, and N13 corresponding to these operations are generated (see FIG. 3A).
  • the determination unit 213 detects a node pair having a predetermined relationship from the operation history included in the operation information.
  • the operation N11 for purchasing the product A and the operation N12 for purchasing the product B are performed almost simultaneously and have a predetermined relationship (operation time interval is equal to or less than a predetermined time) X11.
  • the operation N11 for purchasing the product A and the operation N12 for purchasing the product B have a predetermined relationship (operation time interval equal to or less than a predetermined time) Y11, Y12 with the operation for displaying the website C.
  • the subgraph generation unit 214 generates three links X11, Y11, and Y12 that connect the three nodes N11, N12, and N13, and generates a subgraph P1 (see FIG. 3B).
  • another terminal device 6 unrelated to the terminal device 6 that performed the operation shown in FIG. 3A performs an operation N21 for displaying the website C and an operation N21 for browsing the content D for a predetermined time. (See FIG. 3B).
  • the subgraph generation unit 214 generates a subgraph P2 in which two nodes N21 and N22 corresponding to the two operations are connected by the link Z11.
  • the graph generation unit 215 detects that the two subgraphs P1 and P2 generated independently include the common nodes (operations for displaying the Web site C) N13 and N21, the subgraphs Graph synthesis of P1 and P2 is performed.
  • the graph synthesis of the subgraphs P1 and P2 is performed by making a plurality of common nodes (operations for displaying the Web site C) N13 and N21 into one node N31 (see FIG. 3C). Thereby, one graph data G1 in which a plurality of partial graphs P1 and P2 are combined is generated.
  • the generated graph data G1 is stored in the database 3.
  • a partial graph P3 shown in FIG. 4B is newly generated when the graph data G1 shown in FIG. 4A is stored in the database 3.
  • the graph generation unit 215 includes common nodes (operations N12 and N41 for purchasing the product B, operations N31 and N33 for displaying the website C) in the graph data G1 and the partial graph P3. Is detected, the graph data G1 and the partial graph P3 are combined (see FIG. 4C).
  • new graph data G2 in which the graph data G1 is updated is generated and stored in the database 3. Therefore, the graph data is expanded by the operation performed by the terminal device 6.
  • the link Y12 between the common node pairs Graph synthesis is performed while maintaining each of Y21. Therefore, the graph data G2 after the graph synthesis has the links Y12 and Y22 before the synthesis as they are between the node pair N51 and N52.
  • the link disappearance process by the link disappearance unit 216 can be performed independently for each link Y12, Y22.
  • the links between the node pairs N51 and N52 may be combined into one link and aggregated. In this case, the number of links between the combined node pairs does not increase, and an increase in the amount of graph data can be suppressed.
  • FIG. 5 shows graph data G4 obtained by synthesizing the graph data G2 generated by the relationship graph database system 1 of the present embodiment and the graph data G3 generated by another system. This graph synthesis is also performed by synthesizing a common node in both graph data G2 and G3.
  • the second processing unit 22 that performs processing related to extraction of nodes from the graph data includes a reference node selection information receiving unit 221, a reference node selection unit 222, an extraction unit 223, and a display control unit 224. And.
  • the reference node selection information receiving unit 221 receives selection information indicating the node selected as the reference node from the terminal device 6.
  • the display control unit 224 displays display information for displaying part or all of the graph data stored in the database 3 on the display screen of the terminal device 6. It transmits to the terminal device 6.
  • the user of the terminal device 6 selects one or a plurality of nodes to be reference nodes from the displayed graph data nodes. Then, when the reference node is selected in the terminal device 6, selection information indicating the reference node is transmitted to the processing server 2.
  • the reference node selection unit 222 selects a position indicated by the selection information or a plurality of nodes from the nodes of the graph data stored in the database 3. Select as reference node.
  • the extraction unit 223 extracts nodes from the graph data stored in the database 3 based on the centrality (details will be described later) viewed from the reference node.
  • the display control unit 224 transmits display information for displaying the extracted node together with the link connecting the node to the terminal device 6 that has transmitted the node extraction request. Thereby, the terminal device 6 can display the extracted node on the screen.
  • first node extraction processing shows a first example of node extraction processing (first node extraction processing).
  • first node extraction processing when a plurality of reference nodes are selected by the reference node selection unit 222 (step S11), a central node is selected based on the plurality of reference nodes (step S12). For example, when two reference nodes are selected in the graph data G shown in FIG. 7 (in FIG. 7, a circle indicates a node and a straight line indicates a link), the path length from each of the two reference nodes is selected. The node with the smallest sum is selected as the central node.
  • the extraction unit 223 calculates the sum of the path lengths from the other target nodes for each node (target node) in the shortest path graph. Then, among the nodes (target nodes) in the shortest path graph, the node having the smallest total path length is identified as the central node. When there is one reference node, the reference node is specified as the central node.
  • the node (target node) that is the target of calculation of the sum of the path lengths for selecting the central node is not limited to the node on the shortest path graph, and is a node whose number of links from the reference node is within a predetermined value. Alternatively, it may be a node near the reference node, such as a node whose path length from the reference node is within a predetermined value.
  • the extraction unit 223 extracts a node whose path length from the central node is a threshold value or less (for example, a path length of 3 or less). For example, when a node whose path length from the central node is 3 or less is extracted, nodes within the extraction range shown in FIG. 7 are extracted.
  • the center node is at the center when viewed from a plurality of reference nodes, and becomes the center of the extracted node group. Therefore, the smaller the path length from the central node is, the higher the relationship is with respect to the combination of a plurality of reference nodes.
  • the display control unit 224 generates display information corresponding to the extracted node and transmits it to the terminal device 6 (step S11).
  • the display information transmitted to the terminal device 6 includes the link connecting the extracted nodes and the link information, information indicating the path length between each extracted node and the central node, and each extracted node and reference Information indicating the length of the path to the node is also included.
  • the terminal device 6 performs screen display of the extracted nodes based on the display information. As illustrated in FIG. 8, the terminal device 6 highlights the reference node and / or the central node so as to be distinguishable from other extracted nodes. Also, the reference node and the central node are displayed so that they can be identified. By highlighting the central node so as to be distinguishable from other nodes, the user can recognize that the central node is a node having high centrality. Further, for each of the nodes other than the central node, the centrality level may be displayed so as to be identifiable based on the value indicating the centrality. When the displayed link is designated by the operation of the terminal device 6, the link information of the designated link is displayed.
  • the link distances in the database 3 can be increased or decreased by the operation of the terminal device 6 by the user. That is, the terminal device 6 will transmit the link distance after a change to the process server 2, if the operation which changes the link distance of the displayed link is received from a user. Then, the processing server 2 searches the database 3, extracts the link distance of the link whose link distance has been changed, rewrites the link distance to the link distance after the change, and stores it in the database 3. Thereby, feedback from the user can be reflected on the link distance, and correction can be performed when the user feels a gap between the displayed link distance (relationship between nodes) and his / her feeling.
  • the terminal device 6 displays the extracted nodes in a concentrated manner in the vicinity of the reference node having the smallest path length among the plurality of reference nodes.
  • the extracted nodes are displayed together near one of the reference nodes, so that the relationship between each node and the reference node can be intuitively easily understood.
  • nodes having the same distance from the central node and each reference node are displayed at a place other than the vicinity of the reference node, for example, at an intermediate position among a plurality of reference nodes.
  • the display information also includes information indicating the path length between each extracted node and the reference node
  • the relationship between each extracted node and the reference node using the information is displayed.
  • the strength of sex can be presented to the user in an easily understandable manner.
  • information indicating the path length (centrality) between each extracted node and the central node the strength of the relationship between each extracted node and the central node is presented to the user in an easily understandable manner.
  • the link distance of one link 1
  • the link distance of one link does not need to be the same for each link, and may be different for each link.
  • the link distance is changed by the link disappearance unit (link distance changing unit) 216
  • the link distances of links having different generation times are different.
  • the link distance may be different depending on the relationship between connected nodes. For example, when dark blue and blue exist as node data, they are considered to have a strong positive relationship with each other, whereas when blue and red exist as node data, they have a strong negative relationship with each other. It is thought that there is.
  • the link distances of the links connecting the nodes can be varied according to the relationship between the connected nodes.
  • step S21 when a plurality of reference nodes are selected by the reference node selection unit 222 (step S21), the extraction unit 223 determines the path length (the link length or the number of hops on the shortest route) from the plurality of reference nodes.
  • Local graph data consisting of nodes whose total sum is less than or equal to a predetermined value is specified (step S22).
  • the first local graph data L1 including nodes whose path length from the first reference node (here, the total number of hops on the shortest path) is 3 or less is specified as shown in the figure.
  • Second local graph data L2 including nodes whose path length (number of links) from the reference node is 3 or less is specified as illustrated.
  • a combination of the first and second local graph data L1 and L2 is considered as local graph data corresponding to a plurality of reference nodes.
  • the extraction unit 223 extracts a graph (shortest path graph) that is the shortest path between the two reference nodes in the local graph data L.
  • shortest path graph since the shortest path graph is extracted not from the entire graph data but from the smaller local graph data L, the processing load for the shortest path search can be reduced.
  • the central node may be obtained from the shortest path graph, but in the second example, the average value of the path length between each node of the local network graph data L and each node on the shortest path graph is calculated. Ask.
  • the extraction unit 223 performs a process for obtaining an average value of the path length with each node on the shortest path graph for a certain node in the local network graph data L. Then, this process is performed for all nodes of the local network graph data L.
  • the average value of the path length obtained by the processing indicates the centrality in the local graph data, and the node having the smallest average value can be said to be a node (central node) at the center of the local network graph data L.
  • This central node is the most relevant node for the combination of multiple reference nodes.
  • the smaller the average value of the path length obtained by the processing the higher the relationship with the combination of a plurality of reference nodes.
  • the extraction unit 223 extracts a node whose average path length obtained by the processing is equal to or less than a predetermined value (step S23). As a result, among nodes having the local graph data L, nodes having a relatively high relationship with the combination of a plurality of reference nodes are extracted. Note that the extraction unit 223 obtains an average value (centrality) for a node in the local network graph data L by the following process instead of performing the process of obtaining the average value of the path length with each node. May be.
  • the extraction unit 223 may select each node in the vicinity of the reference node such as a node whose path length from the reference node (the link length on the shortest path or the total number of hops) is within a predetermined value. You may obtain
  • step S22 display information is generated and transmitted to the terminal device 6 as in the first example.
  • a plurality of nodes when extracting a node related to a combination of a plurality of reference nodes, a plurality of nodes, not a logical sum or a logical product of a set of nodes related to each of the plurality of reference nodes, is used.
  • the nodes are extracted based on the centrality (path length from the central node of the first example, average value of the path length of the second example) viewed from the reference node.
  • the node (center node) located at the center when viewed from a plurality of reference nodes is extracted with the highest priority. Therefore, even if a large number of related nodes are extracted, it is possible to preferentially display the highly related ones based on the route length from the central node.
  • FIG. 11 shows a modification of the second processing unit 22.
  • the second processing unit 22 illustrated in FIG. 11 can accept extraction condition information in addition to the selection information as input information from the terminal device 6.
  • the extraction condition information is information indicating a condition (node extraction condition) when performing node extraction.
  • the node extraction condition is for narrowing down or limiting the nodes to be extracted in the node extraction process such as the first node extraction process or the second node extraction process described above.
  • the node extraction condition includes, for example, the number of links connected to the node, the link last update date and time, the link occurrence date and time, the link update frequency, and the type of node extraction processing.
  • the upper limit value of the number of links connected to the node to be extracted is designated as the extraction condition, among the nodes extracted in the node extraction process such as the first node extraction process or the second node extraction process described above , It is narrowed down only to the nodes to which the links below the upper limit of the specified number of links are connected.
  • a node having a large number of connected links is a hub-like node, and can be said to be a node having few features in the graph data. For this reason, it is possible to prevent a node having a small number of features from being extracted by making it difficult to extract a node having a large number of connected links.
  • the last update date and time of the link as the extraction condition is used, for example, to exclude a link that has not been updated for a long time from the calculation target of the path length for node extraction.
  • the update of the link means that a plurality of links are combined into one, or that information set in the link is updated.
  • the link occurrence date and time as the extraction condition is used, for example, to exclude a link that has been passed for a long time from the generation (generation) from the calculation target of the path length for node extraction.
  • the link update frequency is used, for example, to exclude a link with a low update frequency from a path length calculation target for node extraction.
  • the link update frequency can be obtained, for example, as an average link update cycle.
  • the above extraction conditions may be used as filtering conditions for simply excluding nodes or links that are out of the extraction conditions, or may be used as weights for the links when determining the path length.
  • the type of extraction process as the extraction condition is one or a plurality of extraction processes used for node extraction among a plurality of types of extraction processes (first node extraction process, second node extraction process) that can be executed by the extraction unit 223. It is for designating.
  • the extraction unit 223 includes a first extraction unit 223a that executes the above-described first node extraction process, and a second extraction unit 223b that executes the above-described second node extraction process.
  • the terminal device 6 can select one or both of the extraction processes as the extraction condition.
  • the extraction condition information is received by the extraction condition information receiving unit 225.
  • the extraction condition information receiving unit 225 receives the extraction condition information
  • the extraction condition information receiving unit 225 causes the extraction unit 223 to perform node extraction according to the extraction condition indicated by the extraction condition information.
  • FIG. 12 shows a node extraction process (complex node extraction process) when a plurality of extraction processes (first node extraction process and second node extraction process) are selected by the selected terminal device 6 for node extraction. An example is shown.
  • the extraction unit 223 executes a plurality of extraction processes in parallel. More specifically, the 1st extraction part 223a performs step S12 and step S13 of a 1st node extraction process (step S32a), and in parallel with it, the 2nd extraction part 223b is a 2nd node extraction process. Steps S22 and S23 are executed (step S32b). As described above, the first extraction unit 223a and the second extraction unit 223b use the extraction condition information to extract the extraction condition (the number of links connected to the node, the link last update date, the link occurrence date, and the link update frequency). Is specified, node extraction is performed according to the extraction condition.
  • the extraction condition the number of links connected to the node, the link last update date, the link occurrence date, and the link update frequency. Is specified, node extraction is performed according to the extraction condition.
  • the extraction result by the 1st extraction part 223a and the extraction result (processing result) by the 2nd extraction part 233b are each obtained.
  • the display control unit 224 generates display information corresponding to only the nodes extracted in common in all of the plurality of extraction results among the nodes included in each of the plurality (two) of extraction results, and the terminal device 6 (step S33).
  • the display control unit 224 may cause the terminal device 6 to display all nodes included in each of a plurality (two) of extraction results. In this case, it is possible to display more nodes than to display only the processing result of one extraction process.
  • FIG. 13 shows a node extraction process (complex node extraction process) when a plurality of extraction processes (first node extraction process and second node extraction process) are selected by the selected terminal device 6 for node extraction. Another example is shown.
  • step S41, step S42a, and step S42b are the same as step S31, step S32a, and step S32b of FIG.
  • step S42a and step S42b when a plurality of extraction processes (step S42a and step S42b) are executed in parallel, the time required for each extraction process is different. Therefore, one of the extraction processes ends first, and the extraction result (the extracted node data) is obtained first, and the extraction result of the other extraction process is obtained with a delay. That is, there is a timing at which a processed extraction process and an unprocessed extraction process are mixed among a plurality of extraction processes.
  • step S ⁇ b> 43 when the display control unit 224 obtains the extraction result of one of the extraction processes without waiting for the completion of all the extraction processes (step S ⁇ b> 43), the previously obtained extraction is performed. Display information based on the result (extraction result of the processed extraction process) is generated and transmitted to the terminal device 6 (step S44). Thereby, the display of the extraction result in the terminal device 6 can be performed rapidly. However, there is a possibility that the extraction result obtained later is a better result. Therefore, when the extraction result of the other extraction process is obtained (when two or more extraction results are obtained), the display control unit 224 selects which extraction result is better, and based on the better process result. Display information is generated and transmitted to the terminal device 6 (step S45). That is, the display control unit 224 selects which of the extraction processes causes the node data extracted by the terminal device 6 to be displayed.
  • the terminal device 6 quickly displays the processing result as soon as any one processing result is obtained, and when a better processing result is obtained, the display is switched to the other processing result. As a result, it is possible to achieve both promptness of display and appropriateness of display.
  • the quality of the plurality of processing results can be determined by the number of nodes having a small path length (distance; average distance) from the selected reference node among the extracted nodes. For example, when the extracted nodes are arranged in order from the shortest path length from the reference node, in a predetermined number (n) of nodes in the shortest order, the average distance from a plurality of selected reference nodes is shorter. It can be determined that the processing result is a good processing result. For each node, the average distance from the plurality of reference nodes is preferably obtained by a mean square instead of a simple average.
  • the display may be switched to a display of a result of combining two or more extraction results (for example, see step S33) instead of switching to a better display of the extraction results.
  • FIG. 14 shows a display example of graph data partially clustered.
  • the processing server 2 can perform a clustering process for clustering nodes by applying a data clustering algorithm to the graph data stored in the database 3.
  • a plurality of nodes become cluster nodes.
  • the clustering process is performed, for example, when the classification of products is considered hierarchically, a plurality of nodes indicating product names in a small classification belonging to a lower level of one large classification are one cluster indicating the product names in the large classification. Will be integrated into the node.
  • the cluster node can be displayed when displaying the graph data on the terminal device 6 in order to select the reference node or to select the extraction node.
  • the terminal device 6 can select the cluster node as at least one of a plurality of reference nodes.
  • the processing server 2 regards the cluster node as a normal node and executes the above-described node extraction process.
  • the ability to select a cluster node as a reference node allows the superordinate concepts of individual nodes to be identified as reference nodes, which is advantageous when the user's interest is in those superordinate concepts rather than individual nodes .
  • the matter disclosed above is an exemplification, and does not limit the present invention, and various modifications are possible.
  • the example of the node extraction processing is not limited to the first node extraction processing and the second node extraction processing, and may be extraction processing by other methods.
  • the average (average distance) of the distances from each of a plurality of selected reference nodes is obtained, and a predetermined number of nodes are extracted from those having a small average distance. May be.
  • the average distance is preferably the root mean square.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 関係性グラフデータを生成する新規な手法を提供する。ノードデータをリンクで接続したグラフデータを有するデータベースを管理する関係性グラフデータベースシステム1であって、端末装置6の操作に対応するノードデータを生成するノード生成部212と、複数のノードデータをリンクで接続した部分グラフデータを生成する部分グラフ生成部214と、複数の部分グラフを合成することでグラフデータを生成するグラフ生成部215と、を備えている。部分グラフ生成部214は、同一の端末装置において行われた複数の操作が所定の関係性を有する場合には、当該複数の操作に対応する複数のノードデータ同士をリンクで接続して部分グラフデータを生成する。

Description

関係性グラフデータベースシステム
 本発明は、関係性グラフデータベースシステムに関するものである。
 高度なサービスの実現のために、個々のデータに詳細な属性情報をもたせることが取り組まれているが、一方で、データ間の関係性をサービスに活用する試みが検討されている(非特許文献1参照)。特に、人と人との関係性や人の移動のコンテキストとロケーションとの関係性といったソーシャルな関係性が注目を集めている。こういったデータの関係性は、データをノード、データ間の直接的なつながりをリンクで表すグラフデータとして表現される。
R.Shinkuma et al., "New Generation Information Network Architecture Based on Social Metric", IEICE Society Conference, Sept. 2010
 本発明は、グラフデータを生成する新規な手法を提供することを目的とする。また、本発明の他の目的は、グラフデータからデータを抽出する新規な手法を提供することである。
(1)本発明は、ノードデータをリンクで接続したグラフデータを有するデータベースを管理する関係性グラフデータベースシステムであって、
 コンピュータネットワークに接続した端末装置において行われた操作に対応するノードデータを生成するノード生成部と、
 複数のノードデータをリンクで接続した部分グラフデータを生成する部分グラフ生成部と、
 複数の部分グラフデータを合成することでグラフデータを生成し、生成されたグラフデータを前記データベースに記憶させるグラフ生成部と、
 を備え、
 前記ノード生成部は、前記端末装置において行われる複数種類の操作に対応して、複数種類のノードデータを生成可能であり、
 前記部分グラフ生成部は、同一の端末装置において行われた複数の操作が所定の関係性を有する場合には、当該複数の操作に対応する複数のノードデータ同士をリンクで接続して部分グラフデータを生成し、
 前記グラフ生成部は、
  共通するノードデータを有する複数の部分グラフデータを当該共通するノードデータにおいてグラフ合成することでグラフデータを生成する、又は、
  共通するノードデータを有する部分グラフデータとグラフデータとを、当該共通するノードデータにおいてグラフ合成することで、新たなグラフデータを生成する
 ことを特徴とする関係性グラフデータベースシステムである。
(2)前記所定の関係性には、複数の操作の時間間隔が所定時間以下であること、が含まれるのが好ましい。
(3)前記所定の関係性には、複数の操作が、同一のトランザクション内において行われたこと、が含まれるのが好ましい。
(4)前記グラフ生成部は、前記部分グラフ又は前記グラフ生成部によって生成されたグラフデータを、グラフデータを生成することができる他のシステムによって生成された他のグラフデータと合成するのが好ましい。
(5)前記部分グラフ生成部は、同一の端末装置において行われた複数の操作が所定の関係性を有する場合には、当該複数の操作に対応する複数のノードデータ同士が、同一種類であるか異なる種類であるかを問わず、リンクで接続して部分グラフデータを生成するのが好ましい。
(6)前記ノード生成部は、前記端末装置の位置情報に基づいて、位置に対応するノードデータを生成可能であり、
 前記部分グラフ生成部は、位置に対応するノードデータと操作に対応するノードデータとが、所定の関係性を有する場合には、位置に対応するノードデータと操作に対応するノードデータとをリンクで接続して部分グラフデータを生成するのが好ましい。
(7)前記部分グラフ生成部は、前記リンクの生成に関するリンク情報をも生成するのが好ましい。
(8)前記グラフ生成部は、共通するノードデータ対の間のリンクそれぞれを維持しつつ、当該ノードデータ対においてグラフ合成を行うのが好ましい。
(9)前記グラフ生成部は、共通するノードデータ対の間のリンクそれぞれを一本のリンクに合成しつつ、当該ノード対においてグラフ合成を行うのが好ましい。
(10-1)前記データベースに記憶されたグラフデータのリンクを消滅させるリンク消滅部をさらに備えるのが好ましい。
(10-2)前記リンク消滅部は、リンクに設定されたタイムスタンプに基づいて、リンクを消滅させるのが好ましい。
(11) 前記リンク消滅部は、前記データベースに記憶されたグラフデータのリンクのリンク距離を時間経過に応じて長くし、リンク距離が所定の長さになるとリンクを消滅させるのが好ましい。
(12)前記ノードデータ生成部によってノードデータが生成される操作は、前記端末装置において行われる商品購入操作、前記端末装置において行われるWebサイト表示操作、前記端末装置において行われるコンテンツ閲覧操作のうちの少なくともいずれか一つを含むのが好ましい。
(13-1)前記グラフデータからノードデータを抽出する抽出部を更に備えるのが好ましい。
(13-2)前記抽出部は、前記グラフデータからノードデータを抽出する抽出処理を複数種類実行可能であるのが好ましい。
(13-3)前記抽出部は、前記複数種類の抽出処理のうち、端末装置から選択された一の抽出処理を実行するのが好ましい。
(13-4)前記抽出部は、前記複数種類の抽出処理のうち、端末装置から選択された複数の抽出処理を実行するのが好ましい。
(13-5)前記抽出部は、端末装置から指定された抽出条件に基づいて、ノードデータを抽出するのが好ましい。
(13-6)前記端末装置からの入力に基づいて、前記グラフデータに含まれるノードデータの中から、複数の基準ノードデータを選択する基準ノード選択部と、 複数の基準ノードからみた中心性に基づいて、前記グラフデータからノードデータを抽出する抽出部と、 を更に備えるのが好ましい。
(14)前記抽出部は、複数の基準ノードデータそれぞれからみて中心にあるノードデータを中心ノードデータとして選択し、中心ノードデータからの経路長に基づいて、前記グラフデータからノードデータを抽出するのが好ましい。
(15)前記抽出部は、前記グラフデータから、複数の基準ノードデータからの経路長が所定値以下であるノードデータからなる局所グラフデータを特定し、前記局所グラフデータにおける中心性に基づいてノードデータを抽出するのが好ましい。
(16)前記抽出部は、前記局所グラフデータにおいて複数の基準ノードデータを結ぶ最短経路上のノードデータそれぞれからの経路長から求められる中心性に基づいてノードデータを抽出するのが好ましい。
(17)前記抽出部は、前記局所グラフデータにおいて複数の基準ノードデータ及び複数の基準ノードデータの近傍のノードデータそれぞれからの経路長から求められる中心性に基づいてノードデータを抽出するのが好ましい。
(18-1)前記抽出部によって抽出されたノードデータを前記端末装置に表示させる表示制御部を更に備えるのが好ましい。
(18-2)前記抽出部が複数の抽出処理を実行する場合、前記表示制御部は、複数の抽出処理において共通して抽出された抽出されたノードデータを前記端末装置に表示させるのが好ましい。
(18-3)前記抽出部が複数の抽出処理を並列して実行する場合、前記表示制御部は、複数の抽出処理のうち処理済みであるものと未処理であるものとが混在しているタイミングでは、処理済みの抽出処理によって抽出されたノードデータを前記端末装置に表示させるのが好ましい。
(18-4)前記表示制御部は、複数の処理済みの抽出処理のうち、いずれの抽出処理によって抽出されたノードデータを前記端末装置に表示させるかの選択を行うのが好ましい。前記選択は、複数の処理済みの抽出処理の処理結果(抽出されたノードデータ)に基づくのが好ましい。
(19)前記抽出部によって抽出されたノードデータを前記端末装置に表示させる表示制御部を更に備え、前記表示制御部は、抽出された各ノードデータを、複数の基準ノードのうち、経路長が最も小さくなる基準ノードの付近に集中させて表示させるのが好ましい。
(20)前記抽出部によって抽出されたノードデータを前記端末装置に表示させる表示制御部を更に備え、前記表示制御部は、抽出されたノードデータを、複数の基準ノードデータそれぞれからみた中心性に基づいて、中心性の高さを識別可能に表示するのが好ましい。
(21)前記グラフのノードデータ対の間のリンクの数が多いほど当該ノードデータ対の間のリンク距離が小さいものとみなして経路長を求めるのが好ましい。
(22)基準ノードデータとして選択されることが予測される複数のノードデータの組み合わせについて、前記抽出部におけるノードデータの抽出の処理の一部又は全部を予め実行した処理結果を記憶する記憶部を更に備え、
 複数の基準ノードデータが実際に選択されると、前記抽出部は、前記記憶部に記憶されている処理結果を用いて、ノードデータの抽出を行うのが好ましい。
(23)前記基準ノード選択部は、複数のノードデータを一つのノードデータとみなして、基準ノードデータの一つとして選択可能であり、
 一つのノードデータとみなされる複数のノードデータは、前記グラフデータに含まれる複数のノードデータのち、クラスタリング処理によってクラスター化された複数のノードデータであるのが好ましい。
(24)他の観点からみた本発明は、コンピュータを、前記(1)~(24)のいずれか1項に記載の関係性グラフデータベースシステムとして機能させるためのコンピュータプログラムである。
関係性グラフデータベースシステムの構成図である。 処理サーバの構成図である。 ノード生成からグラフデータ生成までの過程を示す図である。 グラフデータ更新の過程を示す図である。 他のグラフデータと合成されたグラフデータを示す図である。 ノード抽出処理のフローチャートである。 ノード抽出処理の説明図である。 抽出されたノードの表示例を示す図である。 ノード抽出処理のフローチャートである。 ノード抽出処理の説明図である。 第2処理部の変形例を示す図である。 複合的ノード抽出処理のフローチャートである。 複合的ノード抽出処理のフローチャートである。 クラスターノードを含むグラフデータの例を示す図である。
 以下、本発明の好ましい実施形態について添付図面を参照しながら説明する。
[1.全体構成]
 図1は、関係性グラフデータベースシステム1の全体構成の概要を示している。関係性グラフデータベースシステム1は、処理サーバ2と、ソーシャルネットワークデータベース3と、キャッシュサーバ(記憶部)4と、を備えている。
 なお、関係性グラフデータベースシステム1の各機能は、処理サーバ2などとして機能するコンピュータの記憶装置にインストールされたコンピュータプログラムが、コンピュータに実行されることによって発揮される。そのコンピュータプログラムは、記録媒体に記録して、譲渡・販売することができる。
 処理サーバ2は、インターネットなどのコンピュータネットワーク5を介して、端末装置6と通信可能である。端末装置6は、パーソナルコンピュータ、携帯電話、及びその他コンピュータネットワーク5に接続可能な装置であれば、特に限定されない。
 ソーシャルネットワークデータベース(以下、単に「データベース」という)3は、ノード間の関係性を示すグラフデータを記憶するためのものである。グラフデータは、ノードデータ(以下、単に「ノード」という)をリンクで接続したものである。本実施形態のグラフデータには、一種類のもの(例えば、人)を表すノードだけでなく、人、物、場所、団体、電子的な物(コンテンツ)などの多種類のものに対応した多種類のノードが存在する。
 キャッシュサーバ4は、処理サーバ2において行われる処理の結果を予め記憶しておくことで、処理サーバ2における処理を迅速化させるためのものである。
 図2に示すように処理サーバ2は、グラフデータの生成(更新)に関する処理を行う第1処理部21と、グラフデータからのノードの抽出に関する処理を行う第2処理部22と、を備えている。
[2.グラフデータの生成]
 グラフデータの生成(更新)に関する処理を行う第1処理部21は、情報取得部211と、ノード生成部212と、判定部213と、部分グラフ生成部214と、グラフ生成部215と、リンク消滅部216と、を備えている。
 情報取得部211は、端末装置6において行われた操作内容を示す操作情報を取得する。操作情報は、情報取得部211が、端末装置6において行われた操作履歴を、当該端末装置6から操作情報として取得してもよいし、端末装置6がコンピュータネットワーク5を介して接続したWebサイトにおいて行った操作履歴を、操作情報として当該WebサイトのWebサーバから取得してもよい。
 情報取得部211は、端末装置(移動端末装置)6の位置を示す位置情報(GPS情報など)を取得することもできる。
 ノード生成部212は、グラフデータにおけるノードを生成するためのものである。ノード生成部212は、情報取得部211が取得した操作情報が示す操作に、ノード作成対象の操作が含まれていれば、ノードを生成する。
 ノード作成対象の操作は、例えば、端末装置6において行われる商品購入操作、端末装置6において行われるWebサイト表示操作、端末装置6において行われるコンテンツ閲覧操作などである。
 例えば、商品購入操作の場合、購入された商品を示す情報(商品名データなど)などを内部情報として持つ商品ノードが生成される。Webサイト表示操作の場合、表示されたWebサイトのサイト名及びWebサイトのURLなどを内部情報として持つWebサイトノードが生成される。コンテンツ閲覧操作の場合、閲覧されたコンテンツの名前及びコンテンツが存在場所を示すURLなどを内部情報として持つコンテンツノードが生成される。
 このように、ノード生成部212は、端末装置6において行われる複数種類の操作に対応して、複数種類のノードデータを生成可能である。
 また、ノード生成部212は、予め設定されたノード作成対象の操作が行われると、ノードを生成するよう構成されているため、ノードが作成される操作は、ノードを作成するための専用の操作である必要はなく、前述のような商品購入操作、Webサイト表示操作、コンテンツ閲覧操作など、多様な種類の操作をノード作成対象とすることができる。
 さらに、ノード生成部212は、情報取得部211が取得した位置情報に基づいて、位置情報が示す位置に対応した位置ノードを生成可能である。例えば、GPS情報からなる位置情報が京都市内の位置を示している場合、「京都」という位置を示す位置ノードが生成される。
 判定部213は、情報操作情報及び/又は位置情報に基づき、同一の端末装置6において行われた複数の操作(ノード作成対象の操作)及び/又は端末装置6の位置が、所定の関係性を有しているか否かを判定する。
 所定の関係性としては、複数の操作(ノード作成対象の操作)の時間間隔が、所定時間以下であること、又は、複数の操作(ノード作成対象の操作)が同一のトランザクション内においておこなわれたこと、などが挙げられる。
 所定の関係性を生じさせるための複数の操作(ノード作成対象の操作)の時間間隔は、ほぼ同時とみなせるほどの短い時間であってもよいし、1日程度の比較的長い時間であってもよい。また、所定の関係性を生じさせるための複数の操作(ノード作成対象の操作)の時間間隔は、調整自在であるのが好ましい。
 所定の関係性を生じさせるための複数の操作(ノード作成対象の操作)の時間間隔は、あらゆる操作について一定であってもよいし、操作の種類によって時間間隔が異なっていても良い。
 同一のトランザクション内に行われる複数の操作としては、場合としては、例えば、Webサイトにおける商品購入ためのトランザクションにおいて、複数の商品を購入した場合における複数の商品購入操作が挙げられる。
 また、位置と操作とが所定の関係性を生じさせる場合としては、端末装置6が、ある位置(例えば、京都)に存在しているときに、商品購入操作をした場合、Webサイト表示操作をした場合、又はコンテンツ閲覧操作をした場合、などが挙げられる。
 判定部213は、情報操作情報及び/又は位置情報に基づき、操作間又は操作と位置との間に所定の関係性があることを検出すると、その検出結果を、部分グラフ生成部214に与える。
 部分グラフ生成部214は、判定部213によって検出された所定の関係性に対応するリンクを生成して、ノードをリンクで接続した部分グラフデータ(以下、単に「部分グラフ」という)を生成する。
 具体的には、部分グラフ生成部214は、ノード生成部212によって生成された複数のノードに対して、判定部213によって所定の関係性を有すると判定された操作同士又は操作と位置との間を、リンクで接続する。
 これにより、部分グラフ生成部214は、同一の端末装置6において行われた複数の操作、又は、当該端末装置の位置に対応する複数のノードをリンクで接続した部分グラフを生成する。
 部分グラフ生成部214は、リンク情報生成部214aを有しており、リンク情報生成部214aは、ノード同士を接続するリンクの生成の際に、当該リンクの生成に関するリンク情報も併せて生成する。リンク情報には、リンクが生成された日時を示す時刻情報、及び/又は、当該リンク生成の原因となった所定の関係性(複数の操作、操作と位置)を示す情報が含まれる。リンク情報は、部分グラフ(部分グラフデータ)の一部を構成する。
 なお、部分グラフにおいてリンクで接続されるノードは、同一種類の操作に対応するノードであってもよいし、異なる種類の操作に対応するノードであってもよい。つまり、ノード同士は、その種類を問わず、所定の関係性を有していればリンクで接続される。
 グラフ生成部215は、共通するノードを有する複数の部分グラフ同士を、当該共通するノードにおいてグラフ合成することで、グラフデータを生成して、データベース3に記憶させて、保存する。
 また、グラフ生成部215は、共通するノードを有する部分グラフと、データベース3に記憶されているグラフデータとを、当該共通するノードデータにおいてグラフ合成することで、新たなグラフデータを生成して、データベース3に保存する。
 部分グラフは、ノードの種類を問わず、ノード間が所定の関係性を有していればリンクで接続されるため、そのような部分グラフを合成して得られたグラフデータは、階層構造のグラフや2部グラフのように、シンプルな構造となるグラフとは異なり、多様な接続関係を有するグラフとなる。
 グラフ生成部215は、データベース3に記憶されているグラフデータを、グラフデータを作成することができる他のシステム(例えば、人の関係を表すグラフデータを作成するシステム)と合成することもできる。この場合、データベース3に記憶されているグラフデータと、他のシステムのグラフデータと、において共通して存在するノードにおいてグラフ合成することで、統合されたグラフデータが生成される。
 リンク消滅部216は、データベース3に保存されているグラフデータのリンクを、消滅させることができる。リンク消滅部(リンク距離変更部)216は、例えば、時間の経過に応じて、リンク距離を長くしていき、リンク距離が所定の長さ以上になれば、リンクを消滅させる。グラフデータのリンクを適宜消滅させることで、ネットワーク型データが膨大になりすぎるのを抑制することができる。また、時間経過に応じてリンク距離を長くすることで、古いリンクで接続されたノードの関係性を低くすることができる。
 リンク消滅部216によるリンク消滅処理(リンク距離変更処理)を行うため、各リンクにはタイムスタンプが設定されている。リンク消滅部216は、リンクに設定されたタイムスタンプに基づき、リンク距離を長くしたり、リンクを消滅させたりする。
 なお、リンク消滅部216は、リンクを時間に対して確率的に消滅させてもよい。確率が1であれば、リンクはある時刻で消滅し、確率が0であればリンクは永続する。リンク消滅の確率は、各リンクについて共通であってもよいし、リンク毎に異なっていてもよい。例えば、リンクの両端のノードの種類によってリンク消滅確率が異なっていても良い。
 図3は、処理サーバ2の第1処理部21によるグラフデータの作成の一例を示している。
 まず、図3(a)に示すように、ある端末装置6によって、商品Aを購入する操作N11と、商品Bを購入する操作N12と、WebサイトCを表示する操作N13と、が、所定時間内で連続的に行われたものとする。情報取得部211は、商品Aを購入する操作N11と、商品Bを購入する操作N12と、WebサイトCを表示する操作N13と、を含む操作の履歴情報(操作情報)を取得する。
 ノード生成部212は、操作情報に含まれる操作履歴から、ノード作成対象として設定された操作である、商品Aを購入する操作N11と、商品Bを購入する操作N12と、WebサイトCを表示する操作N13と、を抽出して、それらの操作に対応したノードN11,N12,N13を生成する(図3(a)参照)。
 判定部213は、操作情報に含まれる操作履歴から、所定の関係性を有するノード対を検出する。ここでは、商品Aを購入する操作N11と、商品Bを購入する操作N12とは、ほぼ同時に行われており、所定の関係性(操作時間間隔が所定時間以下)X11があるものとする。また、商品Aを購入する操作N11及び商品Bを購入する操作N12は、WebサイトCを表示する操作とも、所定の関係性(操作時間間隔が所定時間以下)Y11,Y12があるものとする。
 この場合、部分グラフ生成部214は、3つのノードN11,N12,N13を接続する3つのリンクX11,Y11,Y12生成し、部分グラフP1を生成する(図3(b)参照)。
 また、図3(a)に示す操作を行った端末装置6とは無関係の別の端末装置6が、WebサイトCを表示する操作N21と、コンテンツDを閲覧する操作N21と、を、所定時間内で連続的に行ったものとする(図3(b)参照)。この場合、部分グラフ生成部214は、2つの操作に対応する2つのノードN21,N22をリンクZ11によって接続した部分グラフP2を生成する。
 グラフ生成部215は、独立して生成された2つの部分グラフP1,P2に、共通のノード(WebサイトCを表示する操作)N13,N21が含まれていることを検出すると、それらの部分グラフP1,P2のグラフ合成を行う。
 部分グラフP1,P2のグラフ合成は、共通する複数のノード(WebサイトCを表示する操作)N13,N21を統一した一つのノードN31とすることで、行われる(図3(c)参照)。これにより、複数の部分グラフP1,P2が合成された一つのグラフデータG1が生成される。生成されたグラフデータG1は、データベース3に保存される。
 さらに、図4(a)に示すグラフデータG1がデータベース3に保存されているときに、図4(b)に示す部分グラフP3が新たに生成されたものとする。この場合、グラフ生成部215は、グラフデータG1と部分グラフP3とに、共通のノード(商品Bを購入する操作N12,N41、WebサイトCを表示する操作N31,N33)が含まれていることを検出すると、グラフデータG1と部分グラフP3とのグラフ合成を行う(図4(c)参照)。このグラフ合成によって、グラフデータG1が更新された新たなグラフデータG2が生成され、データベース3に保存される。
 したがって、端末装置6によって操作が行われることによって、グラフデータが拡張される。
 図4(a)(b)のように、ノード対(ノードN12,N31のノード対と、ノードN41,N44のノード対)が共通して存在する場合、共通するノード対の間のリンクY12,Y21それぞれを維持したまま、グラフ合成が行われる。したがって、グラフ合成後のグラフデータG2は、ノード対N51,52との間に、合成前のリンクY12,Y22をそのまま有している。
 合成後においても、合成前のリンクY12,Y22をそのまま維持することで、合成前のリンクY12,Y22が有している情報(タイムスタンプ)などを、それぞれ別個に維持することができる。したがって、リンク消滅部216によるリンク消滅処理を、各リンクY12,Y22について独立して行うことができる。
 なお、グラフ合成の際には、ノード対N51,52の間のリンクを1本のリンクに合成して集約してもよい。この場合、合成されたノード対間のリンクの数が増加せず、グラフデータのデータ量の増大を抑制できる。
 図5は、本実施形態の関係性グラフデータベースシステム1が生成したグラフデータG2と、他のシステムによって生成されたグラフデータG3と、を合成したグラフデータG4を示している。このグラフ合成も、両グラフデータG2,G3において共通するノードを合成することで行われる。
[3.グラフデータからのノード抽出]
 図2に示すように、グラフデータからのノードの抽出に関する処理を行う第2処理部22は、基準ノード選択情報受付部221と、基準ノード選択部222と、抽出部223と、表示制御部224と、を備えている。
 基準ノード選択情報受付部221は、端末装置6から、基準ノードとして選択されたノードを示す選択情報を受け付ける。表示制御部224は、端末装置6から、グラフのノード抽出要求を受けると、データベース3に保存されているグラフデータの一部又は全部を端末装置6の表示画面に表示させるための表示情報を、端末装置6へ送信する。端末装置6のユーザは、表示されたグラフデータのノードの中から、基準ノードとなる一又は複数のノードを選択する。すると、端末装置6において、基準ノードが選択されると、基準ノードを示す選択情報が、処理サーバ2に送信される。
 基準ノード選択部222は、基準ノード選択情報受付部221が選択情報を端末装置6から受け付けると、データベース3に記憶されているグラフデータのノードの中から、選択情報が示す位置又は複数のノードを基準ノードとして選択する。
 抽出部223は、基準ノードからみた中心性(詳細は後述)に基づいて、データベース3に保存されているグラフデータからノードを抽出する。
 表示制御部224は、抽出されたノードを、当該ノードを接続するリンクとともに表示させる表示情報を、ノード抽出要求を発信した端末装置6に対して送信する。これにより、端末装置6は、抽出されたノードを画面表示することができる。
 図6及び図7は、ノード抽出処理の第1例(第1ノード抽出処理)を示している。
 第1の例においては、基準ノード選択部222によって複数の基準ノードが選択されると(ステップS11)、複数の基準ノードに基づいて、中心ノードが選択される(ステップS12)。例えば、図7に示すグラフデータG(図7において、丸印がノードを示し、直線がリンクを示す)において、2つの基準ノードが選択されると、それら2つの基準ノードそれぞれからの経路長の総和が最も小さくなるノードが中心ノードとして選択される。
 中心ノードを選択するには、まず、グラフデータGにおいて、2つの基準ノードの最短経路となるグラフ(最短経路グラフ)だけを考える。そして、抽出部223は、最短経路グラフにおける各ノード(対象ノード)について、他の対象ノードそれぞれからの経路長の総和を算出する。そして、最短経路グラフにおける各ノード(対象ノード)のうち、前記経路長の総和が最も小さくなるノードが中心ノードとして特定される。なお、基準ノードが一つの場合は、基準ノードが中心ノードとして特定される。
 また、中心ノードを選択するための経路長の総和の算出の対象となるノード(対象ノード)としては、最短経路グラフ上のノードに限らず、基準ノードからのリンク数が所定の値以内のノード、又は、基準ノードからの経路長が所定の値以内のノードなど、基準ノード近傍のノードとしてもよい。
 続いて、抽出部223は、中心ノードからの経路長が閾値以下(例えば、経路長が3以下)のノードを抽出する。例えば、中心ノードからの経路長が3以下のノードを抽出する場合、図7に示す抽出範囲内のノードが抽出される。
 中心ノードは、複数の基準ノードから見て中心にあり、抽出されたノード群において中心的な存在となる。したがって、中心ノードからの経路長が小さいほど、複数の基準ノードの組み合わせに対して関係性が高いノードである。
 表示制御部224は、抽出されたノードに対応する表示情報を生成して、端末装置6へ送信する(ステップS11)。端末装置6へ送信される表示情報は、抽出されたノードを接続するリンク及びリンク情報のほか、抽出された各ノードと中心ノードとの間の経路長を示す情報及び抽出された各ノードと基準ノードとの間の経路長を示す情報も含まれる。
 端末装置6は、表示情報に基づいて、抽出されたノードの画面表示を行う。図8に示すように、端末装置6は、基準ノード及び/又は中心ノードを、抽出された他のノードとは識別可能に強調表示する。また、基準ノード及び中心ノードも、両者を識別可能に表示される。中心ノードを他のノードから識別可能に強調表示することで、ユーザは、中心ノードが中心性の高いノードであることを認識できる。また、中心ノード以外の他のノードそれぞれについても、中心性を示す値に基づいて、中心性の高さを識別可能に表示してもよい。
また、表示されたリンクが、端末装置6の操作によって指定されると、指定されたリンクのリンク情報が表示される。
 抽出結果であるノードとリンクが端末装置6に表示されているときに、ユーザによる端末装置6の操作によって、データベース3内の各リンク距離を長くしたり、短くしたりすることができる。つまり、端末装置6は、表示されているリンクのリンク距離を変更する操作をユーザから受け付けると、変更後のリンク距離を処理サーバ2に送信する。すると、処理サーバ2は、データベース3を検索して、リンク距離が変更されたリンクのリンク距離を抽出し、当該リンク距離を変更後のリンク距離に書き換えて、データベース3に保存する。これにより、リンク距離について、ユーザからのフィードバックを反映でき、ユーザが表示されたリンク距離(ノード間の関係性)と自分の感覚とのギャップを感じた時に補正を行うことができる。
 さらに、端末装置6は、抽出された各ノードを、複数の基準ノードのうち、経路長が最も小さくなる基準ノードの付近に集中させて表示させる。これにより、抽出された各ノードは、いずれかの基準ノードの近くにまとめて表示されるため、各ノードと基準ノードとの関係が直感的にわかりやすくなる。なお、中心ノード及び各基準ノードからの距離が等しくなるノードについては、基準ノードの付近以外の場所、例えば、複数の基準ノードの中間位置、に表示される。
 このように、表示情報に、抽出された各ノードと基準ノードとの間の経路長を示す情報も含まれていることで、その情報を用いて、抽出された各ノードと基準ノードとの関係性の強さをユーザに分かり易く提示することが可能となる。
 また、抽出された各ノードと中心ノードとの間の経路長(中心性)を示す情報を用いることで、抽出された各ノードと中心ノードとの関係性の強さをユーザに分かり易く提示することもできる。
 なお、ここでは、経路長の計算の際には、リンク1本のリンク距離=1とし、経路上のリンクの数×リンク距離の演算によって経路長が計算される。また、ノード対に複数のリンクが存在する場合、ノード対間のリンク距離=1/ノード対間のリンク本数、というように、ノード対間のリンクの数が多いほどリンク距離が小さいものとして経路長を算出する。
 ただし、1本のリンクのリンク距離は、各リンクで同じである必要はなく、リンク毎に異なっていても良い。例えば、リンク消滅部(リンク距離変更部)216によって、リンク距離を変更する場合には、生成時期の異なるリンクのリンク距離は異なるものとなる。
 また、リンク距離は、接続されるノード同士の関係性に応じて異なっていてもよい。例えば、紺色、青色がノードデータとして存在した場合、それらは相互に強い正の関係性をもっていると考えられる一方、青色と赤色がノードデータとして存在した場合、それらは相互に強い負の関係性をもっていると考えられる。部分グラフ生成部215では、接続されるノード同士の関係性に応じて、当該ノード同士を接続するリンクのリンク距離を異ならせることができる。
 図9及び図10は、ノード抽出処理の第2例(第2ノード抽出処理)を示している。
 第2の例においては、基準ノード選択部222によって複数の基準ノードが選択されると(ステップS21)、抽出部223は、複数の基準ノードからの経路長(最短経路上のリンク長又はホップ数の総和)が所定値以下であるノードからなる局所グラフデータを特定する(ステップS22)。
 例えば、図10では、第1基準ノードからの経路長(ここでは最短経路上のホップ数の総和)が3以下であるノードからなる第1局所グラフデータL1が図示のように特定され、第2基準ノードからの経路長(リンク数)が3以下であるノードからなる第2局所グラフデータL2が図示のように特定される。そして、第1及び第2局所グラフデータL1,L2を合わせたものを、複数の基準ノードに対応する局所グラフデータとして考える。
 続いて、抽出部223は、局所グラフデータLにおいて、2つの基準ノードの最短経路となるグラフ(最短経路グラフ)を抽出する。第2例では、グラフデータ全体ではなく、より小さい局所グラフデータLから最短経路グラフを抽出するため、最短経路探索のための処理負荷を低減することができる。第1例のように、最短経路グラフから中心ノードを求めても良いが、第2例では、局所ネットワークグラフデータLの各ノードと、最短経路グラフ上の各ノードとの経路長の平均値を求める。
 つまり、抽出部223は、局所ネットワークグラフデータLのあるノードについて、最短経路グラフ上の各ノードとの経路長の平均値を求める処理を行う。そして、当該処理を、局所ネットワークグラフデータLのすべてのノードについて行う。当該処理によって求めた経路長の平均値は、局所グラフデータにおける中心性を示しており、当該平均値が最も小さいノードは、局所ネットワークグラフデータLの中心にあるノード(中心ノード)といえる。この中心ノードは、複数の基準ノードの組み合わせに対して最も関連するノードである。また、当該処理によって求めた経路長の平均値が小さいほど、複数の基準ノードの組み合わせに対して関係性が高いノードである。
 抽出部223は、当該処理によって求めた経路長の平均値が所定値以下のノードを抽出する(ステップS23)。これにより、局所グラフデータLのあるノードのうち、複数の基準ノードの組み合わせに対して比較的関係性が高いノードが抽出されることになる。
 なお、抽出部223は、局所ネットワークグラフデータLのあるノードについて、各ノードとの経路長の平均値を求める処理を行うのに代えて、次のような処理で平均値(中心性)を求めても良い。例えば、抽出部223は、局所ネットワークグラフデータLのあるノードについて、基準ノードからの経路長(最短経路上のリンク長あるいはホップ数の総和)が所定の値以内のノードなど、基準ノード近傍の各ノードとの経路長の平均値を中心性として求めても良い。
 ノードが抽出されると、第1例と同様に、表示情報が生成され、端末装置6へ送信される(ステップS22)。
 以上のように、本実施形態では、複数の基準ノードの組み合わせに関連するノードの抽出の際に、複数の基準ノードそれぞれに関連するノードの集合の論理和又は論理積をとるのではなく、複数の基準ノードからみた中心性(第1例の中心ノードからの経路長、第2例の経路長の平均値)に基づいて、ノードを抽出する。
 つまり、本実施形態では、グラフデータ全体におけるグラフ中心ではなく、複数の基準ノードからみて中心に位置するノード(中心ノード)が最も優先して抽出される。したがって、関係性のあるノードが大量に抽出されても、中心ノードからの経路長などに基づいて、関係性の高いものを優先して表示することが可能である。
 図11は、第2処理部22の変形例を示している。図11に示す第2処理部22は、端末装置6からの入力情報として、前記選択情報のほか抽出条件情報を受け付けることができる。抽出条件情報は、ノード抽出を行う際の条件(ノード抽出条件)を示す情報である。ノード抽出条件は、前述の第1ノード抽出処理又は第2ノード抽出処理などのノード抽出処理において、抽出されるノードを、絞り込む、又は制限するためのものである。
 ノード抽出条件は、例えばノードに接続されているリンク数、リンクの最終更新日時、リンクの発生日時、リンクの更新頻度、及びノード抽出処理の種類などである。
 抽出されるべきノードに接続されているリンク数の上限値が、抽出条件として指定されると、前述の第1ノード抽出処理又は第2ノード抽出処理などのノード抽出処理において抽出されたノードのうち、指定されたリンク数の上限値以下のリンクが接続されたノードだけに絞り込まれる。接続されたリンク数が多いノードは、ハブ的なノードであり、グラフデータの中での特徴の少ないノードといえる。このため、接続されたリンク数が多いノードが抽出されにくくすることで、特徴の少ないノードが抽出されるのを防止できる。
 抽出条件としてのリンクの最終更新日時は、例えば、長期間更新されていないリンクをノード抽出のための経路長の計算対象から除外するために用いられる。なお、リンクの更新とは、複数のリンクを1本に合成する場合や、リンクに設定された情報を更新することをいう。
 また、抽出条件としてのリンク発生日時は、例えば、発生(生成)してから長期間経過したリンクをノード抽出のための経路長の計算対象から除外するために用いられる。
 さらに、リンクの更新頻度は、例えば、更新頻度が低いリンクをノード抽出のための経路長の計算対象から除外するために用いられる。なお、リンクの更新の頻度は、例えば、リンク更新の平均周期として求めることができる。
 以上の抽出条件は、抽出条件から外れたノード又はリンクを単に除外するためのフィルタリング条件として用いてもよいし、経路長を求める際のリンクに対する重みとして用いてもよい。
 抽出条件としての抽出処理の種類は、抽出部223が実行可能な複数種類の抽出処理(第1ノード抽出処理、第2ノード抽出処理)のうち、ノード抽出に用いられる一又は複数の抽出処理を指定するためのものである。
 本実施形態では、抽出部223は、前述の第1ノード抽出処理を実行する第1抽出部223aと、前述の第2ノード抽出処理を実行する第2抽出部223bと、を備えている。端末装置か6らは、抽出条件として、いずれか一方の抽出処理又は両方の抽出処理を選択することができる。
 抽出条件情報は、抽出条件情報受付部225によって受け付けられる。抽出条件情報受付部225は、抽出条件情報を受け付けると、抽出条件情報が示す抽出条件に従ったノード抽出を抽出部223に実行させる。
 図12は、ノード抽出のために複数の抽出処理(第1ノード抽出処理と第2ノード抽出処理)が選択された端末装置6によって選択された場合のノード抽出処理(複合的ノード抽出処理)の例を示している。
 基準ノード選択部222によって複数の基準ノードが選択されると(ステップS31)、抽出部223は、複数の抽出処理を並列的に実行する。より具体的には、第1抽出部223aは、第1ノード抽出処理のステップS12及びステップS13を実行し(ステップS32a)、それと並行して、第2抽出部223bは、第2ノード抽出処理のステップS22及びステップS23を実行する(ステップS32b)。
 第1抽出部223a及び第2抽出部223bは、前述のように、抽出条件情報によって抽出条件(ノードに接続されているリンク数、リンクの最終更新日時、リンクの発生日時、リンクの更新頻度)が指定されている場合、その抽出条件に従って、ノード抽出を行う。
 これにより、第1抽出部223aによる抽出結果と第2抽出部233bによる抽出結果(処理結果)とがそれぞれ得られる。
 すると、表示制御部224は、複数(二つ)の抽出結果それぞれに含まれるノードのうち、複数の抽出結果全てにおいて共通して抽出されたノードだけに対応する表示情報を生成して、端末装置6へ送信する(ステップS33)。これにより、双方の抽出処理で共に抽出されたノードだけが表示され、より適切なノードを端末装置6に表示させることができる。
 なお、表示制御部224は、複数(二つ)の抽出結果それぞれに含まれるノード全てを端末装置6に表示させるようにしてもよい。この場合、一つの抽出処理の処理結果だけを表示するよりも、多くのノードを表示させることができる。
 図13は、ノード抽出のために複数の抽出処理(第1ノード抽出処理と第2ノード抽出処理)が選択された端末装置6によって選択された場合のノード抽出処理(複合的ノード抽出処理)の他の例を示している。図13において、ステップS41、ステップS42a、及びステップS42bは、図12のステップS31、ステップS32a、及びステップS32bと同様である。
 図13に示すように、複数の抽出処理(ステップS42a及びステップS42b)が並列して実行される場合、それぞれの抽出処理に要する時間は異なる。このため、いずれか一方の抽出処理が先に終了して先に抽出結果(抽出されたノードデータ)が得られ、他方の抽出処理の抽出結果は遅れて得られることになる。つまり、複数の抽出処理のうち処理済みである抽出処理と未処理である抽出処理とが混在しているタイミングが生じる。
 図13の処理例では、表示制御部224は、全ての抽出処理が終了するのを待つことなく、いずれか一方の抽出処理の抽出結果が得られたら(ステップS43)、先に得られた抽出結果(処理済みの抽出処理の抽出結果)に基づく表示情報を生成し、端末装置6へ送信する(ステップS44)。これにより、端末装置6における抽出結果の表示を迅速に行うことができる。
 ただし、遅れて得られた抽出結果のほうが、より良い結果である可能性がある。そこで、表示制御部224は、他方の抽出処理の抽出結果が得られたら(2以上の抽出結果が得られたら)、いずれの抽出結果が良いかの選択を行い、良い方の処理結果に基づく表示情報を生成し、端末装置6へ送信する(ステップS45)。つまり、表示制御部224は、いずれの抽出処理によって抽出されたノードデータを端末装置6に表示させるかの選択を行う。
 以上の処理によって、端末装置6では、いずれか一方の処理結果が得られ次第、処理結果が迅速に表示され、より良い他方の処理結果が得られると、他方の処理結果に表示が切り替えられる。この結果、表示の迅速性と表示の適切性を両立することができる。
 複数の処理結果の良否は、抽出されたノードのうち、選択された基準ノードからの経路長(距離;平均距離)が小さいノードの多さによって判定できる。例えば、抽出されたノードを、基準ノードからの経路長が短い順に並べた場合に、短い順に所定個数(n個)のノードにおいて、選択された複数の基準ノードからの平均距離がより短い方の処理結果を、良い処理結果であると判定できる。
 なお、各ノードについて、複数の基準ノードからの平均距離は、単純平均ではなく、二乗平均で求めるのが好ましい。
 なお、2以上の抽出結果が得られた場合に、より良い抽出結果の表示に切り替えるのではなく、2以上の抽出結果を総合した結果(例えば、ステップS33参照)の表示に切り替えてもよい。
[4.クラスタリング]
 図14は、一部がクラスタリングされたグラフデータの表示例を示している。処理サーバ2は、データベース3に保存されているグラフデータに対して、データクラスタリングアルゴリズムを適用して、ノードのクラスタリングを行うクラスタリング処理を行うことができる。クラスタリング処理により、複数のノードがクラスター化されたクラスターノードとなる。クラスタリング処理を行うと、例えば、商品の分類を階層的に考えた場合、一つの大分類の下位に属する小分類における商品名を示す複数のノードが、当該大分類における商品名を示す一つのクラスターノードに統合されることになる。
 クラスターノードは、基準ノードを選択するため、又は、抽出ノードを選択するために、グラフデータを端末装置6に表示する際において表示可能である。また、基準ノードを選択するためにクラスターノードが端末装置6に表示されると、端末装置6においては、クラスターノードを、複数の基準ノードのうちの少なくともいずれか一つとして選択可能である。
 処理サーバ2では、クラスターノードが基準ノードとして選択されると、クラスターノードを通常のノードとみなして、前述のノード抽出処理を実行する。
 クラスターノードが基準ノードとして選択可能であることにより、個々のノードの上位概念を基準ノードとして特定できることになり、ユーザの関心が、個々のノードではなく、それらの上位概念にある場合に有利である。
[5.付記]
 なお、上記において開示した事項は、例示であって、本発明を限定するものではなく、様々な変形が可能である。
 例えば、ノード抽出処理の例は、第1ノード抽出処理及び第2ノード抽出処理に限定されるものではなく、他の方法による抽出処理であってもよい。他の方法による抽出処理としては、例えば、グラフデータにおける各ノードについて、選択された複数の基準ノードそれぞれからの距離の平均(平均距離)を求め、平均距離が小さいものから所定個数のノードを抽出してもよい。なお、この場合も、平均距離は、二乗平均であるのが好ましい。
 1 関係性グラフデータベースシステム
 2 処理サーバ
 3 データベース
 4 記憶部
 5 コンピュータネットワーク
 6 端末装置
 21 第1処理部
 22 第2処理部
 211 情報取得部
 212 ノード生成部
 213 判定部
 214 部分グラフ生成部
 215 グラフ生成部
 216 リンク消滅部
 221 基準ノード選択情報受付部
 222 基準ノード選択部
 223 抽出部
 223a 第1抽出部
 223b 第2抽出部
 224 表示制御部
 225 抽出条件情報受付部

Claims (24)

  1.  ノードデータをリンクで接続したグラフデータを有するデータベースを管理する関係性グラフデータベースシステムであって、
     コンピュータネットワークに接続した端末装置において行われた操作に対応するノードデータを生成するノード生成部と、
     複数のノードデータをリンクで接続した部分グラフデータを生成する部分グラフ生成部と、
     複数の部分グラフデータを合成することでグラフデータを生成し、生成されたグラフデータを前記データベースに記憶させるグラフ生成部と、
     を備え、
     前記ノード生成部は、前記端末装置において行われる複数種類の操作に対応して、複数種類のノードデータを生成可能であり、
     前記部分グラフ生成部は、同一の端末装置において行われた複数の操作が所定の関係性を有する場合には、当該複数の操作に対応する複数のノードデータ同士をリンクで接続して部分グラフデータを生成し、
     前記グラフ生成部は、
      共通するノードデータを有する複数の部分グラフデータを当該共通するノードデータにおいてグラフ合成することでグラフデータを生成する、又は、
      共通するノードデータを有する部分グラフデータとグラフデータとを、当該共通するノードデータにおいてグラフ合成することで、新たなグラフデータを生成する
     ことを特徴とする関係性グラフデータベースシステム。
  2.  前記所定の関係性には、複数の操作の時間間隔が所定時間以下であること、
    が含まれる請求項1記載の関係性グラフデータベースシステム。
  3.  前記所定の関係性には、複数の操作が、同一のトランザクション内において行われたこと、が含まれる請求項1又は2記載の関係性グラフデータベースシステム。
  4.  前記グラフ生成部は、前記部分グラフ又は前記グラフ生成部によって生成されたグラフデータを、グラフデータを生成することができる他のシステムによって生成された他のグラフデータと合成する
     請求項1~3のいずれか1項に記載の関係性グラフデータベースシステム。
  5.  前記部分グラフ生成部は、同一の端末装置において行われた複数の操作が所定の関係性を有する場合には、当該複数の操作に対応する複数のノードデータ同士が、同一種類であるか異なる種類であるかを問わず、リンクで接続して部分グラフデータを生成する
     請求項1~4のいずれか1項に記載の関係性グラフデータベースシステム。
  6.  前記ノード生成部は、前記端末装置の位置情報に基づいて、位置に対応するノードデータを生成可能であり、
     前記部分グラフ生成部は、位置に対応するノードデータと操作に対応するノードデータとが、所定の関係性を有する場合には、位置に対応するノードデータと操作に対応するノードデータとをリンクで接続して部分グラフデータを生成する
     請求項1~5のいずれか1項に記載の関係性グラフデータベースシステム。
  7.  前記部分グラフ生成部は、前記リンクの生成に関するリンク情報をも生成する
     請求項1~6のいずれか1項に記載の関係性グラフデータベースシステム。
  8.  前記グラフ生成部は、共通するノードデータ対の間のリンクそれぞれを維持しつつ、当該ノードデータ対においてグラフ合成を行う
     請求項1~7のいずれか1項に記載の関係性グラフデータベースシステム。
  9.  前記グラフ生成部は、共通するノードデータ対の間のリンクそれぞれを一本のリンクに合成しつつ、当該ノード対においてグラフ合成を行う
     請求項1~7のいずれか1項に記載の関係性グラフデータベースシステム。
  10.  前記データベースに記憶されたグラフデータのリンクを消滅させるリンク消滅部をさらに備える
     請求項1~9のいずれか1項に記載の関係性グラフデータベースシステム。
  11.  前記リンク消滅部は、前記データベースに記憶されたグラフデータのリンクのリンク距離を時間経過に応じて長くし、リンク距離が所定の長さになるとリンクを消滅させる
     請求項10記載の関係性グラフデータベースシステム。
  12.  前記ノードデータ生成部によってノードデータが生成される操作は、前記端末装置において行われる商品購入操作、前記端末装置において行われるWebサイト表示操作、前記端末装置において行われるコンテンツ閲覧操作のうちの少なくともいずれか一つを含む
     請求項1~11のいずれか1項に記載の関係性グラフデータベースシステム。
  13.  前記端末装置からの入力に基づいて、前記グラフデータに含まれるノードデータの中から、複数の基準ノードデータを選択する基準ノード選択部と、
     複数の基準ノードからみた中心性に基づいて、前記グラフデータからノードデータを抽出する抽出部と、
     を更に備える請求項1~12のいずれか1項に記載の関係性グラフデータベースシステム。
  14.  前記抽出部は、複数の基準ノードデータそれぞれからみて中心にあるノードデータを中心ノードデータとして選択し、中心ノードデータからの経路長に基づいて、前記グラフデータからノードデータを抽出する
     請求項13記載の関係性グラフデータベースシステム。
  15.  前記抽出部は、前記グラフデータから、複数の基準ノードデータからの経路長が所定値以下であるノードデータからなる局所グラフデータを特定し、前記局所グラフデータにおける中心性に基づいてノードデータを抽出する
     請求項13記載の関係性グラフデータベースシステム。
  16.  前記抽出部は、前記局所グラフデータにおいて複数の基準ノードデータを結ぶ最短経路上のノードデータそれぞれからの経路長から求められる中心性に基づいてノードデータを抽出する
     請求項15記載の関係性グラフデータベースシステム。
  17.  前記抽出部は、前記局所グラフデータにおいて複数の基準ノードデータ及び複数の基準ノードデータの近傍のノードデータそれぞれからの経路長から求められる中心性に基づいてノードデータを抽出する
     請求項15記載の関係性グラフデータベースシステム。
  18.  前記抽出部によって抽出されたノードデータを前記端末装置に表示させる表示制御部を更に備える請求項11~17のいずれか1項に記載の関係性グラフデータベースシステム。
  19.  前記抽出部によって抽出されたノードデータを前記端末装置に表示させる表示制御部を更に備え、
     前記表示制御部は、抽出された各ノードデータを、複数の基準ノードのうち、経路長が最も小さくなる基準ノードの付近に集中させて表示させる
     請求項13~17のいずれか1項に記載の関係性グラフデータベースシステム。
  20.  前記抽出部によって抽出されたノードデータを前記端末装置に表示させる表示制御部を更に備え、
     前記表示制御部は、抽出されたノードデータを、複数の基準ノードデータそれぞれからみた中心性に基づいて、中心性の高さを識別可能に表示する
     請求項13~17のいずれか1項に記載の関係性グラフデータベースシステム。
  21.  前記グラフのノードデータ対の間のリンクの数が多いほど当該ノードデータ対の間のリンク距離が小さいものとみなして経路長を求める
     請求項13~20のいずれか1項に記載の関係性グラフデータベースシステム。
  22.  基準ノードデータとして選択されることが予測される複数のノードデータの組み合わせについて、前記抽出部におけるノードデータの抽出の処理の一部又は全部を予め実行した処理結果を記憶する記憶部を更に備え、
     複数の基準ノードデータが実際に選択されると、前記抽出部は、前記記憶部に記憶されている処理結果を用いて、ノードデータの抽出を行う
     請求項13~21のいずれか1項に記載の関係性グラフデータベースシステム。
  23.  前記基準ノード選択部は、複数のノードデータを一つのノードデータとみなして、基準ノードデータの一つとして選択可能であり、
     一つのノードデータとみなされる複数のノードデータは、前記ネットワーク型データに含まれる複数のノードデータのち、クラスタリング処理によってクラスター化された複数のノードデータである
     請求項13~22のいずれか1項に記載の関係性グラフデータベースシステム。
  24.  コンピュータを、請求項1~23のいずれか1項に記載の関係性グラフデータベースシステムとして機能させるためのコンピュータプログラム。
PCT/JP2013/055328 2013-02-28 2013-02-28 関係性グラフデータベースシステム WO2014132386A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2013/055328 WO2014132386A1 (ja) 2013-02-28 2013-02-28 関係性グラフデータベースシステム
US14/771,335 US10152559B2 (en) 2013-02-28 2013-02-28 Relational graph database system
EP13876710.8A EP2963562B1 (en) 2013-02-28 2013-02-28 Relational graph database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/055328 WO2014132386A1 (ja) 2013-02-28 2013-02-28 関係性グラフデータベースシステム

Publications (1)

Publication Number Publication Date
WO2014132386A1 true WO2014132386A1 (ja) 2014-09-04

Family

ID=51427687

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/055328 WO2014132386A1 (ja) 2013-02-28 2013-02-28 関係性グラフデータベースシステム

Country Status (3)

Country Link
US (1) US10152559B2 (ja)
EP (1) EP2963562B1 (ja)
WO (1) WO2014132386A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6942277B1 (ja) * 2021-03-29 2021-09-29 株式会社ユービーセキュア セキュリティテストシステム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5413867B1 (ja) * 2013-05-31 2014-02-12 国立大学法人京都大学 関係性グラフ相互連携システム
US9405853B2 (en) * 2013-06-17 2016-08-02 Hewlett Packard Enterprise Development Lp Reading object queries
US11222072B1 (en) * 2015-07-17 2022-01-11 EMC IP Holding Company LLC Graph database management system and method for a distributed computing environment
WO2017136875A1 (en) * 2016-02-12 2017-08-17 Enterprise Software Services Pty Ltd A social media platform server for serving a social media interface for the creation and configuration of composite node data structures and inter-node event messaging
US20180137667A1 (en) * 2016-11-14 2018-05-17 Oracle International Corporation Graph Visualization Tools With Summary Visualization For Very Large Labeled Graphs
CN111814001B (zh) * 2019-04-11 2024-05-10 杭州海康威视数字技术股份有限公司 反馈信息的方法和装置
US20220346030A1 (en) 2021-04-22 2022-10-27 Commscope Technologies Llc Systems and methods for providing planned spectrum allocation for shared spectrum
US11974314B2 (en) * 2021-06-30 2024-04-30 Commscope Technologies Llc Systems and methods for diminishing frequency spectrum contentions amongst at least two spectrum access systems
JP2023044938A (ja) * 2021-09-21 2023-04-03 株式会社日立製作所 データ分析要件定義支援装置およびデータ分析要件定義支援方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172696A (ja) * 1998-12-03 2000-06-23 Toshiba Corp ドキュメント管理システム
JP2010066814A (ja) * 2008-09-08 2010-03-25 Nippon Telegr & Teleph Corp <Ntt> トピック友人距離測定装置及び方法及びプログラム及びコンピュータ読み取り可能な記録媒体
JP2012256141A (ja) * 2011-06-08 2012-12-27 Hitachi Ltd 操作支援方法及び計算機

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4646923B2 (ja) * 2005-01-07 2011-03-09 株式会社ナビタイムジャパン ナビゲーションシステムおよび携帯端末装置
US7907596B2 (en) * 2007-11-30 2011-03-15 International Business Machines Corporation Valley-free shortest path method
US7949579B2 (en) * 2007-12-07 2011-05-24 Jpmorgan Chase Bank, N.A. System and method for associating financial transaction data with a user's project data
US20140101134A1 (en) * 2012-10-09 2014-04-10 Socialforce, Inc. System and method for iterative analysis of information content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172696A (ja) * 1998-12-03 2000-06-23 Toshiba Corp ドキュメント管理システム
JP2010066814A (ja) * 2008-09-08 2010-03-25 Nippon Telegr & Teleph Corp <Ntt> トピック友人距離測定装置及び方法及びプログラム及びコンピュータ読み取り可能な記録媒体
JP2012256141A (ja) * 2011-06-08 2012-12-27 Hitachi Ltd 操作支援方法及び計算機

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R. SHINKUMA ET AL.: "New Generation Information Network Architecture Based on Social Metric", IEICE SOCIETY CONFERENCE, September 2010 (2010-09-01)
SANGAKUKAN RENKEI NO SCHEME - KENKYU SAIZENSEN HITO TO HITO, HITO TO BASHO, HITO TO MONO NO KANKEI O CHUSHUTSU 'KYORIKAN' O HAN'EI SURU JOHO TSUSHIN SYSTEM, KANKYO BUSINESS, vol. 118, 1 April 2012 (2012-04-01), pages 126 - 127, XP008181525 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6942277B1 (ja) * 2021-03-29 2021-09-29 株式会社ユービーセキュア セキュリティテストシステム
JP2022152374A (ja) * 2021-03-29 2022-10-12 株式会社ユービーセキュア セキュリティテストシステム

Also Published As

Publication number Publication date
EP2963562A1 (en) 2016-01-06
US20160004787A1 (en) 2016-01-07
EP2963562B1 (en) 2020-05-06
EP2963562A4 (en) 2016-09-07
US10152559B2 (en) 2018-12-11

Similar Documents

Publication Publication Date Title
WO2014132386A1 (ja) 関係性グラフデータベースシステム
JP5170481B2 (ja) 関係性グラフデータベースシステム
JP6967612B2 (ja) 情報検索方法、装置及びシステム
WO2019072107A1 (zh) 消费能力预测
EP3371716B1 (en) System and method for detecting interaction and influence in networks
JP5277307B2 (ja) 情報推薦方法、そのシステム、及びサーバ
CN105373619B (zh) 一种基于用户大数据的用户群体分析方法和系统
CN104580385A (zh) 一种拓展用户关系链的方法及装置
TW201237652A (en) Node searching and analyzing method and searching system in social network
CN102053988A (zh) 数据集的可视化方法和系统
CN109977296A (zh) 一种信息推送方法、装置、设备及存储介质
CN107644047B (zh) 标签预测生成方法及装置
US20140316897A1 (en) Location based communication platform
WO2011114294A1 (en) Method and apparatus providing for output of a content package based at least in part on a content category selection and one or more contextual characteristics
CN104965896B (zh) 基于二次函数表示用户偏好的推荐方法及系统
JP2009134520A (ja) ソーシャルネットワーク表示システム、方法、及びプログラム
EP2535860A2 (en) Method for synchronising character information according to data-type classification
CN113592530A (zh) 用于业务提供方的推荐方法、装置及电子设备
JP2013235528A (ja) ファッションコーディネート生成装置、ファッションコーディネート生成システム、ファッションコーディネート生成方法、プログラムおよび記録媒体
JP5926755B2 (ja) 関係性グラフ用オブジェクト表示システム
JP5833068B2 (ja) 系列データ分析装置及プログラム
JP5528388B2 (ja) 情報推薦装置及び方法及びプログラム
CN103124262A (zh) 一种新的基于多路径传播的信任值推荐方法
KR20210130253A (ko) 디지털 데이터의 프리젠테이션
CN112966893A (zh) 一种物流网络规划方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13876710

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14771335

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013876710

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP