Patent attributes
In one embodiment, a method includes maintaining a data store of nodes and edges and for each of one or more users: scanning items of content associated with the corresponding user node; identifying a candidate item of content; searching for matches between the candidate item of content and existing nodes; determining whether or not a match between the candidate item of content and an existing node exists; and when it is determined that at least one match exists, generating an edge from the user node to the existing node for which the best match is determined; and when it is determined that no match exists, generating a new node based on the candidate item of content, and generating an edge from the user node to the new node.