This demo shows how a spreadsheet gets transformed into a graph through a simple example. The content of each cell is transformed into a node, or a set of nodes in the graph. Nodes get connected to other nodes originating from the same row through relationships whose semantics derive from the column headers and are custom-defined in a mapping model. If two cells have a content that is identical, they become the same node, unless special rules are set to prevent it from happening. Redundancies are removed from the graph. Different values can be assigned to the same node.
Note. Similar functionalities are available while importing from databases, CSV files, XML, Web pages, full text, as well as any structured format, using a similar approach that is customized on demand. Extraction of topics into the knowledge graphs from unstructured content can be done by adding third-party software components.
This sheet contains a list of museums, with their location, and information on days when they are closed.
This is an example of an import script using the API of the Networker. This is a Python script that extracts data from the spreadsheet.
Line 7 contains the file name for the spreadsheet.
Lines 8 to 10 indicate the name of the sheet, as well as the first row and the last column containing data.
Lines 17 to 25 contain a program applied to all rows in the spreadsheet containing data.
Line 20 creates a relationship between a museum and a city. It is using the Networker API "relation" and "topic" features to create a topic from the cell in column A, another topic from the cell in column B, and relate them through a relationship whose semantic is indicated by a topic with a fixed value of "In City".
Line 21 performs a similar function to create the relation between a city and a state. Note that when a relation already exists, the existing relationship holds, and no duplicate relationship is created.
Lines 23 to 25 instruct how to take the content of the cell in column D, split it according to commas, strip each fragment from its leading and trailing blanks, loop over the set of values, and create a relationship between the content of the cell in column A (the name of the museum) and each individual value - in this case a day - with a semantic indicated by a fixed value of "Closed on"
Finally, on line 27, we consider that the topic created for Christmas is the same as the one created for December 25. The resulting topic will have two names, and will inherit the relationships already present in the existing topics.
This is the knowledge graph produced by running the above script in the Networker platform. This graph is accessible from a given node, and can display up to three levels of separation. It is a directed graph (with arrows indicating the directionality). The Networker editorial interface provides features to edit the graph, enabling to change the name of the node, the semantic of the relation, and also modifying the source and targets of each relationship. It also enables to add new nodes and delete existing ones.
The Networker provides an editorial interface enabling manual curation of the knowledge graph. It contains features that have been designed to be easy to use, without any required training in any of the underlying technology. The graphic represents just a snapshot of a fragment of a topic page.
This video illustrates some of the features of the Networker interface:
(More complete list of features available (to come)).
Customized exports are available in several formats including JSON, XML, HTML, SQL, Property Graph, RDF, CSV, XLSX. This example shows an HTML export, which is a static Web Site that will open on another window in your browser.
Infoloom Inc. — New York City — [email protected]