Configure Knowledge Graph

After you install Knowledge Graph, you must configure the edges that you want to store in your graph.

You configure Knowledge Graph in the configuration file. By default, this has the name graphserver.cfg.

For details of all the configuration parameters that you can set in the Knowledge Graph configuration file, refer to the Knowledge Graph Component Reference.

Configure Edge Types

Knowledge Graph creates nodes and edges from your content according to your configuration. You must configure the edges in the Knowledge Graph configuration file before you index your data.

The [Edges] section contains a list of your edge types. You can also use this section to configure global settings for edge weighting. For more information, see Configure Edge Weights.

To configure an edge type

  1. Open an example of the type of document that you want to index into Knowledge Graph to create your graph.

  2. Find the fields that represent the kind of connections that you want to chart. For example:

    • In an e-mail document, you might want to create links between the TO and FROM fields to create a graph that describes e-mail connections in your organization.

    • In a wikipedia article, you might want to create a link between the title of the document and a list of other pages that the article links to. In this case, you might use CFS to add a field to your documents, containing the list of links.

  3. Open the Knowledge Graph configuration file in a text editor.

  4. Find the [Edges] configuration section, or create it if it does not exist.

  5. In the list of types, add a new parameter to the list for each type that you want to create. The parameter name is the next value in the zero-based list of types. The value is the edge type. For example:

    [Edges]
    ...
    0=emailed
    1=corecipient
  6. Create a new configuration section with the same name as your edge type. For example:

    [emailed]
    
    [corecipient]
    
  7. For your new edge type, define the fields that you want to use to create nodes. You can use one of the following configuration parameter combinations to create nodes:

    • Set Source to a comma-separated list of fields whose values you want to use as source nodes. Set Target to a comma-separated list of fields whose values you want to use as target nodes. When a Source field and a Target field exist in a document, Knowledge Graph creates an edge between values in the source field and values in the target field, and the values become nodes. For example:

      [emailed]
      Source=FROM
      Target=TO,CC
    • Set Nodes to a comma-separated list of fields whose values you want to use as nodes. When these fields exist in a document, Knowledge Graph creates two edges (one in each direction) between each pair of nodes. For example:

      [corecipient]
      Nodes=CC,TO
  8. Save the configuration file and restart Knowledge Graph for your changes to take effect.

Configure Edge Weights

Knowledge Graph stores a weight attribute for each edge. You can use this value to adjust how Knowledge Graph calculates the shortest path. You can use the following weighting methods for your graph:

  • None. Do not assign weights to edges.

  • Field. Use the value of a specified document field as the weight. You can configure the field to use, and define your own weight values in documents, which Knowledge Graph uses to set the weight edge attribute when it creates an edge.

  • Shortstep. Use the shortstep method to automatically assign weights for all edges. This method determines the similarity of a pair of nodes by comparing the sets of out-neighbors for each node. If the nodes are identical, it assigns a weight of zero to the edge. Edges that connect nodes that are less similar have higher weights, up to infinity for distinct nodes.

For more information about these weighting methods, refer to the Knowledge Graph Component Reference.

To configure weighting for your edges

  1. Open the Knowledge Graph configuration file in a text editor.

  2. In the [Edges] section, set the Weighting parameter to the weighting method that you want to use. For example:

    [Edges]
    Weighting=Field
  3. If you have set Weighting to Field, you must define the field that you want to use for weighting, by setting the WeightFields parameter to the name of the field.

    NOTE: If you are not using field weighting, do not set the WeightFields parameter. If you set the WeightFields parameter when Weighting is not set to Field, Knowledge Graph logs an error and exits.

    • To set a field to use for weighting for all your edge types, set the WeightFields parameter in the [Edges] section. You can use this setting as a global value for all your edge types, or as a default value, which you can override for individual edge types. For example:

      [Edges]
      Weighting=Field
      WeightFields=PRIORITY
    • To set a field to use for weighting for a particular edge type, set the WeightFields parameter in the edge type configuration section. This setting overrides the WeightFields parameter in the [Edges] section, if it is set there. For example:

      [emailed]
      WeightFields=CONTACTWEIGHT
  4. Save the configuration file and restart Knowledge Graph for your changes to take effect.
  5. (Optional) If you have changed the weighting configuration and you already have documents indexed, you can use the RegenerateWeights action to update the weighting in your graph. For more information, refer to the Knowledge Graph Component Reference.

Configure the Knowledge Graph Index

Knowledge Graph stores index data in a file on disk. You can configure the name and format of this file by modifying parameters in the [Persistence] configuration section. For example:

[Persistence]
Filename=email_graph.bin

For more information, refer to the Knowledge Graph Component Reference.