ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data.Knowledge Namespace / KnowledgeGraphNamedTypeCategory Enumeration
Example Example Version

KnowledgeGraphNamedTypeCategory Enumeration
Represents the category of a named type. The default is unspecified. Other options include entity, relationship, both entity and relationship, and provenance. Currently used to communicate search targets.

The categories supported by the Knowedge Graph is determined by KnowledgeGraph.GetSupportedSearchTargets.
Syntax
Members
MemberDescription
BothEntityRelationship Both entity and relationship.
Entity Entity.
Provenance Provenance.
Relationship Relationship.
Unspecified Unspecified.
Example
Submit a Text Search
//On the QueuedTask...
//and assuming you have established a connection to a knowledge graph
//...
//Construct a KG search filter. Search text uses Apache Lucene Query Parser
//syntax - https://lucene.apache.org/core/2_9_4/queryparsersyntax.html
var kg_sf = new KnowledgeGraphSearchFilter()
{
  SearchTarget = KnowledgeGraphNamedTypeCategory.Entity,
  SearchText = "Acme Electric Co.",
  ReturnSearchContext = true,
  MaxRowCount = 10 //Default is 100 if not specified
};

//submit the search - returns a KnowledgeGraphCursor
var e = 0;
using (var kg_rc = kg.SubmitSearch(kg_sf))
{
  //wait for rows to be returned from the server
  //note the "await"...
  while (await kg_rc.WaitForRowsAsync())
  {
    //Rows have been retrieved - process this "batch"...
    while (kg_rc.MoveNext())
    {
      //Get the current KnowledgeGraphRow
      using (var graph_row = kg_rc.Current)
      {
        //We are returning entities from this search
        var entity = graph_row[0] as KnowledgeGraphEntityValue;
        var entity_type = entity.GetTypeName();
        var record = new List<string>();
        //discover keys(aka "fields") dynamically via GetKeys
        foreach (var prop_name in entity.GetKeys())
        {
          var obj_val = entity[prop_name] ?? "null";
          record.Add(obj_val.ToString());
        }
        System.Diagnostics.Debug.WriteLine(
          $"{entity_type}[{e++}] " + string.Join(", ", record));
        //or use "Process a KnowledgeGraphRow Value" snippet
        //ProcessKnowledgeGraphRowValue(entity);
      }
    }
  }//WaitForRowsAsync
}//SubmitSearch
Inheritance Hierarchy

System.Object
   System.ValueType
      System.Enum
         ArcGIS.Core.Data.Knowledge.KnowledgeGraphNamedTypeCategory

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3.2 or higher.
See Also