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

In This Topic
    KnowledgeGraphNamedTypeCategory Enumeration
    In This Topic
    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