1. A method comprising: crawling a network of unstructured information data sources to obtain information; filtering the information according to an ontology data model to create ontology data structures in a filtered information format, wherein each ontology data structure represents a relationship between two entities; storing the ontology data structures on a server; building a social graph based on the ontology data structures created from the filtered information format from the network of unstructured information data sources, wherein the social graph comprises a first type of node called system-provided nodes and a first type of edge called system-provided edges that link the system-provided nodes; allowing a plurality of users to provide information about connections they may have to entities already represented in the social graph based on the ontology data structures; updating the social graph to include a second type of node called user-provided nodes and a second type of edge called user-provided edges, wherein the user-provided nodes represent each user of the plurality of users; coupling each user-provided node to at least one system-provided node by a user-provided edge, wherein each user-provided edge is specified by the provided information of the user represented by the user-provided node; and providing a graphical user interface through which users can access information stored in the social graph based on the ontology data structures, wherein the social graph comprises both the system-provided nodes and the user-provided nodes in the same social graph.