Configure a knowledge graph

When you create a knowledge graph, you can modify the default configuration. To begin the process and set general properties, see Create an investigation in a project.

You can configure a knowledge graph to allow users to edit the underlying data, configure how the knowledge graph data will be managed, and define how Document entities and HasDocument relationships will be supported. Some service-level parameters can also be configured. The configurable properties depend on your software version and whether the knowledge graph uses a hosted graph store or a NoSQL data store.

Configure knowledge graph

Follow these steps to configure operations and properties for the knowledge graph. These settings are stored as part of the definition of the ArcGIS Knowledge Server service that is created.

  1. On the Define Knowledge Graph page of the Create Investigation wizard, provide information on the General tab as described for creating a knowledge graph using the default configuration.

    Take note of the choice made under Data Stores as this affects how you can configure the knowledge graph.

  2. Click the Configuration tab. If necessary, click the Configure service tab Configure service below it.
  3. Under Operations, check the Enable editing check box to enable editing knowledge graph data.

    The owner of the knowledge graph and portal administrators can always edit its data. By default, other users cannot modify this knowledge graph's data unless editing is enabled.

  4. Choose the type of editing operations that are permitted for other users with sufficient privileges.

    Editing operations are described in the following table:

    Add

    Editors can add entities and relationships to the knowledge graph. They can define new entity types and relationship types, and add properties. They can define the geometry of a new entity by creating the entity on a map. This option is enabled by default. Once entities and relationships are created, the Update option must be enabled for editors to modify entities and relationships, their properties, and their geometries.

    Delete

    Editors can delete features. This option is enabled by default.

    Update

    When this option is enabled, the Properties and geometry option is enabled by default, allowing editors to update the properties of entities and relationships and the geometry of an entity. Choose Properties only to allow editors to update properties for existing entities and relationships only. They cannot modify the geometry of an existing entity.

    This option is not available if a NoSQL data store was selected on the General tab, and the User managed data option is selected.

    Note:

    After the knowledge graph is created, you can change its editing options in the Enterprise portal.

  5. Under Data store, choose how the data in the knowledge graph's NoSQL data store will be managed.

    This option is not available if the Hosted graph store option was selected on the General tab.

    With ArcGIS Enterprise 11.1 or later, you can create a knowledge graph based on a NoSQL data store using a Neo4j database. The knowledge graph can be configured to have either ArcGIS-managed or user-managed data in the Neo4j database.

    With ArcGIS Enterprise 11.2, you can create a knowledge graph based on a NoSQL data store using an ArangoDB database. The knowledge graph can only be configured to have ArcGIS-managed data in the ArangoDB database.

    ArcGIS managed

    ArcGIS Knowledge will create, manage, and delete the entities and relationships and define the data model of the graph items stored in the NoSQL database. The database must not be edited directly in Neo4j or ArangoDB. This option is enabled by default. A knowledge graph will only be created successfully with this setting if your NoSQL database is empty.

    User managed

    You must create, manage, and delete the entities and relationships and define the data model of the graph items using Neo4j. The knowledge graph is read-only when the Neo4j database is accessed by ArcGIS Knowledge. The Neo4j database is not required to be empty, but the database name and the names of data model types and properties must satisfy all naming restrictions.

    Note:

    The default setting for this option is ArcGIS managed, and the knowledge graphs created with that setting support other people editing data in the knowledge graph, as determined by the settings specified in the previous steps. However, if you choose the User managed option, the knowledge graph's data will be read-only. If you previously checked the Enable editing option, the option is automatically unchecked and all of the options related to editing will become unavailable on this tab.

  6. Configure the knowledge graph.

    Different options are available depending on which data store will be used to store the knowledge graph's content and how that content will be managed. In some cases, you cannot change the settings that will be used, but the settings remain visible and indicate how the knowledge graph will be configured. Options are described in the following table:

    Unique identifier

    All entities and relationships in the knowledge graph must have a unique string value that can be used to identify the graph item.

    • If the knowledge graph's data is stored in the hosted graph store, or if a NoSQL data store is used that will contain ArcGIS-managed data, this setting is not editable. All entity types and relationship types will have a property with the name globalid to store unique identifiers.
    • If the knowledge graph will use a NoSQL data store and it will contain user-managed data, you must configure this setting. Specify the property in the NoSQL data store that stores this value. For example, if the database uses a property named id, type the name for this property, id, in the Unique identifier text box. In this example, all entity types and relationship types in the knowledge graph must have a property named id.
    Enable search

    All knowledge graph data can be accessed with an openCypher query. However, you can only find graph items using a full-text search against their property values if search is enabled.

    • If the knowledge graph's data is stored in the hosted graph store, or if a NoSQL data store is used that will contain ArcGIS-managed data, this setting is not editable. In these cases, this option is checked and search is supported for the knowledge graph.
    • If the knowledge graph will use a NoSQL data store and it will contain user-managed data, this option is checked by default but you can change this setting. If you uncheck this option and try to search for an item, an openCypher query is used to find graph items whose properties contain the specified value. However, you will not be able to use Lucene syntax in the search string, including operators such as OR and LIKE. Also, you can't add an asterisk with a partial keyword, such as plan*, to leverage stemming or other full-text-based search capabilities to match all related words.
    Enable documents

    When documents are supported in a knowledge graph, each entity can be associated with websites and files that provide supporting material and you can store notes regarding the information in each document. This option indicates if documents can be added to the knowledge graph, and it is not editable.

    • If the knowledge graph's data is stored in the hosted graph store, or if a NoSQL data store is used that will contain ArcGIS-managed data, this option is checked and documents are supported.
    • If the knowledge graph will use a NoSQL data store and it will contain user-managed data, this option is not checked and documents are not supported.
    Enable provenance

    When provenance is supported in a knowledge graph, you can describe where its information originated. Each entity or relationship property value can reference a document in the knowledge graph, an external website or file, or text that explains the value's source. This option indicates if provenance can be added to the knowledge graph.

    • If the knowledge graph's data is stored in the hosted graph store, or if a NoSQL data store is used that will contain ArcGIS-managed data, this option is not checked by default but you can change the setting. If you check this option provenance is supported.
    • If the knowledge graph will use a NoSQL data store and it will contain user-managed data, this setting is not editable. The option is not checked and provenance is not supported.

    Note:

    After the knowledge graph is created, you can change its search and provenance options in the Enterprise portal.

Configure parameters

Complete the following steps to configure parameters for the knowledge graph. These settings are stored as part of the definition of the ArcGIS Knowledge Server service that is created.

  1. At the top of the Create Investigation wizard, under the Configuration tab, click Configure parameters Configure parameters.
  2. Under Properties, specify a value for Maximum records returned by server.

    This property specifies the number of graph items that can be returned by an openCypher query or when displaying data in an investigation, a map, or a link chart. A large number may result in slower performance. The default value is 10,000.

  3. Specify a value for Maximum records returned by server during search operation.

    This property specifies the number of graph items that can be returned by a search against the indexed properties of entities and relationships. A large number may result in slower performance. The default value is 2,000.

Configure documents

Complete the following steps to configure how documents are represented in the knowledge graph. These settings are stored as part of the definition of the ArcGIS Knowledge Server service that is created.

Note:

Documents cannot be added to knowledge graphs that use a NoSQL data store containing user-managed data.

Learn more about documents

  1. At the top of the Create Investigation wizard, under the Configuration tab, click Configure documents Document.
  2. In the Document Entity Type Name text box, type a name for the entity type in the data model representing documents that are referenced by the knowledge graph.

    The default value is Document. With the default value, when you add a document to a knowledge graph, a new entity is created for the Document entity type. If all documents will be photos, for example, you can change the name of this entity type to Photo.

  3. In the HasDocument Relationship Type Name text box, type a name for the relationship type in the data model that represents a relationship between an entity in the knowledge graph and a document associated with that entity.

    The default value is HasDocument. With the default value, when you add a document to a specific entity in the knowledge graph, such as a Person entity, a new relationship of the HasDocument relationship type is created between the Person entity and the Document entity. If you have provided a custom name for the entity type used to store documents you can change the name of this relationship type as well. For example, you can change the name of the relationship type to HasPhoto.

  4. Optionally, configure how the document entity type is defined.

    Some information is required or highly recommended for all documents in all knowledge graphs. A set of properties, listed below, is created by default for each document entity so you can provide this information. If you provide custom names for these properties, you will see those names when you define and explore documents in the investigation.

    text

    Any text in a document is extracted and stored in this property. The default property name is text.

    url

    The location of the document is stored in this property. The value can be a URL to a website or a document that is available on the internet, or the file path that can be used to access a document on the network. The default property name is url.

    keywords

    This property allows you to specify keywords that can help you search for the document. The default property name is keywords.

    name

    The file name of the document. For example, if you add a file named notes.txt to the knowledge graph, that file name is stored. The default property name is name.

    contentType

    The type of data contained by the referenced document is stored in this property as a Multipurpose Internet Mail Extensions (MIME) type. For example, if you add a simple text file to the knowledge graph, the value text/plain would be recorded. The default property name is contentType.

    title

    This property allows you to specify a title for the document. The default property name is title.

    metadata

    This property allows you to specify metadata describing the document. The default property name is metadata.

    fileExtension

    The file extension is recorded when the referenced document is a file. For websites, the file extension .htm is stored. The default property name is fileExtension.

    When the knowledge graph is created, the text you provide is used to identify the properties for the document entity type.

    Custom property names appear when you add a document.

Configure provenance

Complete the following steps to configure how provenance is stored in the knowledge graph. These settings are stored as part of the definition of the ArcGIS Knowledge Server service that is created.

Note:

Provenance cannot be added to knowledge graphs that use a NoSQL data store containing user-managed data.

Learn more about provenance

  1. At the top of the Create Investigation wizard, under the Configuration tab, click Configure provenance Provenance.
  2. In the Provenance Name text box, type a name that will be used to identify records that define the sources of information stored in the knowledge graph.

    The default value is Provenance. For example, the value provided in this setting appears when you browse an investigation's Meta Types in the Catalog pane and the catalog view, and in the investigation's Type column when you list provenance records.

  3. Optionally, configure how the properties of a provenance record are defined.

    Some information is required or highly recommended for all provenance records in all knowledge graphs. A set of properties, listed below, is created by default so you can provide this information for each provenance record. If you provide custom names for these properties, you will see those names when you define and explore provenance records in the investigation.

    instanceID

    This property stores the global ID value of the entity or relationship associated with the provenance record. The default property name is instanceID.

    sourceType

    The type of source material associated with this provenance record is stored in this property. The supported source types are Document, URL, and String. The default property name is sourceType.

    sourceName

    This property provides a name for the source material. When the sourceType is Document, the this value is set to the Document entity's name property. When the sourceType is URL or String, you can provide text such as the name of the website or the name of a person who was interviewed. The default property name is sourceName.

    source

    This property identifies the source of the information. The default property name is source.

    • When the sourceType is Document, the provenance record references a document that was previously added to the knowledge graph.
    • When the sourceType is URL, the value can be the location of a website or document on the internet or a file path that accesses a document on the network.
    • When the sourceType is String, the value is text where you can provide the information or instructions for accessing the source material.
    comment

    This property allows you to write a note about the source material or its relevance to the entity or relationship associated with this provenance record. The default property name is comment.

    typeName

    This property stores the type of entity or relationship type associated with the provenance record. For example, if the provenance record establishes the name of a person, the entity type name Person would be stored. The default property name is typeName.

    propertyName

    This property identifies the property of the entity or relationship associated with the provenance record. For example, if the provenance record establishes the birth date of a person, the property name birthDate would be stored. The default property name is propertyName.

    When the knowledge graph is created, the text you provide is used to identify the provenance record's properties.

    Custom property names appear when you view a provenance record.

  4. Optionally, configure how the source types of a provenance record are defined.

    Three types of sources are supported when defining a provenance record, which are listed below. If you provide custom names for these types, you will see those names when you define and explore provenance records in the investigation. These source type values are stored in the provenance record's sourceType property.

    Document

    When this type is selected, the provenance record references a Document in the knowledge graph. The default name for this sourceType value is Document.

    URL

    When this type is selected, the provenance record stores the location where the source document can be found on the internet or on the network. The default name for this sourceType value is URL.

    String

    When this type is selected, you can type a the information, a description of the source itself, or instructions for accessing the source material. The default name for this sourceType value is String.

    When the knowledge graph is created, the text you provide is used to identify the type of source material described by a provenance record.

    Custom source type names appear when you add a provenance record.